news 2026/5/1 9:22:24

PLG log server note

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PLG log server note
目录
  • 三者的架构图
    • Principle of operation
  • execute pack init and Install
    • loki
    • Promtail
    • loki server start
    • promtail server start
    • promtail of windows
  • .deb grafana install
  • .rpm grafana install
  • Grafana server start
  • Config note

PLG是一套开源且成熟的日志监控系统,根据自己所使用的系统去下载对应的 Loki 和 Promtail 、grafana版本使用即可。

下面基于 v3.6.4 Latest 。

三者的架构图

核心的就这三个组件:

  • 采集 (Promtail): 作为 Agent 部署在各个节点上,发现日志目标,抓取日志内容,添加标签(Label),并发送给 Loki。

  • 存储 (Loki): 接收日志流,不进行全文索引,仅索引元数据标签(Labels)。日志数据以压缩的块(Chunk)存储,极大节省空间。

  • 查询 (Grafana): 用户在 Grafana 中通过 LogQL 语言查询存储在 Loki 中的日志,支持实时监控和报警。

还有一些配套的工具: LogCLI 和 Loki Canary:

  • LogCLI 允许您在命令行界面中运行 Loki 查询;
  • Loki Canary是一款用于审核 Loki 性能的工具。

Principle of operation

PLG 把不同的功能块都独立出来,可以单独部署、独立运行,组合不同的工具使用,解耦合性非常好。

Loki 并不像 Elasticsearch 那样对全文进行索引,而是借鉴了 Prometheus 的存储理念,采用索引数据分离的机制

promtail以标签作为索引的配置:

/* by yours.tools - online tools website : yours.tools/zh/quchong.html */ relabel_configs: - source_labels: ['__syslog_message_hostname'] target_label: 'device_ip' # 将设备 IP 提取为标签

其工作流程如下:

  1. 采集 (Promtail): 作为 Agent 部署在各个节点上,发现日志目标,抓取日志内容,添加标签(Label),并发送给 Loki。

  2. 存储 (Loki): 接收日志流,不进行全文索引,仅索引元数据标签(Labels)。日志数据以压缩的块(Chunk)存储,节省空间。

  3. 查询 (Grafana): 用户在 Grafana 中通过 LogQL 语言查询存储在 Loki 中的日志,支持实时监控和报警。


execute pack init and Install

我的环境是单机linux,上传了安装包的环境。下面记录一下安装过程,方便自己回顾吧。

loki

unzip loki-linux-amd64.zip
mv loki-linux-amd64 /opt//loki # 假设重命名并移动
chmod +x /opt/loki
cp loki-local-config.yaml /opt/loki/loki-local-config.yaml

config:
https://raw.githubusercontent.com/grafana/loki/v3.6.0/cmd/loki/loki-local-config.yaml

Promtail

安装过程和loki类似,配置好config就行。

config :
https://raw.githubusercontent.com/grafana/loki/main/clients/cmd/promtail/promtail-local-config.yaml


loki server start

前台开启测试
./loki-linux-amd64 -config.file=./loki-local-config.yaml

判断服务是否可用
检查HTTP API状态
http://localhost:3100/ready

如果返回 ready,则表示服务完全正常。
如果返回 not ready 或连接失败,则Loki尚未正常工作。
如果是第一次启动,需要等待几分钟。

测试正常之后,可以后台开启
nohup ./loki -config.file=loki-local-config.yaml > loki.log 2>&1 &

promtail server start

前台启动:
./promtail-linux-amd64 -config.file=promtail-config.yaml

后台启动
nohup ./promtail-linux-amd64 -config.file=promtail-config.yaml > promtail.log 2>&1 &

报错:
GLIBC_2.32 not found
GLIBC_2.34 not found
由于我用的是 NeoKylin ,暂时有点难解决,
我换了个系统安装promtail.....

promtail of windows

没有其他linux版本了,只能先找个windows系统来先用。

也是下载,然后写好配置文件,启动
.\promtail-windows-amd64.exe --config.file=promtail-local-config.yaml

没有做 win服务 启动的话,需要后台窗口 挂着进程。


.deb grafana install

.deb 安装包,标准且简单的做法是使用 dpkg 命令安装。这种方式会自动将 Grafana 注册为系统服务,非常适合长期稳定运行。

