Loki+Grafana监控docker容器日志

这篇具有很好参考价值的文章主要介绍了Loki+Grafana监控docker容器日志。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目标:最近开发人员时常需要查看各个环境项目中容器日志,而直接通过ssh终端使用docker logs命令查看日志不太安全,这会导致很多人员知道服务器的账户和密码,有没有一种可以收集所有容器日志的平台系统。那么这套系统就是Loki+Grafana组合。

重要提醒:不要用于生产环境,否则loki容器日志过多导致服务器CPU占满,生成环境会异常缓慢,博主在摸索过程中吃亏了,血淋淋的教训。

适用于生产环境的方法,移步至另一篇博客:http://t.csdn.cn/cOiqD

最终效果:与docker logs控制台的信息一致,可实时显示,也可以过滤。

Loki+Grafana监控docker容器日志,docker,grafana,docker,loki文章来源地址https://www.toymoban.com/news/detail-520615.html

需要的工具:Loki,loki-docker-driver,Grafana

通过安装 docker loki plugin 直接采集docker容器日志,并推送至loki。不需要promtail应用。

现在使用的环境和版本:grafana/loki:2.8.2

在安装之前可以了解这个信息,docker容器控制台包含了标准输出和错误输出,我在容器的log日志中只有少量的信息。通过logging driver驱动转发给对应的应用。docker容器默认是json-file。

Loki+Grafana监控docker容器日志,docker,grafana,docker,loki

1、在需要监控的主机中,安装容器grafana/loki:2.8.2

创建目录:/home/apps/loki,

