本地安装 Grafana Loki
- 一、 安装 Loki
- 1. 下载 Loki
- 2. 创建 Loki 配置文件
- 3. 创建 Loki 服务
- 二、安装 Promtail
- 1. 下载 Promtail
- 2. 创建 Promtail 配置文件
- 3. 创建 Promtail 服务
- 三、 安装 Grafana
- 四、启动所有服务
- 五、添加loki 数据源
-
- 参考
一、 安装 Loki
1. 下载 Loki
wget https://github.com/grafana/loki/releases/download/v3.4.2/loki-linux-amd64.zip
unzip loki-linux-amd64.zip
sudo mv loki-linux-amd64 /usr/local/bin/loki
sudo mkdir -p /etc/loki
2. 创建 Loki 配置文件
sudo mkdir -p /var/lib/loki/chunks
sudo mkdir -p /var/lib/loki/rules
sudo mkdir -p /var/lib/loki/index
sudo mkdir -p /var/lib/loki/cache
vim /etc/loki/config.yaml
auth_enabled: falseserver:http_listen_port: 3100common:path_prefix: /lokistorage:filesystem:chunks_directory: /var/lib/loki/chunksrules_directory: /var/lib/loki/rulesreplication_factor: 1ring:instance_addr: 127.0.0.1kvstore:store: inmemoryschema_config:configs:- from: 2020-10-24store: tsdbobject_store: filesystemschema: v13index:prefix: index_period: 24hstorage_config:tsdb_shipper:active_index_directory: /var/lib/loki/indexcache_location: /var/lib/loki/cacheruler:alertmanager_url: http://localhost:9093
auth_enabled: false
server:http_listen_port: 3100
common:path_prefix: /loki storage:filesystem: chunks_directory: /var/lib/loki/chunks rules_directory: /var/lib/loki/rules replication_factor: 1 ring:instance_addr: 127.0.0.1 kvstore:store: inmemory
schema_config:configs:- from: 2020-10-24 store: tsdb object_store: filesystem schema: v13 index:prefix: index_ period: 24h
storage_config:tsdb_shipper:active_index_directory: /var/lib/loki/index cache_location: /var/lib/loki/cache
ruler:alertmanager_url: http://localhost:9093
3. 创建 Loki 服务
sudo tee /etc/systemd/system/loki.service<<EOF
[Unit]
Description=Loki service
After=network.target[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/loki -config.file /etc/loki/config.yaml[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl restart loki.service
systemctl status loki.servicesystemctl enable loki.service
二、安装 Promtail
1. 下载 Promtail
wget https://github.com/grafana/loki/releases/download/v3.4.2/promtail-linux-amd64.zip
unzip promtail-linux-amd64.zip
sudo mv promtail-linux-amd64 /usr/local/bin/promtail
sudo mkdir -p /etc/promtail
2. 创建 Promtail 配置文件
vim /etc/promtail/config.yaml
server:http_listen_port: 9080grpc_listen_port: 0positions:filename: /tmp/positions.yamlclients:- url: http://localhost:3100/loki/api/v1/pushscrape_configs:- job_name: systemstatic_configs:- targets:- localhostlabels:job: varlogs__path__: /var/log/*log- job_name: dockerstatic_configs:- targets:- localhostlabels:job: docker__path__: /var/lib/docker/containers/*/*log
3. 创建 Promtail 服务
sudo tee /etc/systemd/system/promtail.service<<EOF
[Unit]
Description=Promtail service
After=network.target[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/promtail -config.file /etc/promtail/config.yaml[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start promtail.service
systemctl status promtail.servicesystemctl enable promtail.service
三、 安装 Grafana
四、启动所有服务
sudo mkdir -p /var/lib/loki/chunks
sudo mkdir -p /var/lib/loki/rules
sudo systemctl daemon-reload
sudo systemctl enable loki promtail grafana-server
sudo systemctl start loki promtail grafana-server
sudo systemctl status loki
sudo systemctl status promtail
sudo systemctl status grafana-server
五、添加loki 数据源

1. 添加仪表板
17514
https://grafana.com/grafana/dashboards/17514-ssh-logs/

2. 日志查询面板 json
{"annotations": {"list": [{"builtIn": 1,"datasource": {"type": "grafana","uid": "-- Grafana --"},"enable": true,"hide": true,"iconColor": "rgba(0, 211, 255, 1)","name": "Annotations & Alerts","type": "dashboard"}]},"editable": true,"fiscalYearStartMonth": 0,"graphTooltip": 0,"id": 13,"links": [],"liveNow": false,"panels": [{"datasource": {"type": "loki","uid": "cedpi2os8xbeoa"},"gridPos": {"h": 20,"w": 24,"x": 0,"y": 0},"id": 1,"options": {"dedupStrategy": "none","enableLogDetails": true,"prettifyLogMessage": false,"showCommonLabels": false,"showLabels": false,"showTime": true,"sortOrder": "Descending","wrapLogMessage": true},"targets": [{"datasource": {"type": "loki","uid": "cedpi2os8xbeoa"},"editorMode": "builder","expr": "{filename=~\"$log_file\"} |= \"$search_term\"","queryType": "range","refId": "A"}],"title": "日志查询面板","type": "logs"}],"refresh": "1m","schemaVersion": 39,"tags": ["logs","monitoring"],"templating": {"list": [{"current": {"selected": false,"text": "All","value": "$__all"},"datasource": {"type": "loki","uid": "cedpi2os8xbeoa"},"definition": "label_values(filename)","hide": 0,"includeAll": true,"label": "日志文件","multi": false,"name": "log_file","options": [],"query": "label_values(filename)","refresh": 1,"regex": "","skipUrlSync": false,"sort": 1,"type": "query"},{"current": {"selected": false,"text": "","value": ""},"hide": 0,"label": "搜索关键字","name": "search_term","options": [],"query": "","skipUrlSync": false,"type": "textbox"}]},"time": {"from": "now-1h","to": "now"},"timepicker": {"refresh_intervals": ["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"]},"timezone": "","title": "日志查询仪表板","uid": "log_dashboard","version": 3,"weekStart": ""
}

参考
- 本地安装 Grafana Loki
- loki releases
- SSH Logs