侧边栏壁纸
  • 累计撰写 208 篇文章
  • 累计创建 16 个标签
  • 累计收到 5 条评论

目 录CONTENT

文章目录

搭建loki日志监控系统,结合grafana做可视化监控

Wake
2022-08-24 / 0 评论 / 1 点赞 / 739 阅读 / 1,247 字

前言:按照搭建的规则进行部署,可以节省很多麻烦。如果体系成熟,可以结合ansible下发,或者下载需要的文件,解压到制定的目录下。

1.loki的安装 (建议直接去github上,下载v2.7.5的版本)

a.相关文件的下载和解压。
mkdir -p /data/loki/

cd /data/loki/

curl -O -L “https://github.com/grafana/loki/releases/download/v2.7.5/loki-linux-amd64.zip

或者

wget https://github.com/grafana/loki/releases/download/v2.7.5/loki-linux-amd64.zip

unzip loki-linux-amd64.zip

mv loki-linux-amd64.zip loki

chmod +x loki

b.创建需要的配置文件
vim /data/loki/loki.yaml

auth_enabled: false

server:
  http_listen_port: 3100

ingester:
  lifecycler:
    address: 0.0.0.0
    ring:
      kvstore:
        store: inmemory
      replication_factor: 1
    final_sleep: 0s
  chunk_idle_period: 5m
  chunk_retain_period: 30s

schema_config:
  configs:
  - from: 2023-05-18
    store: boltdb
    object_store: filesystem
    schema: v11
    index:
      prefix: index_
      period: 168h   #每张表的时间范围6天

storage_config:
  boltdb:
    directory: /data/loki/index   #索引文件存储地址

  filesystem:
    directory: /data/loki/chunks  #块存储地址

limits_config:
  enforce_metric_name: false
  reject_old_samples: true
  reject_old_samples_max_age: 168h


chunk_store_config:
  # 最大可查询历史日期 90天
   max_look_back_period: 2160h
  
table_manager:
  # 表只保留7天的数据
  retention_deletes_enabled: true
  retention_period: 168h

compactor:
  #每隔24小时执行一下删除策略      
  retention_delete_delay: 24h
 

c.启动程序
nohup ./loki -config.file=./loki.yaml &

扩展:

使用supervisor管理loki程序

安装supervisor 跳过

cd /etc/supervisor/conf.d

vim loki.conf

[program:loki] ;程序名称,终端控制时需要的标识
command=/data/loki/loki -config.file=/data/loki/loki.yaml ; 运行程序的命令
directory=/data/loki/ ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
stderr_logfile=/var/log/loki.err.log ; 错误日志文件
stdout_logfile=/var/log/loki.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份


stopsignal=INT

然后 supervisorctl update
image-1661342021125
上图说明程序正常运行。

2.日志收集程序promtail的安装。(建议直接去github上,下载v2.7.5的版本)
mkdir -p /data/promtail/

cd /data/promtail/

curl -O -L “https://github.com/grafana/loki/releases/download/v2.7.5/promtail-linux-amd64.zip

或者

wget https://github.com/grafana/loki/releases/download/v2.7.5/promtail-linux-amd64.zip

unzip promtail-linux-amd64.zip

mv promtail-linux-amd64.zip promtail

chmod +x promtail

b.创建需要的配置文件 vim /data/promtail/promtail.yaml

server:
 http_listen_port: 9080
 grpc_listen_port: 0

positions:
  filename: /tmp/positions.ymal

clients:
  - url: http://172.17.2.150:3100/loki/api/v1/push         #修改为loki的地址

scrape_configs:
  - job_name: syslog                         #这个是配置文件命名方式,方便查看
    static_configs:
      - targets:
          - 172.17.2.150                       #填写loki的地址
        labels:
          job: 2.154_syslog                          #这个是loki里的日志索引的名字,需要命名为自己需要的名字,方便查看
          host: 172.17.2.75                   #填写自己的地址
          __path__: /var/log/syslog          #监控需要监控的日志的路径

  - job_name: mysql                         #这个是配置文件命名方式,方便查看
    static_configs:
      - targets:
          - 172.17.2.150                       #填写loki的地址
        labels:
          job: 2.75_nginxAccesslog                          #这个是loki里的日志索引的名字,需要命名为自己需要的名字,方便查看          
          host: 172.17.2.75                   #填写自己的地址
          __path__: /var/log/nginx/access.log
          
  - job_name: system-log                         #这个是配置文件命名方式,方便查看
    static_configs:
      - targets:
          - 10.3.115.61                       #填写loki的地址
        labels:
          job: system-log-command                          #这个是loki里的日志索引的名字,需要命名为自己需要的名字,方便查看
          host: 172.16.29.66                  #填写���己的地址
          __path__: /data/command/*.log         #监控需要监控的日志的路径
      - targets:                                        #后面有多个路径要抓取可以根据下面来进行划分
          - 10.3.115.61
        labels:
          job: system-log-default
          host: 172.16.29.66
          __path__: /data/default/*.log
      - targets:
          - 10.3.115.61
        labels:
          job: system-log-slot-queue
          host: 172.16.29.66
          __path__: /data/queue/*.log      

扩展:解决vim/vi 中粘贴错乱问题

vim复制代码包含注释时格式会乱掉
通过下面的设置就可以避免这种情况。

解决办法:
1. 在拷贝前输入:set paste (这样的话,vim就不会启动自动缩进,而只是纯拷贝粘贴)
2. 拷贝完成之后,输入:set nopaste (关闭paste)

最方便的方法就是在.vimrc中加一句:

set pastetoggle=<F9>
以后在插入模式下,只要按F9键就可以切换自动缩进。

c.启动程序 nohup ./promtail -config.file=./promtail.yaml &

扩展:

使用supervisor管理promtail程序 安装supervisor 跳过 cd /etc/supervisor/conf.d vim promtail.conf

[program:promtail] ;程序名称,终端控制时需要的标识
command=/data/promtail/promtail -config.file=/data/promtail/promtail.yaml ; 运行程序的命令
directory=/data/promtail/ ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
stderr_logfile=/var/log/promtail.err.log ; 错误日志文件
stdout_logfile=/var/log/promtail.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份


stopsignal=INT
1

评论区