牛骨文教育服务平台(让学习变的简单)
博文笔记

PHP慢日志 ELK+FileBeat收集

创建时间:2017-05-02 投稿人: 浏览次数:136

本文主要讲述的是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

可以在插件中检查索引是否生成


kibana添加响应的索引


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。