grok 是一个工具,可以用来解析非结构化的日志文件,可以使其结构化,同时方便查询,grok 被logstash 大量依赖
同时社区也提供了一个prometheus 的exporter 可以方便的进行log 指标,暴露为promethesu 的标准数据格式,当
然谷歌的mtail 也是一个不错的选择,同时性能很不错,扩展也很方便(提供了自己的处理语言),对于比较熟悉
logstash 的同学grok 是一个很不错的选择。
以下演示一个简单的基于grok exporter的log 统计分析功能

环境准备

  • docker-compose 文件
 
version: "3.7"
services: 
  grafana:
    image: grafana/grafana
    ports:
    - "3000:3000"
  prometheus:
    image: prom/prometheus
    volumes:
    - "./prometheus.yml:/etc/prometheus/prometheus.yml"
    ports:
    - "9090:9090" 
  grok:
    image: dalongrong/grok-exporter
    volumes: 
    - "./example:/opt/example"
    - "./grok.yaml:/grok/config.yml"
    ports: 
    - "9144:9144"
  • grok 配置文件说明
global:
    config_version: 2
input:
    type: file
    path: /opt/example/examples.log
    readall: true
grok:
    patterns_dir: ./patterns
metrics:
    - type: counter
      name: grok_example_lines_total
      help: Counter metric example with labels.
      match: '%{DATE} %{TIME} %{USER:user} %{NUMBER}'
      labels:
          user: '{{.user}}'
server:
    port: 9144
  • promethesu 静态配置文件
scrape_configs:
  - job_name: grok
    metrics_path: /metrics
    scrape_interval: 10s
    scrape_timeout: 10s
    static_configs:
      - targets: ['grok:9144']
  • log 日志文件格式
30.07.2016 14:37:03 alice 1.5
30.07.2016 14:37:33 alice 2.5
30.07.2016 14:43:02 bob 2.5
30.07.2016 14:45:59 alice 2.5
30.07.2016 14:46:59 dalong 2.5
30.07.2016 14:47:59 dalong 2.5
30.07.2016 14:48:59 dalong 2.5

启动&&测试

  • 启动
docker-compose up -d

  • prometheus web console

  • grafana 图表

说明

当前支持的metrics 有计数,仪表板,直方图,摘要,是一个不错的工具,作者当前也在开发支持多日志文件的处理

参考资料

https://github.com/fstab/grok_exporter
https://github.com/google/mtail
https://github.com/rongfengliang/grok-exporter-docker-compose

最新文章

  1. ssh无密码通信设置
  2. 纯css3实现旋转的太极图
  3. C#算法之向一个集合中插入随机不重复的100个数
  4. Android开发涉及有点概念&相关知识点(待写)
  5. Table AdvanceTable针对表内行禁用multipleSelection , singleSelection
  6. Kafka server的的停止
  7. 黑马程序员-------.net基础知识一
  8. LCIS tyvj1071 DP优化
  9. Linq中的多表左联,详细语句
  10. 01-Java学习笔记
  11. C#表达式和语句
  12. dp背包问题
  13. 剑指Offer题解索引
  14. mysql-约束介绍
  15. (String中)正则表达式使用如下
  16. Centos 解决SSH 免密码登录 以及Crontab制作定时SSH自动登录和关闭的脚本
  17. 使用GoldenGate初始化的两种方式
  18. LA3641 Leonardo's Notebook
  19. [转]SQL Server 中WITH (NOLOCK)浅析
  20. C++第一次作业

热门文章

  1. SPA单页面应用和MPA多页面应用(转)
  2. Oracle批量、大量Update方法总结
  3. Tomcat 路由请求的实现 Mapper
  4. FindWindow和FindWindowEx函数使用
  5. 创建和使用CI / CD管道【译】【原】
  6. Java的Annnotation (注解)
  7. 2019 游族网络java面试笔试题 (含面试题解析)
  8. Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基础文件配置,Web框架的本质,服务器程序和应用程序(wsgiref服务端模块,jinja2模板渲染模块)的使用
  9. UIPath RPA 自动化脚本 机器人从入门到精通
  10. 3.Javascript实现instanceof