介绍
loki是grafana推出的一款轻量级日志收集框架,由于实在不想搭建ELK,于是决定尝试一下。鉴于网上现有文档资源较少,于是想在这里记录一下自己搭建过程中的踩坑过程,希望能帮到后面的同学。
步骤
安装
官方文档上提供了4种安装方式,个人推荐使用docker或者docker-compose的方式安装,既简单又便捷。
-
下载官方docker-compose.yaml
wget https://raw.githubusercontent.com/grafana/loki/v1.6.0/production/docker-compose.yaml -O docker-compose.yaml
-
修改docker-compose.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
version: "3" networks: loki: services: loki: image: grafana/loki:1.5.0 ports: - "3100:3100" command: -config.file=/etc/loki/local-config.yaml networks: - loki promtail: image: grafana/promtail:1.5.0 volumes: - /var/logs:/var/log // 挂载宿主机上的日志目录到promtail容器里 - /etc/promtail/docker-config.yaml:/etc/promtail/docker-config.yaml // 使用外部配置文件覆盖默认配置文件 command: -config.file=/etc/promtail/docker-config.yaml networks: - loki grafana: image: grafana/grafana:latest ports: - "3000:3000" networks: - loki
-
创建promtail的配置文件,路径就放在上面外部配置指定的路径里,promtail用来将容器日志发送到 Loki 或者 Grafana 服务上的日志收集工具,该工具主要包括发现采集目标以及给日志流添加上 Label 标签 然后发送给 Loki。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
server: http_listen_port: 9080 grpc_listen_port: 0 positions: filename: /tmp/positions.yaml client: url: http://loki:3100/loki/api/v1/push scrape_configs: - job_name: qiangdong static_configs: - targets: - localhost labels: job: dev __path__: /var/log/**/*.log // promtail容器里日志的路径
-
执行
docker-compose up -d
启动服务
启动
- 访问
localhost:3000
,默认帐号密码是admin - 添加loki数据源
- 点击左侧explore查看日志,选择配置文件里配置的jobs