什么是Loki
Loki 是 Grafana Labs 团队开源的水平可扩展,高可用性,多租户的日志聚合系统。它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,而是为每个日志流编制一组标签。
安装前准备
在开始安装 Loki 之前,需要确保您的系统满足以下要求:
- 已安装 Docker 和 Docker Compose
- 有足够的磁盘空间和内存资源
- 熟悉基本的命令行操作
使用 Docker Compose 部署 Loki
以下是使用 Docker Compose 部署 Loki 的步骤:
- 创建一个目录来存放 Loki 的配置文件和 docker-compose.yml:
bash
mkdir loki && cd loki
- 创建一个名为 docker-compose.yml 的文件,并添加以下内容:
yaml
version: "3"
networks:
loki:
services:
loki:
image: grafana/loki:2.8.2
ports:
- "3100:3100"
command: -config.file=/etc/loki/local-config.yaml
networks:
- loki
promtail:
image: grafana/promtail:2.8.2
volumes:
- /var/log:/var/log
command: -config.file=/etc/promtail/config.yml
networks:
- loki
depends_on:
- loki
grafana:
image: grafana/grafana:10.0.3
ports:
- "3000:3000"
networks:
- loki
depends_on:
- loki
- 创建 Promtail 配置文件 config.yml:
yaml
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml
clients:
- url: http://loki:3100/loki/api/v1/push
scrape_configs:
- job_name: system
static_configs:
- targets:
- localhost
labels:
job: varlogs
__path__: /var/log/*log
- 启动 Loki、Promtail 和 Grafana:
bash
docker-compose up -d
- 验证服务是否正常运行:
bash
docker-compose ps
配置 Grafana 连接 Loki
-
打开浏览器,访问http://localhost:3000,使用默认用户名 admin 和密码 admin 登录 Grafana。
-
登录后,导航到 Configuration > Data Sources,点击 "Add data source" 按钮。
-
在搜索框中输入 "Loki",选择 Loki 数据源。
-
在 URL 字段中输入 http://loki:3100,然后点击 "Save & Test"。
-
如果连接成功,您现在可以在 Grafana 中使用 Loki 查询和可视化日志。
测试 Loki
您可以使用以下 LogQL 查询来测试 Loki 是否正常收集日志:
plaintext
{job="varlogs"}
扩展和优化
根据您的需求,您可以通过以下方式扩展和优化 Loki 部署:
- 配置持久化存储
- 调整 Loki 和 Promtail 的资源限制
- 添加更多的日志收集源
- 配置分布式部署以提高性能和可用性
以上就是使用 Docker Compose 快速搭建和部署 Loki 的基本步骤。根据您的实际环境和需求,您可能需要进一步调整配置。