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