- promtail:负责收集日志并将其发送给Loki
- loki:主服务器,服务存储日志和处理查询
- Grafana:用于查询和现实日志
docker pull grafana/grafana docker pull grafana/promtail docker pull grafana/loki2.拉取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.yaml3.修改配置文件 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
4.启动Loki和promtail lokiclients配置的是loki客户端的地址
scrape_configs配置收集日志的labels和日志挂载的路径
创建目录和授权
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.yamlpromtail
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.yamlgrafana
docker run -d --name grafana -p 3000:3000 grafana/grafana:latest启动出错一般都是这几个地方(踩过的坑)
5.docker常用命令doker -v 目录挂载 宿主机目录:容器目录---->(目录挂载出错)
docker -p 端口映射 宿主机端口:容器端口---->(端口映射出错)
-config.file-------------------------------------------------> (配置文件路径错误)
可以用 netstat -nap | grep port 命令去看看端口是否通的
可以用 docker logs -f --tail=100 容器ID/容器名 命令去查看日志
查看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/



