PHP慢日志 ELK+FileBeat收集
本文主要讲述的是php慢日志收集至elasticsearch
收集流程:
本文不提供安装教程
主要配置:
Filebeat配置
filebeat 涉及多行配置所以要使用 multiline
pattern:正则表达式
negate:true 或 false;默认是false,匹配pattern的行合并到上一行;true,不匹配pattern的行合并到上一行
match:after 或 before,合并到上一行的末尾或开头
filebeat.prospectors: - input_type: log paths: # 慢日志路径 - /usr/local/php-5.3.27/var/log/pregnancy.log.slow # 多行匹配规则 # 匹配 [数字数字 格式开头的行 multiline.pattern: "[[0-9]{2}" multiline.negate: true multiline.match: after tail_files: true output.kafka: hosts: ["192.168.99.253:9092"] topic: "php-slow-log" # kafka队列会自动生成 compression: gzip
logstash配置
input { kafka { zk_connect => "192.168.99.210:2181" topic_id => "php-slow-log" group_id => "logstash18" consumer_threads => "8" } } filter { grok { match => { "message" => "^[%{DATA:time_local}].*?script_filenames+=s+%{DATA:script_filename} %{GREEDYDATA:msg}" } add_field => {"hostname" => "%{[beat][hostname]}"} remove_field => ["type","_id","input_type","tags","message","beat","offset"] } } elasticsearch { hosts => ["192.168.99.11:9200"] index => "php-slow-log-%{+YYYY.MM.dd}" } }
ElasticSearch
可以在插件中检查索引是否生成
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。