Loki日志服务查询系统是比较轻量级的。主要由promtail、loki、grafana三部分组成。
系统架构图
一、安装grafana。也可以在直接下载安装包
[root@loki ~]# yum install -y [<u>https://dl.grafana.com/enterprise/release/grafana-enterprise-10.0.0-1.x86_64.rpm</u>](https://dl.grafana.com/enterprise/release/grafana-enterprise-10.0.0-1.x86_64.rpm)
[root@loki ~]# rpm -ivh xxxx.rpm
[root@loki ~]# yum remove xxxx.rpm
二、安装loki
[root@loki ~]# wget https://github.com/grafana/loki/releases/download/v2.8.2/loki-linux-amd64.zip
[root@loki ~]# unzip loki-linux-amd64.zip
[root@loki ~]# mkdir -p /etc/loki
[root@loki ~]# mv loki-linux-amd64 /etc/loki
三、安装promtail
[root@loki ~]# wget https://github.com/grafana/loki/releases/download/v2.8.2/promtail-linux-amd64.zip
[root@loki ~]# unzip promtail-linux-amd64.zip
[root@loki ~]# mkdir -p /etc/promtail
[root@loki ~]# mv promtail-linux-amd64 /etc/promtail/
[root@loki ~]# vim /etc/promtail/promtail.yaml
./promtail-linux-amd64 --config.file=promtail_config.yaml
./loki-linux-amd64 --config.file=loki_config.yaml
nohup ./promtail-linux-amd64 --config.file=promtail_config.yaml &
nohup ./loki-linux-amd64 --config.file=loki_config.yaml &
[root@loki ~]# vim /lib/systemd/system/loki.service
————————————————
[Unit]
Description=Loki service
After=network.target
[Service]
Type=simple
User=root
ExecStart=/etc/loki/loki-linux-amd64 -config.file /etc/loki/loki.yaml
[Install]
WantedBy=multi-user.target
————————————————
vim /lib/systemd/system/promtail.service
[Unit]
Description=Promtail service
After=network.target
[Service]
Type=simple
User=root
ExecStart=/etc/promtail/promtail-linux-amd64 -config.file /etc/promtail/promtail.yaml
[Install]
WantedBy=multi-user.target
四、启用服务
[root@loki ~]# systemctl start promtail.service
[root@loki ~]# systemctl start loki.service
[root@loki ~]# systemctl start grafana-server.service
五、加入开机启动
[root@loki ~]# ystemctl enable promtail.service
[root@loki ~]# systemctl enable loki.service
[root@loki ~]# systemctl enable grafana-server.service
systemctl stop grafana-server.service
1. 重启服务:systemctl restart grafana-server.service
如果断网安装有如下失败,需要安装依赖依赖安装参考:linux 资源包安装详细教程
点击进入网页:linux资源包下载链接:pkgs.org
本次安装涉及到的依赖
image.png
Grafana的基本配置
登录
- 安装完成后,在浏览器输入访问网址:
http://ip:3000
- 默认的登录用户名/密码:
admin/admin
- 首次登录后,建议根据导航提示修改密码
例如,想在server为td2_chan_up_wx,host为10.9.17.53,note为gl01的日志中,查询0000843335522269的日志,其LogQL语句为:
{host="10.9.17.53",note="gl01",server="td2_chan_up_wx"} |= "0000843335522269"
image.pngLOKI配置文件 loki_config.yaml
auth_enabled: false
server:
http_listen_port: 3100 #http监听端口,代理服务(promtail)会向此端口发送日志流
grpc_listen_port: 9086 #grpc监听端口,简单部署不用管
common: #默认配置
path_prefix: /data/loki #默认的路径前缀
storage:
filesystem:
chunks_directory: /data/loki/chunks #压缩后的日志,存储在这个目录
rules_directory: /data/loki/rules #一些告警规则和查找规则,存储在这个目录,简单部署不用管
replication_factor: 1 #简单部署不用管
ring: #哈希环配置,简单部署不用管
instance_addr: 172.15.25.101 #一般为部署loki的机器的ip
kvstore:
store: inmemory #沿用即可
schema_config:
configs:
- from: 2020-10-24 #2020-10-24之后loki信息用下面的配置,这个主要是用来做兼容的
store: boltdb-shipper #索引使用哪种存储
object_store: filesystem #怎么存储,简单部署的话保存在本地文件系统
schema: v11 #版本
index: #索引怎么更新和存储
prefix: index_ #索引前缀
period: 24h #索引期限24小时
ruler:
alertmanager_url: http://localhost:9093 #告警地址,简单部署沿用即可
#若不需要清理日志,以下配置均可删除
chunk_store_config:
max_look_back_period: 24h #最大日志可见时间
#table_manager:
# retention_deletes_enabled: true
# retention_period: 24h
limits_config:
retention_period: 24h #全局保留期,超过这个时间的日志会被删除,具体删除规则在compactor里配置
#retention_stream: #局部保留期
#- selector: '{level="error"}'
# priority: 1
# period: 720h
compactor:
working_directory: /data/loki/compactor #compactor运行状态保存目录
shared_store: filesystem
retention_enabled: true #启动日志删除
compaction_interval: 10m #compactor每隔10分钟运行一次
retention_delete_delay: 2h #在compactor运行2小时后删除
retention_delete_worker_count: 150 #用150个worker删除chunks
analytics:
reporting_enabled: false #关闭向loki团队发送此配置文件
promtail配置文件 promtail_config.yaml
server:
http_listen_port: 9081 #监听端口
grpc_listen_port: 0 # gRPC 服务监听的端口(0表示随机)
positions:
filename: /home/tdcode2/td2_promtail/positions.yaml #promtail保存文件的位置,当服务异常关闭,重启时可以继续在中断处继续采集,此文件保存日志采集进度
clients:
- url: http://172.15.25.101:3100/loki/api/v1/push #loki接收日志的地址
scrape_configs: # 日志采集配置
- job_name: test #这个随意配置
static_configs:
- targets:
- localhost
labels: #note,host,server,level自己定义的标签,根据自己需要改动
note: gl01
host: 10.9.17.53
server: td2_chan_up_wx
level: access
__path__: /data/logs/tdcode2/td2_chan_up_wx/td2_chan_up_wx_access.log #从此文件采集的日志会被打上上面的4个标签,支持正则
- targets:
- localhost
labels:
note: gl01
host: 10.9.17.53
server: td2_chan_up_wx
level: error
__path__: /data/logs/tdcode2/td2_chan_up_wx/td2_chan_up_wx_error.log
参考文章:
Grafana 安装配置教程:https://blog.csdn.net/weixin_44462773/article/details/132422262
轻量级日志管理系统-loki 简单部署:https://blog.csdn.net/wx__wx/article/details/127055173
Loki部署:https://blog.csdn.net/xwupiaomiao/article/details/133642594
网友评论