当前位置:   article > 正文

通过kafka和filebeat收集日志 再保存到clickhouse 最后通过grafana展现_clickhouse日志收集

clickhouse日志收集

日志就是一个大数据库 

使用到

golang

clickhouse kafka filebeat grafana 

filebeat

filebeat是通过docker部署的,把要收集的日志目录持到容器中,filebeat自动读取文件并送到kafka中去.日志格式为json.filebeat按行读取

通过docker-compose部署filebeat 文件如下

  1. # filebeat的docker-compose文件
  2. version: '3'
  3. services:
  4. myFileBeat:
  5. image: elastic/filebeat:8.3.3
  6. restart: always
  7. container_name: filebeat01
  8. hostname: filebeat01
  9. user: root
  10. environment:
  11. - TZ=Asia/Shanghai
  12. volumes:
  13. - $PWD/data_lib:/var/lib/filebeat:rw #存放日志文件读取偏移量
  14. - $PWD/data_data:/usr/share/filebeat/data:rw #存放日志文件读取偏移量
  15. - $PWD/data_logs:/usr/share/filebeat/logs:rw #存放filebeat本身的日志
  16. - $PWD/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro #filebeat配置文件
  17. - $PWD/crts:/crts:ro #连接kafaka使用的证书
  18. - /opt/appName/logs:/logs/appName:ro #要收集的日志地址

 filebeat的配置文件如下

filebeat.inputs:
  - type: log
    id: myAppLog
    enabled: true
    encoding: utf-8
    paths:
      - /logs/*/*.log       #可以监控一整个目录及子目录
    fields:
      tag: 'myNewApp'    #自定义tag 这个tag会随消息传递

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false

setup.template.settings:
  index.number_of_shards: 2

output.kafka:
  # 连接到kafka的配置 这里通过证书进行客户端认证
  hosts: [ "kafka01.example.top:9092" ]
  topic: all_log
  partition.round_robin:
    reachable_only: true
  ssl.enabled: true
  ssl.key: "/crts/filebeat.key"
  ssl.certificate: "/crts/filebeat.crt"
  ssl.certificate

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/587507
推荐阅读
相关标签
  

闽ICP备14008679号