进入目录:cd /home/apps/loki,创建loki配置文件vi loki-config.yaml,并给权限chmod 777 ./*,不需要修改。

auth_enabled: false

server:
  http_listen_port: 3100
  grpc_listen_port: 3110
  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: 2023-07-03
      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  #日志保留周期

创建容器grafana/loki:2.8.2,容器挂载卷-v不要删除否则会报错

docker run -d \
--name loki \
--privileged=true \
-v /home/apps/loki:/mnt/config \
-v /home/apps/loki/wal:/wal \
-v /home/apps/loki/index:/opt/loki/index \
-v /home/apps/loki/chunks:/opt/loki/chunks \
-p 3100:3100 \
-p 9096:9096 \
--restart=always \
grafana/loki:2.8.2 -config.file=/mnt/config/loki-config.yaml

这个时候容器会报错重启,因为报错没有权限

Loki+Grafana监控docker容器日志,docker,grafana,docker,loki

 解决:进入目录cd /home/apps/loki,授权chmod -R 777 *

删除容器后再执行创建。docker rm -f loki

2、安装loki-docker-driver驱动

docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions

3、安装Grafana

docker run -d -p 3000:3000 --name=grafana -v /etc/localtime:/etc/localtime:ro grafana/grafana

本地防火墙开放3100,和3000端口

访问http://主机IP:3000,用户名默认应该是admin/admin

4、为单个容器添加日志驱动

先停止删除原来你想监控的容器。

再重新创建容器:

docker run --log-driver=loki \
    --log-opt loki-url="http://你的主机IP:3100/loki/api/v1/push" \
    --log-opt loki-retries=5 \
    --log-opt loki-batch-size=400 \
    --log-opt max-size=50m \
    --log-opt max-file=3 \
    --restart=always --name 你的容器名 镜像名:镜像版本

5、添加数据源

更改grafana为中文界面

Loki+Grafana监控docker容器日志,docker,grafana,docker,loki

左侧点击connections,连接 

Loki+Grafana监控docker容器日志,docker,grafana,docker,loki

添加连接,搜索Loki,选中数据源

Loki+Grafana监控docker容器日志,docker,grafana,docker,loki

添加URL,地址为http://主机IP:3100,下方点save/test即可 Loki+Grafana监控docker容器日志,docker,grafana,docker,loki

添加成功 

Loki+Grafana监控docker容器日志,docker,grafana,docker,loki

点击左侧探索, 进入查看页面。完成添加。

Loki+Grafana监控docker容器日志,docker,grafana,docker,loki

到了这里,关于Loki+Grafana监控docker容器日志的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用kubeshpere创建k8s容器日志系统grafana-loki

    k8s日志聚合平台grafana-loki,可以统一查看所有容器的日志运行。 效果:  使用kubeshpere创建loki应用十分的方便,减少了很多操作,易用的同时也实用,k8s不再是精通人员才能使用的编排系统。 1、在企业空间中,添加bitnami应用仓库 https://charts.bitnami.com/bitnami  2、创建loki应用

    2024年02月12日
    浏览(37)
  • docker compose 部署 grafana + loki + vector 监控kafka消息

    Centos7 随笔记录记录 docker compose 统一管理 granfana + loki + vector  监控kafka 信息。 当然如果仅仅是想通过 Grafana 监控kafka,推荐使用 Grafana Prometheus 通过JMX监控kafka 目录 1. 目录结构 2. 前提已安装Docker-Compose 3. docker-compose 自定义服务相关配置文件 3.1  配置 docker-compose-grafana-loki

    2024年02月03日
    浏览(33)
  • Grafana Loki 日志传输工具

    有各种不同的工具支持传输日志到Loki,有Grafana开发和第三方开发的工具。 Grafana 开发的工具: Grafana Agent Grafna 技术栈推荐客户端,支持收集度量、日志、跟踪和持续性能分析的遥测数据,跟Prometheus、OpenTelemetry、Grafana开源生态系统完全兼容 Promtail K8s首选的客户端,能够自动

    2024年02月02日
    浏览(25)
  • Grafana系列-Loki-基于日志实现告警

    Loki 系列文章 实际应用中除了基于 Metrics 告警, 往往还有基于日志的告警需求, 可以作为基于 Metrics 告警之外的一个补充. 典型如基于 NGINX 日志的错误率告警.本文将介绍如何基于 Loki 实现基于日志的告警. 本文我们基于以下 2 类实际场景进行实战演练: 基于 NGINX 日志的错误率告

    2024年02月05日
    浏览(29)
  • 搭建grafana+loki+promtail日志收集系统

    下载地址 https://github.com/grafana/loki/releases 安装包放在服务器目录:/opt 官网安装教程地址:Download Grafana | Grafana Labs

    2024年02月12日
    浏览(27)
  • 日志收集系统PLG(Promtail+Loki+Grafana)部署

    一、简 介 Loki是受Prometheus启发由Grafana Labs团队开源的水平可扩展,高度可用的多租户日志聚合系统。 开发语言: Google Go。它的设计具有很高的成本效益,并且易于操作。使用标签来作为索引,而不是对全文进行检索,也就是说,你通过这些标签既可以查询日志的内容也可以查

    2024年04月11日
    浏览(28)
  • k8s日志收集组件 Grafana loki --- 理论篇

    当我们在k8s上运行程序时,习惯的会使用ELK来收集和查询程序运行日志。今天我们介绍一款新的专为日志收集而生的神器:Grafana loki。Grafana Loki 是一组组件,可以组合成一个功能齐全的日志堆栈。 与其他日志记录系统不同,Loki 仅构建索引有关日志的元数据:标签(就像 P

    2024年02月10日
    浏览(37)
  • logstack 日志技术栈-04-opensource 开源工具 OpenObserve+Grafana Loki

    日志管理包含日志数据存储、处理、分析和可视化,通过利用日志管理工具,可以监控性能趋势、解决问题、检测异常并优化整体系统性能。 近年来,开源日志管理解决方案在大家寻求灵活且经济有效的方式来管理现代系统典型的大量日志数据时,获得了显著的关注。这些工

    2024年01月21日
    浏览(36)
  • 【Ubuntu】从Graylog到Grafana Loki:构建更强大的网络设备管理和监控系统

    在将Graylog部署到生产环境时,我们遇到了一些问题,其中最主要的是无法安装MongoDB并且无法随时重启机器去修改BIOS设置来修复问题 【 WARNING: MongoDB 5.0+ requires a CPU with AVX support, and your current system does not appear to have that! 】。为了寻找一个更可行的解决方案,我们决定将注意力

    2024年02月12日
    浏览(27)
  • grafana呈现loki从k8s/ingress-nginx中收集的日志-地区经纬度部分

    1,在用grafana展示loki日志的时候,想到用可视化的方式来呈现更直观,于是网上查找,找到一篇《如何用Loki来绘制Ingress Nginx监控大屏》被复用多次,按照其过程实践引用了12559的面板,但效果与原文描述的不一致,可能是gf版本,或者插件版本变更等原因造成。尝试了几次终

    2024年02月21日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包