2021-11-04
作者:互联网
docker搭建 grafana+promtail+loki日志平台
PLG日志系统组成
- promtail:负责收集日志并将其发送给Loki
- loki:主服务器,服务存储日志和处理查询
- Grafana:用于查询和现实日志
1.拉取镜像
docker pull grafana/grafana
docker pull grafana/promtail
docker pull grafana/loki
2.拉取promtail和loki配置文件
wget --no-check-certificate https://raw.githubusercontent.com/grafana/loki/master/cmd/loki/loki-local-config.yaml
wget --no-check-certificate https://raw.githubusercontent.com/grafana/loki/master/clients/cmd/promtail/promtail-local-config.yaml
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5dy2jSQr-1636021526886)(C:\Users\pc\Desktop\截图\Dingtalk_20211102112005.jpg)]
3.修改配置文件
loki-local-config.yaml
auth_enabled: false
server:
http_listen_port: 3100
grpc_listen_port: 9096
grpc_server_max_recv_msg_size: 1073741824 #grpc最大接收消息值,默认4m
grpc_server_max_send_msg_size: 1073741824 #grpc最大发送消息值,默认4m
ingester:
lifecycler:
address: 192.168.15.144
ring:
kvstore:
store: inmemory
replication_factor: 1
final_sleep: 0s
chunk_idle_period: 5m
chunk_retain_period: 30s
max_transfer_retries: 0
max_chunk_age: 20m #一个timeseries块在内存中的最大持续时间。如果timeseries运行的时间超过此时间,则当前块将刷新到存储并创建一个新块
schema_config:
configs:
- from: 2021-11-01
store: boltdb
object_store: filesystem
schema: v11
index:
prefix: index_
period: 168h
storage_config:
boltdb:
directory: /tmp/loki/index #存储索引地址
filesystem:
directory: /tmp/loki/chunks
limits_config:
enforce_metric_name: false
reject_old_samples: true
reject_old_samples_max_age: 168h
ingestion_rate_mb: 30 #修改每用户摄入速率限制,即每秒样本量,默认值为4M
ingestion_burst_size_mb: 15 #修改每用户摄入速率限制,即每秒样本量,默认值为6M
chunk_store_config:
#max_look_back_period: 168h #回看日志行的最大时间,只适用于即时日志
max_look_back_period: 0s
table_manager:
retention_deletes_enabled: false #日志保留周期开关,默认为false
retention_period: 0s #日志保留周期
注意:这几行要去掉否则会报错
wal:
enabled: true
dir: /tmp/wal
recover: true
promtail-local-config.yaml
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml
clients:
- url: http://192.168.15.144:3100/loki/api/v1/push
scrape_configs:
- job_name: system
static_configs:
- targets:
- localhost
labels:
job: varlogs
__path__: /var/log/*log
- job_name: file
static_configs:
- targets:
- localhost
labels:
job: file
__path__: /root/java/plg/log/fileService/logback-file.log
clients配置的是loki客户端的地址
scrape_configs配置收集日志的labels和日志挂载的路径
4.启动Loki和promtail
loki
创建目录和授权
mkdir -p /root/java/plg/loki/index
mkdir -p /root/java/plg/loki/chunks
chmod -R 777 /root/java/plg/loki/index
chmod -R 777 /root/java/plg/loki/chunks
docker run -d \
--name loki \
--privileged=true \
-v /root/java/plg/loki:/mnt/config \
-v /root/java/plg/loki/index:/tmp/loki/index \
-v /root/java/plg/loki/chunks:/tmp/loki/chunks \
-p 3100:3100 \
-p 9096:9096 \
grafana/loki:2.0.1 -config.file=/mnt/config/loki-local-config.yaml
promtail
docker run -d \
--name promtail \
--privileged=true \
-v /root/java/plg/promtail:/mnt/config \
-v /opt/product/file-service/logs:/root/java/plg/log/fileService \
grafana/promtail:latest -config.file=/mnt/config/promtail-local-config.yaml
grafana
docker run -d \
--name grafana \
-p 3000:3000 \
grafana/grafana:latest
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QbSAFr9C-1636021526889)(C:\Users\pc\Desktop\截图\Dingtalk_20211104171618.jpg)]
启动出错一般都是这几个地方(踩过的坑)
doker -v 目录挂载 宿主机目录:容器目录---->(目录挂载出错)
docker -p 端口映射 宿主机端口:容器端口---->(端口映射出错)
-config.file-------------------------------------------------> (配置文件路径错误)
可以用 netstat -nap | grep port 命令去看看端口是否通的
可以用 docker logs -f --tail=100 容器ID/容器名 命令去查看日志
5.docker常用命令
查看docker仓库镜像列表
docker images
查看正在运行容器列表
docker ps
查看所有容器 -----包含正在运行 和已停止的
docker ps -a
停止容器
docker stop 容器ID/容器名
重启容器
docker restart 容器ID/容器名
启动容器
docker start 容器ID/容器名
kill 容器
docker kill 容器ID/容器名
删除容器
docker rm -f 容器ID/容器名
查看日志
docker logs -f --tail=100 容器ID/容器名
6.访问grafana
http://Ip:3000/
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q02CyjXl-1636021526891)(C:\Users\pc\Desktop\截图\Dingtalk_20211104182229.jpg)]
标签:11,容器,promtail,04,grafana,loki,2021,docker,config 来源: https://blog.csdn.net/weixin_43757027/article/details/121148439