dpkg -i grafana_12.3.2_21390657659_linux_amd64.deb

Command:
重载系统服务配置
sudo systemctl daemon-reload

启动 Grafana 服务
sudo systemctl start grafana-server

设置开机自启
sudo systemctl enable grafana-server

检查运行状态
sudo systemctl status grafana-server

登录与配置
访问地址:打开浏览器,输入:http://[IP]:3000
默认账号:用户名为 admin,初始密码也是 admin。
首次登录:系统会强制要求你修改密码。

关键路径说明 (DEB 安装版)
配置文件:/etc/grafana/grafana.ini (修改端口或域名在这里改)
数据存储:/var/lib/grafana (仪表盘和插件存在这里)
运行日志:/var/log/grafana (如果启动失败,去这里看报错)


.rpm grafana install

中标麒麟 (NeoKylin) 是基于 CentOS/Red Hat 开发的,因此它使用的是 rpm 软件包管理器。

pack download :
https://dl.grafana.com/grafana/release/12.3.2/grafana_12.3.2_21390657659_linux_amd64.rpm

在中标麒麟中,使用 yum 命令安装本地包是最佳实践,因为它会自动帮你处理依赖关系:
sudo yum localinstall grafana-enterprise-11.5.1-1.x86_64.rpm

安装完成会提示:
Complete!

Some bash:
启动
systemctl start grafana-server

查看状态
systemctl status grafana-server

开机自启
systemctl enable grafana-server


Grafana server start

Grafana 启动后,最重要的操作是将 Loki 添加为数据源,否则它无法读取 Promtail 采集到的日志。以下是标准配置流程:

  1. 登录与基础设置
    访问地址:默认地址通常为 http://localhost:3000
    用Chrome浏览器打开,其他浏览器会报错,不知道为什么。先不管这个。
    默认凭据:用户名 admin,密码 admin(首次登录后会强制要求修改)。

  2. 添加 Loki 数据源
    reference:

    • https://www.cnblogs.com/architectforest/p/18515439

    • https://grafana.org.cn/docs/grafana/latest/datasources/loki/configure-loki-data-source/


Config note

todo

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 6:12:39

基于stm32f10x芯片的人形机器人控制系统硬件设计

基于STM32F10x芯片的人形机器人控制系统硬件设计 第一章 绪论 人形机器人作为智能机器人领域的核心研究方向,具备仿人运动、环境交互等特性,广泛应用于教育、服务、工业等场景。传统人形机器人控制系统多采用专用控制芯片,存在拓展性差、运…

作者头像 李华
网站建设 2026/4/30 20:24:28

基于数据分析的智能饮食推荐APP

一、项目介绍 本文主要研究依托数据分析技术的健康饮食管理APP的开发和设计,以解决当前人们在饮食方面的健康问题,在人们需要帮助时,为用户设计一份饮食方案。详细地开展调查工作,了解人们的饮食管理目标是什么。明确人们的个性化…

作者头像 李华
网站建设 2026/5/1 5:10:46

基于resnet +vgg+pyqt5的交通信号灯检测识别系统

前言    随着城市化进程的推进以及汽车保有量的持续上升,智能交通系统的重要性日益凸显,交通信号灯检测识别系统作为其中关键一环,备受关注。传统检测手段存在一定局限性,而深度学习技术的发展为其带来了新的发展方向。本研究尝…

作者头像 李华
网站建设 2026/5/1 7:20:27

【作业2】DELETE vs TRUNCATE 区别及大表删除影响

文章目录 【作业2】DELETE vs TRUNCATE 区别及大表删除影响1. 二者的区别2. 大表删除表数据,对OS的影响?使用 DELETE 删除大表的影响:使用 TRUNCATE 删除大表的影响: 3. 大表数据删除的最佳实践方案1:分批删除 (推荐)方…

作者头像 李华
网站建设 2026/5/1 6:11:50

Visual Studio 里的 4 种命令行窗口到底有什么区别?别再选错了!

Visual Studio 里的 4 种命令行窗口到底有什么区别?别再选错了! 当你安装完 Visual Studio 的 C 开发环境(MSVC),打开开始菜单想找命令行编译代码时,你可能会被眼前这一排长得像孪生兄弟的快捷方式搞懵&am…

作者头像 李华