JAVA使用Grafana和Loki抓取聚合日志

编程入门 行业动态 更新时间:2024-10-15 20:20:47

JAVA使用Grafana和Loki抓取聚合<a href=https://www.elefans.com/category/jswz/34/1770796.html style=日志"/>

JAVA使用Grafana和Loki抓取聚合日志

Grafana和Loki抓取聚合日志

  • 适用范围
  • 配置
  • 常见问题
  • 参考文章

适用范围

  • Grafana是日志看板
  • Loki是Grafana的一个插件用于收集日志
  • promtail是Loki配套的抓取工具,放在目标服务器抓取日志

配置

  1. 日志服务器安装Grafana,傻瓜式下一步
  2. 日志服务器启动Loki(loki-windows-amd64.exe)

    控制台CMD输入启动语句:
.\loki-windows-amd64.exe --config.file=loki-local-config.yaml
  • loki-local-config.yaml配置文件:
auth_enabled: falseserver: http_listen_port: 3100ingester: lifecycler: address: 127.0.0.1ring:kvstore: store: inmemoryreplication_factor: 1final_sleep: 0schunk_idle_period: 5mchunk_retain_period: 30smax_transfer_retries: 0schema_config: configs: - from: 2022-02-15store: boltdbobject_store: filesystemschema: v11index: prefix: index_period: 168hstorage_config: boltdb: directory: /tmp/loki/indexfilesystem: directory: /tmp/loki/chunkslimits_config: enforce_metric_name: falsereject_old_samples: truereject_old_samples_max_age: 168hchunk_store_config: max_look_back_period: 0stable_manager: retention_deletes_enabled: falseretention_period: 0s

说明:http_listen_port: 3100:Loki端口3100,意思就是抓取软件把日志发送到Loki,Loki其实是一个服务端程序,Loki可以接受多个抓取端(promtail-windows-amd64.exe)的发送

  1. 配置Loki
  • 在Grafana中配置Loki
  • 浏览器打开 127.0.0.1:3000
    左右菜单->Connections->Data sources->Add new connection->找到Loki->配置Loki服务地址127.0.0.1:3100

    点击最下面save &text,如果出现提示,意思是抓取软件未配置,现在保存,之后配置抓取即可
  1. 开放服务器端口
    Grafana端口是3000,Loki端口是3100,分别打开防火墙开发给外网。
  2. 目标服务器配置抓取软件promtail

    CMD启动:
.\promtail-windows-amd64.exe --config.file=promtail-local-config.yaml
  • promtail-local-config.yaml
server: http_listen_port: 9080grpc_listen_port: 0positions: filename: /tmp/positions.yamlclients: - url: http://127.0.0.1:3100/loki/api/v1/pushscrape_configs: 
#第1个监控日志目录
- job_name: job1static_configs: - targets:- 127.0.0.1labels: job: the_job1__path__: C:\Users\*.log
#第2个监控日志目录      
- job_name: job2static_configs: - targets:- 127.0.0.1labels: job: the_job2__path__: C:\ABC\*.log

说明:url: http://127.0.0.1:3100/loki/api/v1/push:修改成Loki所在日志服务器地址
可以配置多个抓取地址,分别命名即可
6. Grafana中查看日志
菜单->探索->选择抓取上设置的job名称,配置过滤字段(可以不填)->点击run query

常见问题

  1. 抓取软件promtail打开异常:看看日志服务器防火墙有没有放出端口
  2. Grafana显示的是全英文:配置中选择中文语言
  3. RUN后什么都没有:看看job名字有没有正确,路径是否正确
  4. 一条日志分多行显示:配置log4j2日志格式,不要换行
//使用replace替换换行符\r\n
//原默认配置:(大概第六行)
<property name="log.layout">[%d{HH:mm:ss:SSS}] [%p] %c{1} - %t%n</property>
//修改后配置:
<property name="log.layout">[%d{HH:mm:ss:SSS}] [%p] %c{1} - %replace{%m}{[\r\n]+}{~~}%n</property>
  1. 日志出现中文乱码:配置log4j2使用utf-8输出日志
//在log4j2中PatternLayout后添加:charset="UTF-8" <RollingFile name="artery-info" fileName="${logbasedir}/artery-info.log" filePattern="${logbasedir}/%d{yyyy-MM-dd}/artery-info-%i.log"><Filters><ThresholdFilter level="INFO" /><ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL" /></Filters><PatternLayout charset="UTF-8" pattern="${log.layout}" /><Policies><TimeBasedTriggeringPolicy /><SizeBasedTriggeringPolicy size="100 MB" /></Policies>
</RollingFile>

参考文章

  • .html

更多推荐

JAVA使用Grafana和Loki抓取聚合日志

本文发布于:2023-11-15 15:29:27,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1601989.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:日志   JAVA   Grafana   Loki

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!