基于docker 快速部署Loki、Promtail、Grafana,搭建一个轻量级日志收集系统。由于个人的云服务器上的Java服务没有日志收集系统,搭建ELK系统资源不够(只有2核4G),所以采用了这一套轻量级的日志收集系统。
1. 设置nginx日志格式
##
# Logging Settings
##
log_format access_json ' {"@timestamp":"$time_iso8601",'
' "host":"$server_addr",'
' "clientip":"$remote_addr",'
' "size":$body_bytes_sent,'
' "responsetime":$request_time,'
' "upstreamtime":"$upstream_response_time",'
' "upstreamhost":"$upstream_addr",'
' "request":"$request",'
' "uri":"$uri",'
' "domain":"$host",'
' "x_forwarded_for":"$http_x_forwarded_for",'
' "referer":"$http_referer",'
' "tcp_xff":"$proxy_protocol_addr",'
' "http_user_agent":"$http_user_agent",'
' "status":"$status"}' ;
access_log /var/log/nginx/access.log access_json;
2. 使用docker部署Loki、promtail、grafana
# 新建一个工作目录,后续会下载两个配置文件到当前目录并挂载到docker容器中
mkdir loki && cd $_
wget https://raw.githubusercontent.com/grafana/loki/v2.8.0/cmd/loki/loki-local-config.yaml -O loki-config.yaml
docker run --name loki -d -v $(pwd):/mnt/config -p 3100:3100 grafana/loki:2.8.0 -config.file=/mnt/config/loki-config.yaml
wget https://raw.githubusercontent.com/grafana/loki/v2.8.0/clients/cmd/promtail/promtail-docker-config.yaml -O promtail-config.yaml
docker run --name promtail -d -v $(pwd):/mnt/config -v /var/log:/var/log --link loki grafana/promtail:2.8.0 -config.file=/mnt/config/promtail-config.yaml
docker run --name grafana -d -p 3000:3000 --link loki grafana/grafana-oss
3. 配置grafana
3.1 访问并登录grafana
访问地址:http://机器IP:3000
用户名密码:admin/admin
3.2 添加数据源

配置 Loki 地址:http://loki:3100
点击 Save & test 测试并保存

4. 查看数据
4.1 切换到 grafana 左侧区域的 Explore
4.2. label browser

4.3. show logs

4.4. 大功告成

5. 其他
5.1. 给grafana设置新密码
进入容器:docker exec -it bash grafana
容器中执行:grafana-cli admin reset-admin-password 你的新密码


343

被折叠的 条评论
为什么被折叠?



