在ubuntu以及Centos等主机系统中,会产生一些系统日志信息,这些信息有助于后续查找故障原因,提升主机运行质量。因此本文简单介绍一下,如何将这些信息主动发送至Loki系统中予以持久化保存。
1、日志源
Ubuntu系统中的相关系统日志存放在/var/log/syslog文件中
Cetnos系统中的相关系统日志则存放在/var/log/messages文件中
2、Promtail配置
因为Ubuntu与Centos系统的不同,导致Promtail的配置有所不同,依次举例如下:
Ubuntu系统中的Promtail配置文件promtail_syslog_config.yaml,具体内容如下:
server:
http_listen_port: 9088
grpc_listen_port: 0
grpc_server_max_recv_msg_size: 900000000000
grpc_server_max_send_msg_size: 900000000000
positions:
filename: /aiops/messages/positions.yaml
clients:
- url: http://aa1.bb2.cc3.dd4:379/loki/api/v1/push
batchwait: 10s
batchsize: 40960000
scrape_configs:
- job_name: message
static_configs:
- labels:
os: ubuntu
host: aaa.bbb.ccc.ddd
__path__: /var/log/syslog
而Centos系统的Promtail配置文件promtail_messages_config.yaml则略有不同,具体如下:
server:
http_listen_port: 9080
grpc_listen_port: 0
grpc_server_max_recv_msg_size: 900000000000
grpc_server_max_send_msg_size: 900000000000
positions:
filename: /data/messages/positions.yaml
clients:
- url: http://aa1.bb2.cc3.dd4:379/loki/api/v1/push
batchwait: 10s
batchsize: 40960000
scrape_configs:
- job_name: message
static_configs:
- targets:
- localhost
labels:
os: centos
host: aaa.bbb.ccc.ddd
__path__: /var/log/messages
其实主要是最后一行,指定了log日志的位置,其他的label是根据情况添加的(但是不建议label过多,否则可能影响查询性能),可以根据情况修改。
3、Promtail命令运行
promtail –config.file=/data/promtail_messages_config.yaml
其中promtail可以直接从网上下载
wget https://github.com/grafana/loki/releases/download/v2.7.0/promtail-linux-amd64.zip
unzip promtail-linux-amd64.zip
mv promtail-linux-amd64 /usr/bin/promtail
之后即可直接调用promtail命令。