PHP慢日志 ELK+FileBeat收集

10 篇文章 0 订阅
7 篇文章 0 订阅

本文主要讲述的是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_filename\s+=\s+%{DATA:script_filename}\n%{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添加响应的索引


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker ELK是指使用Docker容器化技术搭建的ELK(Elasticsearch、Logstash和Kibana)日志分析平台。其中,FilebeatELK中的一个组件,用于收集和传输日志数据。 在使用Docker ELK搭建平台时,你可以通过执行命令"Docker run"来启动Filebeat容器。启动命令示例如下: ``` docker run -d -u root --name filebeat --net somenetwork -v /var/log/logapp:/var/log/logapp:rw -v /mydata/docker/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro elastic/filebeat:7.16.1 ``` 这个命令会在Docker中启动一个名为"filebeat"的容器,并将日志文件夹和配置文件夹挂载到容器中。 如果需要启动多个Filebeat容器,只需要指定不同的外挂地址即可,这样可以保持架构图的一致性。示例命令如下: ``` docker run -d --network elk-net --ip 172.22.1.5 --name=filebeat -v /mydata/filebeat/log/:/usr/share/filebeat/logs -v /mydata/filebeat/config/filebeat.yml:/usr/share/filebeat/filebeat.yml docker.elastic.co/beats/filebeat:7.4.2 ``` 这个命令会在Docker中启动一个名为"filebeat"的容器,并将日志文件夹和配置文件夹挂载到容器中。 要导入日志进行测试,你可以创建一个Filebeat配置文件filebeat.yml。可以使用以下命令创建配置文件: ``` touch /mydata/filebeat/config/filebeat.yml ``` 这个命令会在指定路径下创建一个名为filebeat.yml的配置文件。然后,你可以根据需要进行相应的配置,包括指定日志路径、过滤条件等。 综上所述,Docker ELK中的Filebeat是用于收集和传输日志数据的组件,在搭建平台时需要执行相应的启动命令,并可以通过创建配置文件来进行必要的配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [docker安装elk + filebeat(版本:7.16.1)](https://blog.csdn.net/paidaxinga_/article/details/122210062)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [docker搭建elk+filebeat](https://blog.csdn.net/qq_31745863/article/details/129986232)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值