Docker 搭建Loki+promtail+grafana日志监控

经过一周的踩坑摸索,终于搭建了一套属于自己的日志监控系统,如有不到之处,还望各位不吝赐教。

来,上手开始!!!

1.拉取镜像

docker pull grafana/grafana:7.4.3

docker pull grafana/promtail:2.1.0

docker pull grafana/loki:2.1.0

2.loki搭建

1)新建配置文件

mkdir -p /data/soft/loki/

cd /data/soft/loki/

touch loki-config.yaml

 配置文件内容如下:

auth_enabled: false
server:
  http_listen_port: 3100 #云服务器需开放3100端口
  grpc_listen_port: 9096 #云服务器需开放9096端口
  grpc_server_max_recv_msg_size: 1073741824  #grpc最大接收消息值,默认4m
  grpc_server_max_send_msg_size: 1073741824  #grpc最大发送消息值,默认4m
ingester:
  lifecycler:
    address: 127.0.0.1
    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-01-01
      store: boltdb
      object_store: filesystem
      schema: v11
      index:
        prefix: index_
        period: 168h
storage_config:
  boltdb:
    directory: /opt/loki/index #存储索引地址
  filesystem:
    directory: /opt/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  #日志保留周期

2)启动容器

创建文件并授权

mkdir -p /data/soft/loki/index
mkdir -p /data/soft/loki/chunks
chmod -R 777 /data/soft/loki/index
chmod -R 777 /data/soft/loki/chunks

启动

我这里设置了2G内存,各位按照实际情况分配

docker run -d \
--name loki \
--privileged=true \
-v /data/soft/loki:/mnt/config \
-v /data/soft/loki/index:/opt/loki/index \
-v /data/soft/loki/chunks:/opt/loki/chunks \
-p 3100:3100 \
-p 9096:9096 \
-m 2048m \
grafana/loki:2.1.0 -config.file=/mnt/config/loki-config.yaml

验证:

curl http://127.0.0.1:3100/api/prom/label

curl localhost:3100/loki/api/v1/labels

返回分别如下图:

 

 则说明配置成功。

3.promtail搭建

1)新建配置文件

创建目录:

mkdir -p /data/soft/promtail/

cd /data/soft/promtail/

touch promtail-config.yaml

文件内容如下:

server:
  http_listen_port: 9080 #云服务器需开放9080端口
  grpc_listen_port: 0

positions:
  filename: /tmp/positions.yaml

#把loki当客户端连接
clients:
  - url: http://你的loki服务器ip:3100/loki/api/v1/push

scrape_configs:
 - job_name: admin-server
   pipeline_stages:
   static_configs:
   - targets:
      - localhost
     labels:
      #标签,用于后面的查询
      job: admin-server
      __path__: /var/log/admin/*.log #注意,这里的路径是映射主机的/data/logs/admin/目录

2)启动容器

我这里设置了1G内存,各位按照实际情况分配

docker run -d \
--name promtail \
--privileged=true \
-v /data/soft/promtail:/mnt/config \
-v /data/logs/:/var/log \
-v /etc/localtime:/etc/localtime:ro \
-p 9080:9080 \
-m 1024m \
grafana/promtail:2.1.0 -config.file=/mnt/config/promtail-config.yaml

4.grafana搭建

1)启动容器

我这里设置了512m内存,各位按照实际情况分配

docker run -d \
--name grafana \
-p 3000:3000 \
-m 512m \
grafana/grafana:7.4.3

2)访问

打开grafana

192.168.12.21:3000/

输入用户名密码:admin/admin

至此,安装配置已经完成,可以测试一下是否能看到所监控的日志。 

参考:https://blog.csdn.net/qq_30442207/article/details/114583870

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值