使用grok exporter 做为log 与prometheus 的桥

摘要:
Grok是一种工具,可用于解析非结构化日志文件,使其结构化,并方便查询。原木仓库严重依赖原木。同时,该社区还提供了一个prometheus导出器,它可以轻松地执行日志指标,并将其暴露在prometheus的标准数据格式中。当然,谷歌的mtail也是一个不错的选择,具有良好的性能和方便的扩展,Grok对于熟悉logstash的学生来说是一个很好的选择。

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

使用grok exporter 做为log 与prometheus 的桥第1张

  • prometheus web console

使用grok exporter 做为log 与prometheus 的桥第2张

  • grafana 图表

使用grok exporter 做为log 与prometheus 的桥第3张

说明

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

参考资料

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

免责声明:文章转载自《使用grok exporter 做为log 与prometheus 的桥》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Latex 中文支持CJK的安装与配置UMeditor百度富文本编辑器的使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ELK 架构之 Logstash 和 Filebeat 安装配置

上一篇:ELK 架构之 Elasticsearch 和 Kibana 安装配置 阅读目录: 1. 环境准备 2. 安装 Logstash 3. 配置 Logstash 4. Logstash 采集的日志数据,在 Kibana 中显示 5. 安装配置 Filebeat 6. Filebeat 采集的日志数据,在 Kibana 中显示 7. Filebeat...

一套完整的中小级别的企业级监控prometheus

一   相信有很多博客都已经详细的说明了prometheus的作用以及相关的作用以及原理,这里不在赘述,仅仅从部署和配置2个方面来记录一下,为公司产品组搭建的prometheus告警平台的过程以及踩过的坑,废话不多说,直接开始搭建部署,需要在一台服务器上面搭建prometheus+grafana+alertmanager+pushgateway,其余被监控...

Grafana使用阿里云短信的报警实现

1、阿里云短信服务API2、Jenkins-plugin:Generic Webhook Trigger Plugin 阿里云 下载 阿里云短信服务SDK   ( # python setup.py install ) 创建短信服务ACCESS_KEY_ID Grafana 产生报警信息 将报警信息发送给Jenkins的webhook接口...

function邮件php smtp邮件发送代码

最近研究function邮件,稍微总结一下,以后继续补充: <?php error_reporting(E_ALL ^ E_NOTICE); ##########服务器参数设置################ $smtpserver = "smtp.163.com";//SMTP服务器 $smtpserverport = 25;//SMTP服务器端口...

Prometheus+Grafana监控mysql主从故障告警

因业务需求,mysql主从常常出现同步故障,故研究了Prometheus来做mysql主从同步状态监控报警。 1 Prometheus介绍 1.1什么是Prometheus? Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。...

Monkey测试结果分析

一. 初步分析方法   Monkey测试出现错误后,一般的差错步骤为以下几步:   1、 找到是monkey里面的哪个地方出错   2、 查看Monkey里面出错前的一些事件动作,并手动执行该动作   3、 若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样   一般的测试结果分析:   1、 ANR问题:在日志中搜...