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

news2024/11/28 0:41:59

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: false
 
server: 
   http_listen_port: 3100
 
ingester: 
  lifecycler: 
    address: 127.0.0.1
    ring:
      kvstore: 
        store: inmemory
      replication_factor: 1
    final_sleep: 0s
  chunk_idle_period: 5m
  chunk_retain_period: 30s
  max_transfer_retries: 0
 
schema_config: 
  configs: 
    - from: 2022-02-15
      store: boltdb
      object_store: filesystem
      schema: v11
      index: 
        prefix: index_
        period: 168h
 
storage_config: 
  boltdb: 
    directory: /tmp/loki/index
 
  filesystem: 
    directory: /tmp/loki/chunks
 
limits_config: 
  enforce_metric_name: false
  reject_old_samples: true
  reject_old_samples_max_age: 168h
 
chunk_store_config: 
  max_look_back_period: 0s
 
table_manager: 
  retention_deletes_enabled: false
  retention_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: 9080
  grpc_listen_port: 0
 
positions: 
  filename: /tmp/positions.yaml
 
clients: 
  - url: http://127.0.0.1:3100/loki/api/v1/push
 
scrape_configs: 
#第1个监控日志目录
- job_name: job1
  static_configs: 
  - targets:
      - 127.0.0.1
    labels: 
      job: the_job1
      __path__: C:\Users\*.log
#第2个监控日志目录      
- job_name: job2
  static_configs: 
  - targets:
      - 127.0.0.1
    labels: 
      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>

参考文章

  • https://blog.csdn.net/q1564/article/details/82986983
  • https://www.saoniuhuo.com/question/detail-2167512.html
  • https://blog.csdn.net/cainiaosl/article/details/122514287
  • https://blog.csdn.net/JineD/article/details/127092849
  • https://blog.csdn.net/yucaifu1989/article/details/125018248

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1188189.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CRM系统中的客户保留是什么意思?有多少客户可以留下来?

一家企业&#xff0c;在销售过程中有多少客户是有效的&#xff1f;又有多少客户可以留下来&#xff1f;如果企业只顾着开发新客户&#xff0c;而忽略了客户保留&#xff0c;那么将会造成资源的浪费。那么CRM系统中的客户保留是什么意思&#xff1f; 什么是客户保留&#xff1f…

单调栈【2023年最新】

做题的时候看到了单调栈&#xff0c;但是不知道是个什么玩意&#xff0c;记录一下吧。 单调栈含义 单调栈是一种特殊的数据结构&#xff0c;用于解决一些与单调性相关的问题。它的基本含义是在栈的基础上&#xff0c;维护一个单调递增或单调递减的栈。 在单调递增栈中&#…

caffe搭建squeezenet网络的整套工程

之前用pytorch构建了squeezenet&#xff0c;个人觉得pytorch是最好用的&#xff0c;但是有的工程就是需要caffe结构的&#xff0c;所以本篇也用caffe构建一个squeezenet网络。 数据处理 首先要对数据进行处理&#xff0c;跟pytorch不同&#xff0c;pytorch读取数据只需要给数据…

第六章《凸优化核心过程:真正搞懂梯度下降过程》

优化问题可以分为凸优化问题和非凸优化问题&#xff0c;凸优化问题是指定义在凸集中的凸函数最优化的问题&#xff0c;典型应用场景就是 目标函数极值问题的求解。凸优化问题的局部最优解就是全局最优解&#xff0c;因此 机器学习中很多非凸优化问题都需要被转化为等价凸优化问…

【链接装载与库】动态链接(下)

动态链接 》上篇《 延迟绑定 (PLT) 动态链接的确有很多优势&#xff0c;比静态链接要灵活得多&#xff0c;但它是以牺牲一部分性能为代价的。主要原因是动态链接下对于全局和静态的数据访问都要进行复杂的GOT定位&#xff0c;然后间接寻址&#xff1b;对于模块间的调用也要先…

Go RabbitMQ简介 使用

RabbitMQ简介 RabbitMQ 是一个广泛使用的开源消息队列系统&#xff0c;它实现了高级消息队列协议&#xff08;AMQP&#xff09;标准&#xff0c;为分布式应用程序提供了强大的消息传递功能。RabbitMQ 是 Erlang 语言编写的&#xff0c;具有高度的可扩展性和可靠性&#xff0c;…

普洱茶上市?澜沧古茶通过港股聆讯

近日&#xff0c;澜沧古茶成功通过港交所聆讯&#xff0c;随后在11月7日披露了相关资料集。该公司即将在港交所主板上市&#xff0c;此次上市由中信建投国际和招商证券国际担任联席保荐人。据了解&#xff0c;澜沧古茶或将成为内地茶企第一股&#xff0c;也将成为“普洱茶第一股…

