ELK日志平台实战

ELK日志平台实战 ELK日志平台实战引言ELKElasticsearch、Logstash、Kibana是一套完整的日志采集、存储、分析和可视化解决方案。架构设计1.1 ELK架构┌─────────────────────────────────────────────────────────┐ │ ELK Stack │ │ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │Logstash │ │ Beats │ │ Kafka │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────┬────┘ └────┬────┘ └────┬────┘ │ │ │ │ │ │ │ │ │ │ │ └────────────┴────────────┴───────┘ │ │ │ │ │ │ │ ▼ │ │ │ ┌─────────────────────────────────────────────┐ │ │ │ │ Elasticsearch │ │ │ │ └─────────────────────────────────────────────┘ │ │ │ │ │ │ │ ▼ │ │ │ ┌─────────────────────────────────────────────┐ │ │ │ │ Kibana │ │ │ │ └─────────────────────────────────────────────┘ │ │ └─────────────────────────────────────────────────────┘Logstash配置2.1 Logstash Pipeline# logstash.conf input { beats { port 5044 } file { path /var/log/*.log start_position beginning } } filter { if [message] ~ /ERROR/ { mutate { add_tag [error] } } date { match [timestamp, ISO8601] target timestamp } grok { match { message %{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:level} %{GREEDYDATA:message} } } } output { elasticsearch { hosts [localhost:9200] index logs-%{YYYY.MM.dd} } }Beats配置3.1 Filebeat配置# filebeat.yml filebeat.inputs: - type: log enabled: true paths: - /var/log/*.log fields: service: myapp environment: production output.elasticsearch: hosts: [localhost:9200] index: filebeat-%{yyyy.MM.dd}Kibana可视化4.1 创建仪表板Kibana提供了丰富的可视化功能包括时间序列图表饼图和柱状图地图可视化日志分析视图总结ELK日志平台是现代应用运维的重要工具通过完整的日志链路可以高效地进行日志分析、监控和故障排查。