docker-compose安裝loki

黑熊一只發表於2024-07-24
在 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,完成日誌採集和分析。

相關文章