在 Linux 上使用 Docker 安装 Loki 和 Grafana,完成日志采集和分析的步骤如下:

步骤 1:安装 Docker

确保你已经安装并配置好 Docker。如果还没有,请自行查找文档进行安装。

步骤 2:安装 Docker Compose

为了简化 Loki 和 Grafana 的安装和配置,建议使用 Docker Compose。以下是在 Ubuntu 上安装 Docker Compose 的步骤:
1 sudo apt-get update
2 sudo apt-get install -y curl
3 sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
4 sudo chmod +x /usr/local/bin/docker-compose

步骤 3:创建 Docker Compose 文件

创建一个名为 docker-compose.yml 的文件,并添加以下内容:
 1 version: '3.7'
 2 
 3 services:
 4   loki:
 5     image: grafana/loki:2.4.1
 6     ports:
 7       - "3100:3100"
 8     command: -config.file=/etc/loki/local-config.yaml
 9     volumes:
10       - ./loki-config.yaml:/etc/loki/local-config.yaml
11 
12   promtail:
13     image: grafana/promtail:2.4.1
14     volumes:
15       - /var/log:/var/log
16       - ./promtail-config.yaml:/etc/promtail/promtail-config.yaml
17     command: -config.file=/etc/promtail/promtail-config.yaml
18 
19   grafana:
20     image: grafana/grafana:latest
21     ports:
22       - "3000:3000"
23     environment:
24       - GF_SECURITY_ADMIN_PASSWORD=admin
25     volumes:
26       - grafana-storage:/var/lib/grafana
27 
28 volumes:
29   grafana-storage:

步骤 4:配置 Loki 和 Promtail

创建 loki-config.yaml 和 promtail-config.yaml 文件,配置 Loki 和 Promtail。
loki-config.yaml
 1 auth_enabled: false
 2 
 3 server:
 4   http_listen_port: 3100
 5   grpc_listen_port: 9095
 6 
 7 ingester:
 8   lifecycler:
 9     ring:
10       kvstore:
11         store: inmemory
12       replication_factor: 1
13   chunk_idle_period: 5m
14   chunk_retain_period: 30s
15   max_transfer_retries: 0
16 
17 schema_config:
18   configs:
19     - from: 2020-10-24
20       store: boltdb
21       object_store: filesystem
22       schema: v11
23       index:
24         prefix: index_
25         period: 24h
26 
27 storage_config:
28   boltdb:
29     directory: /loki/index
30 
31   filesystem:
32     directory: /loki/chunks
33 
34 limits_config:
35   enforce_metric_name: false
36   reject_old_samples: true
37   reject_old_samples_max_age: 168h
38 
39 chunk_store_config:
40   max_look_back_period: 0s
41 
42 table_manager:
43   retention_deletes_enabled: false
44   retention_period: 0s
45 
46 promtail-config.yaml
47 server:
48   http_listen_port: 9080
49   grpc_listen_port: 0
50 
51 positions:
52   filename: /tmp/positions.yaml
53 
54 clients:
55   - url: 
promtail-config.yaml
 1 server:
 2   http_listen_port: 9080
 3   grpc_listen_port: 0
 4 
 5 positions:
 6   filename: /tmp/positions.yaml
 7 
 8 clients:
 9   - url: http://loki:3100/loki/api/v1/push
10 
11 scrape_configs:
12 - job_name: system
13   static_configs:
14   - targets:
15       - localhost
16     labels:
17       job: varlogs
18       __path__: /var/log/**/*.log

步骤 5:启动 Loki 和 Grafana

在包含 docker-compose.yml 文件的目录中,运行以下命令启动 Loki 和 Grafana:
1 sudo docker-compose up -d

步骤 6:配置 Grafana

  1. 打开浏览器并访问
http://<your_server_ip>:3000,使用默认用户名 admin 和密码 admin 登录。
  1. 在 Grafana 仪表板中,添加 Loki 数据源:
  • 转到“Configuration” -> “Data Sources”
  • 点击“Add data source”
  • 选择“Loki”
  • 配置 URL 为 http://loki:3100
  • 点击“Save & Test”
  1. 创建新的仪表板并添加面板,通过 Loki 查询日志数据。
注意事项
1. 确保 Promtail 的 path 配置正确,能够匹配到你想要收集的日志文件路径。
2. 如果使用的 Docker 版本或 Docker Compose 版本较旧,可能需要调整配置文件语法。
3. 可以根据需求调整 Loki 和 Promtail 的配置文件,以适应不同的日志源和存储需求。
4. 通过上述步骤,你可以在 Linux 上使用 Docker 安装 Loki 和 Grafana,完成日志采集和分析。
posted on 2024-07-24 18:03  黑熊一只  阅读(253)  评论(0编辑  收藏  举报