前言
本文详细讲解Loki+Promtail+Grafana整套日志采集、存储、可视化方案的完整部署流程,并实现与Zabbix 监控平台的菜单跳转集成。该方案部署简便、运维成本低,适用于企业内部服务器日志的统一收集、查询与监控。
部署完成后,运维人员可通过Zabbix 统一入口直接查看各类系统日志,无需在多个平台间切换,显著提升运维工作效率。本次配置已开启 Grafana 匿名只读访问,日常使用中请严格管控服务器网络权限,保障日志数据安全。
1 安装与下载
1.1安装Loki以及Promtail



解压Loki及promtail至指定目录:
创建目录:mkdir /data/loki
创建目录:mkdir /data/promtail
解压文件:unzip loki-linux-amd64.zip
解压文件:unzip promtail-linux-amd64.zip
1.2添加Loki配置文件:
编辑文件:vim /data/loki/etc/loki.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
schema_config:
configs:
- from: 2020-07-29
store: boltdb
object_store: filesystem
schema: v11
index:
prefix: index_
period: 168h
#存储位置配置
storage_config:
#流文件存储地址
boltdb:
#自定义boltdb目录
directory: /data/software/loki/data/index
#索引存储地址
filesystem:
#自定义filesystem目录
directory: /data/software/loki/data/chunks
#采集限制配置
limits_config:
reject_old_samples: true
reject_old_samples_max_age: 168h
#修改每用户摄入速率限制,即每秒样本量,默认值为4M
ingestion_rate_mb: 30
#修改每用户摄入速率限制,即每秒样本量,默认值为6M
ingestion_burst_size_mb: 15
allow_structured_metadata: false
#日志回看配置
chunk_store_config:
# max_look_back_period: 0s
#回看日志行的最大时间,只适用于即时日志,7天
#表的保留期配置
# #table_manager:
# retention_deletes_enabled: false
# retention_period: 0s
table_manager:
#日志保留周期开关,默认false
retention_deletes_enabled: true
#日志保留周期
retention_period: 168h
1.3启动Loki并查看端口及进程:
启动命令:nohup /data/loki/bin/loki-linux-amd64 -config.file=/data/loki/etc/loki.yaml &
查看端口命令:ss -lnt
查看进程命令:ps -ef |grep loki

1.4添加Promtail配置文件
vim /data/promtail/etc/promtail.yaml
Vim /data/PL/etc/promtail.yaml
#端口配置
server:
http_listen_port: 9080
grpc_listen_port: 0
#记录游标位置
positions:
#游标记录上一次同步位置
filename: /data/promtail/etc/positions.yaml#根据实际路径进行修改
#每10秒同步一次
sync_period: 10s
# Loki服务器地址
clients:
- url: http://Loki部署主机IP:3100/loki/api/v1/push#根据实际路径进行修改
#日志文件配置
scrape_configs:
- job_name: zabbix_server#可以根据需要进行修改名称,如Nginx日志可写nginx
static_configs:
- targets:
- localhost
labels:
job: zabbix_server#建议与job_name保持一致以便区分
app: zabbix_server#建议与job_name保持一致以便区分
env: test#标签
log_type: web#日志类型
__path__: /usr/local/zabbix/logs/zabbix_server.log#Zabbix日志所在路径
注:若需配置多个日志,需从“- job_name:”开始完整复制,且缩进需与上述“- job_name”保持一致
启动Promtail
nohup /data/promtail/bin/promtail-linux-amd64 -config.file=/data/promtail/etc/promtail.yaml &

注:每次修改Promtail配置文件后均需重启服务
2 Grafana下载及配置
2.1下载Grafana
可通过官网下载或使用以下链接下载
sudo yum install -y https://dl.grafana.com/grafana-enterprise/release/12.2.0/grafana-enterprise_12.2.0_17949786146_linux_amd64.rpm 通过上述链接进行下载安装完成后,输入部署主机IP:3000即可访问
2.2数据源以及语言配置
2.2.1中文配置



完成上述操作后,选择旁边的“Save”进行保存
以下是可在界面上显示数据的配置
2.2.2配置数据源
按照图片步骤进行配置



输入URL后点击“保存并测试”,出现以下界面表示成功

2.3 Grafana日志监控配置



点击“Show logs”后即可在面板中查看日志

还可在查询区域根据字段匹配所需查看的日志

上述设置仅实现日志查看功能,若需保存配置,请按以下步骤操作:
可在仪表盘处进行设置,将需要监控的日志在仪表盘处创建
2.4仪表盘配置
点击“仪表盘”并选择“新建仪表盘

选择刚才新增的“Loki-1

选择“新建仪表盘”后点击“添加可视化

点击“可视化”后,按照以下步骤配置面板,最后点击“保存仪表盘”即可完成配置

下次查看日志时,直接点击相应面板即可

[if !supportLists]1. [endif]Zabbix配置
3.1添加配置文件
1.在Zabbix默认路径/usr/share/zabbix/modules/下创建目录,目录名称可自定义,此处示例命名为zdymk。随后,在zdymk目录下分别创建controllers目录、views目录,并创建manifest.json和Module.php两个配置文件,具体配置内容如下:





3.2启用新增模块
1.以下为Zabbix 7版本的配置方法,6版本操作类似
在管理设置中找到模块,点击模块后,于右上角点击扫描目录,即可发现前述新增目录,点击启用目录即可


3.3跳转验证
启用后刷新界面,日志监控将显示于菜单中,点击日志监控会自动跳转至Grafana监控界面,点击Dashboards即可查看上述监控的日志信息,此方法建议采用匿名访问模式,用户无需登录即可查看数据,但仅具备读取权限,不拥有写入权限。在此过程中,需特别注意数据安全防护哦



以上就是今天的内容了,觉得不错的记得点赞哦