使用grok exporter 做为log 与prometheus 的桥
2024-08-25 06:02:00
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
- 配置grafana
打开http://localhost:3000 按照提示操作即可 - prometheus metrics 查看
- prometheus web console
- grafana 图表
说明
当前支持的metrics 有计数,仪表板,直方图,摘要,是一个不错的工具,作者当前也在开发支持多日志文件的处理
参考资料
https://github.com/fstab/grok_exporter
https://github.com/google/mtail
https://github.com/rongfengliang/grok-exporter-docker-compose
最新文章
- ssh无密码通信设置
- 纯css3实现旋转的太极图
- C#算法之向一个集合中插入随机不重复的100个数
- Android开发涉及有点概念&;相关知识点(待写)
- Table AdvanceTable针对表内行禁用multipleSelection , singleSelection
- Kafka server的的停止
- 黑马程序员-------.net基础知识一
- LCIS tyvj1071 DP优化
- Linq中的多表左联,详细语句
- 01-Java学习笔记
- C#表达式和语句
- dp背包问题
- 剑指Offer题解索引
- mysql-约束介绍
- (String中)正则表达式使用如下
- Centos 解决SSH 免密码登录 以及Crontab制作定时SSH自动登录和关闭的脚本
- 使用GoldenGate初始化的两种方式
- LA3641 Leonardo's Notebook
- [转]SQL Server 中WITH (NOLOCK)浅析
- C++第一次作业
热门文章
- SPA单页面应用和MPA多页面应用(转)
- Oracle批量、大量Update方法总结
- Tomcat 路由请求的实现 Mapper
- FindWindow和FindWindowEx函数使用
- 创建和使用CI / CD管道【译】【原】
- Java的Annnotation (注解)
- 2019 游族网络java面试笔试题 (含面试题解析)
- Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基础文件配置,Web框架的本质,服务器程序和应用程序(wsgiref服务端模块,jinja2模板渲染模块)的使用
- UIPath RPA 自动化脚本 机器人从入门到精通
- 3.Javascript实现instanceof