采集主机log日志并发送至loki的方法

在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命令。

此条目发表在智能运管分类目录,贴了, , , 标签。将固定链接加入收藏夹。

发表回复