el-form-item的label的长度单独改掉,用vue3样式穿透的写法,加上css选择器查找特定的id拿到元素

为了让这个会员卡号这几个字和下面的表格对齐&#xff0c;需要改el-form-item的label的长度 如果直接改el-form的label-width,那么所有的el-form-item的label都会改&#xff0c;我不希望这样 我希望只改第1个会员卡号的label长度 给这个el-form-item添加一个id :deep(.el-for…

漏洞复现--泛微E-Office信息泄露(CVE-2023-2766)

免责声明&#xff1a; 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直…

xshell隧道设置

现在有远程外网地址 120.120.120.120和另一台内网地址192.168.1.110两台cvm 但是192.168.1.110 无法直接通过外网地址访问, 需要通过120.120.120.120建立隧道来连接 需要访问192.168.1.110 机器的3306端口, 可以这么做 将192.168.1.110 的3306映射到本地13306端口 1.连接外网…

YOLOv8-Seg改进:多尺度空洞注意力(MSDA),增强局部、稀疏提取特征能力

🚀🚀🚀本文改进: 新的注意力机制——多尺度空洞注意力(MSDA)。MSDA 能够模拟小范围内的局部和稀疏的图像块交互; 如何在OLOv8-seg下使用:1)作为注意力机制放在各个网络位置;2)与C2f结合替代原始的C2f 🚀🚀🚀YOLOv8-seg创新专栏:http://t.csdnimg.cn/KLS…

人工智能辅助职业教育发展——开启教育新时代

人工智能辅助职业教育发展——开启教育新时代 随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;逐渐渗透到各行各业&#xff0c;并在许多领域发挥着重要作用。如今&#xff0c;AI的应用已经延伸到职业教育领域&#xff0c;为培养高素质人才提供了新的可能和动…

用户交互引导大模型生成内容特征,LLM-Rec框架助力个性化推荐!

欢迎来到魔法宝库&#xff0c;传递AIGC的前沿知识&#xff0c;做有格调的分享❗ 喜欢的话记得点个关注吧&#xff01; 今天主要和大家分享一篇使用大语言模型做数据增强来提升推荐系统性能的研究 标题&#xff1a; LLM-Rec: Personalized Recommendation via Prompting Large …

2023软件测试必问的100个面试题【含答案】

一、测试理论 1.什么是软件测试&#xff1f; 答&#xff1a;软件测试是通过执行预定的步骤和使用指定的数据&#xff0c;以确定软件系统在特定条件下是否满足预期的行为。 2.测试驱动开发&#xff08;TDD&#xff09;是什么&#xff1f; 答&#xff1a;测试驱动开发是一种开…

基于情感分析+聚类分析+LDA主题分析对服装产品类的消费者评论分析(文末送书)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

MKL.NET:为.NET开发者提供高性能数学计算支持的开源库

目录 01 项目简介02 主要功能03 项目结构04 项目地址 MKL是英特尔推出的一套功能强大、性能优化的数学库&#xff0c;主要是采用C/C编写的。今天给大家推荐一个MKL的.Net版本&#xff0c;让我们无需与C/C打交道&#xff0c;方便我们集成到应用开发中去。 01 项目简介 MKL.NET…

智能机器人云控平台

智能机器人云控平台主要是通过打造一个低速固定场景下的机器人自主完成既定作业的模式。整体平台融合的自动化驾驶感知终端&#xff0c;物联网通信&#xff0c;数据接入中心&#xff0c;数据管理中心&#xff0c;模型中心及开放中心等&#xff0c;以一个云平台来掌控多个多种不…

ElementUI的Dialog弹窗实现拖拽移动功能

实现ElementUI的Dialog弹窗可以拖拽移动 实现步骤&#xff1a; 1.创建自定义指令 在utils文件夹下新建文件夹 utils/directive/el-dragDialog/index.js import drag from ./dragconst install function(Vue) {Vue.directive(el-drag-dialog, drag) }if (window.Vue) {windo…

电机应用-步进电机

步进电机&#xff08;脉冲电机&#xff09; 基于最基本的电磁铁原理&#xff0c;是一种可以自由回转的电磁铁&#xff0c;其工作原理是依靠气隙磁导的变化来产生电磁转矩。 由于步进电机是一个可以把电磁脉冲转换成机械运动的装置&#xff0c;具有很好的数据控制特性&#xff0…

解决问题:IDEA启动微服务项目,显示Loaded classes are up to date. Nothing to reload.

先说结论&#xff0c;再讲相声&#xff1a; 开启Shorten Command Line 选择JARmanifest 今天启动微服务&#xff0c;就有这么寸&#xff0c;其他的服务启动的好好的&#xff0c;唯独我需要Debug的项目无法启动&#xff0c;只能Run运行 满世界找答案无非就是几种&#xff1a;…