PLG log server 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以标签作为索引的配置:

复制代码
  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

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


.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

相关推荐
九硕智慧建筑一体化厂家6 小时前
数字化管控落地,直流照明构筑安全照明体系
运维·人工智能·笔记·安全·智慧城市
刘某的Cloud8 小时前
ceph osd 导入导出 rbd volume 卷
linux·运维·ceph·volume
神奇霸王龙10 小时前
Agent 准入门控屠夫:5 旗舰 4 维度评估
linux·运维·数据库·ai·ai作画·agent·ai编程
cfm_291410 小时前
基于Binlog实现不停机数据库平滑迁移技术
运维·数据库·架构
迪康Defender11 小时前
AI 重构终端安全运营:智能分析中枢 AI Insight 模块架构与落地场景深度解析
运维·网络·人工智能·其他·安全·重构·架构
HiDev_12 小时前
【非标自动化】2、认识元器件(固态继电器)
运维·自动化
明达智控技术12 小时前
国产 PLC 落地立库自动化,MC5000边缘智能控制器破局
运维·自动化
小绫网络安全13 小时前
Kali Linux渗透测试入门教程:从零搭建到实战攻防
linux·运维·服务器
allforgood13 小时前
控制启动过程
linux·运维·服务器
西安景驰电子13 小时前
《PTP精确时间协议系列》第一篇:从原理到应用,全面解读IEEE 1588
linux·运维·服务器·开发语言·网络·windows·php