Loki部署

发布时间 2023-07-19 14:15:33作者: 風£飛

一、安装grafana
[root@loki ~]# yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-10.0.0-1.x86_64.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
[root@loki ~]# vim /etc/loki/loki.yaml

auth_enabled: false

server:
  http_listen_port: 3100
  grpc_listen_port: 9096

common:
  path_prefix: /data/loki
  storage:
    filesystem:
      chunks_directory: /data/loki/chunks
      rules_directory: /data/loki/rules
  replication_factor: 1
  ring:
    instance_addr: 127.0.0.1
    kvstore:
      store: inmemory

schema_config:
  configs:
    - from: 2023-07-18
      store: boltdb-shipper
      object_store: filesystem
      schema: v11
      index:
        prefix: index_
        period: 24h

ruler:
  alertmanager_url: http://localhost:9093

[root@loki ~]# /etc/loki/loki-linux-amd64 -config.file loki.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

三、安装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

server: 
  http_listen_port: 9080
  grpc_listen_port: 0
 
positions: 
  filename: /tmp/positions.yaml
 
clients: 
  - url: http://127.0.0.1:3100/loki/api/v1/push
 
scrape_configs: 
- job_name: r2
  static_configs: 
  - targets:
      - 127.0.0.1
    labels: 
      job: r2log
      __path__: /var/log/network/r2/*.log
- job_name: r1
  static_configs:
  - targets:
      - 127.0.0.1
    labels:
      job: r1log
      __path__: /var/log/network/r1/*.log

[root@loki ~]# /etc/promtail/promtail-linux-amd64 -config.file promtail.yaml
[root@loki ~]# 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
六、配置rsyslog
1、添加hosts解析
[root@loki ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.140.130 R1
192.168.140.131 R2

2、修改/etc/rsyslog.conf文件
[root@loki ~]# vim /etc/rsyslog.conf

$ModLoad imudp
$UDPServerRun 514
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
$IMJournalStateFile imjournal.state
*.info;mail.none;authpriv.none;cron.none;local5.none;local6.none       /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log

3、添加/etc/rsyslog.d/network.conf文件
[root@loki ~]# vim /etc/rsyslog.d/network.conf

$template NETWORK,"接收日志时间:%timegenerated:1:10:date-rfc3339% %timereported:12:19:date-rfc3339% %fromhost%:%fromhost-ip% msg:%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"

$template NETWORKDIR,"/var/log/network/%fromhost%/%$now%.log"

local5.* action(type="omfile" FileCreateMode="0755" dirCreateMode="0755" dynaFile="NETWORKDIR" template="NETWORK")

4、重启rsyslog服务
[root@loki ~]# systemctl restart rsyslog.service
七、思科路由器配置

R1(config)#logging host x.x.x.x
R1(config)#logging facility local5
R1(config)#logging on

参考链接:
       https://www.cnblogs.com/eeexu123/p/13441149.html        # 轻量日志系统Loki
       https://zhuanlan.zhihu.com/p/601612530        # 使用loki收集网络设备日志
       https://cloud.tencent.com/developer/article/1889851     # 使用loki收集网络设备日志
       https://cloud.tencent.com/developer/article/2115403?areaSource=102001.8&traceId=zQBXqjTEipWR4Bn25Hft6
       https://zhuanlan.zhihu.com/p/602336166      # Rsyslog-日志收集快速上手