Loki+Grafana监控docker容器日志

news2024/10/7 4:33:46

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

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

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

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

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

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

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

 解决:进入目录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为中文界面

左侧点击connections,连接 

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

添加URL,地址为http://主机IP:3100,下方点save/test即可 

添加成功 

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/716392.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3.3C++输入流

C 输入概述 C输入是指程序从外部获取数据的过程。 C提供多种输入方法,包括从键盘输入、从文件读取、从网络获取,最常用的是从键盘输入。 C输入数据的函数是cin,它可以读取各种类型的数据,包括整数、浮点数、字符和字符串等。 …

7.1.8 其他Linux支持的文件系统与VFS

虽然 Linux 的标准文件系统是 ext2 ,且还有增加了日志功能的 ext3/ext4 ,事实上,Linux 还有支持很多文件系统格式的, 尤其是最近这几年推出了好几种速度很快的日志式文件系统,包括 SGI 的 XFS 文件系统, 可…

css文字超出元素省略,单行、多行省略

效果图: 通用CSS .box {width: 500px;border: 1px solid red;padding: 10px;line-height: 24px;}1.单行省略 .singe-line {text-overflow: ellipsis;overflow: hidden;word-break: break-all;white-space: nowrap;}<p>单行省略</p><div class"singe-lin…

如何统一接口测试的功能、自动化和性能测试用例

服务端的测试&#xff0c;大多数内容都围绕着接口展开。对于接口测试&#xff0c;无非也是功能、自动化、性能测试为主&#xff0c;偶然想到一个问题&#xff0c;如果能写一个用例&#xff0c;在功能、自动化、性能三者的测试场景中重复使用&#xff0c;肯定能省去非常多的时间…

webpack相关面试题

webpack面试题 1.webpack和vite区别2.如何优化webpack打包速度&#xff1f;3.说说webpack中常见的Plugin&#xff1f;解决了什么问题4.说说如何借助webpack来优化前端性能&#xff1f;如何优化JS代码压缩CSS代码压缩Html文件代码压缩文件大小压缩图片压缩Tree ShakingusedExpor…

中小企业的数字化热情,从未像今年618这样滚烫

一年一度的618大促告一段落&#xff0c;我们可以总结一个趋势&#xff1a;C端消费者对大促的热情在消退&#xff0c;而B端企业&#xff0c;尤其是中小企业&#xff0c;对大促的热情则以肉眼可见的速度提升。 普通消费者也好&#xff0c;广大中小企业也罢&#xff0c;参与大促的…

SSMP整合案例(11) 在界面中实现添加操作

上文 SSMP整合案例(10) vue端调整项目环境 发送请求 基本界面编写我们搭建了基本的页面结构 然后 我们来做个新增的功能 首先 新增 我们肯定是用户点击了这个新建之后 我们再来处理这个逻辑 我们之前的代码 新增是有绑定 一个事件的 但是这个 AddBook中并没有内容 首先 我们…

想要经营好抖音小店,你还需要了解这些活动方法

抖音小店作为抖音上的新零售业务形态&#xff0c;旨在为用户提供更加便捷的购物体验&#xff0c;同时也为商家提供了一个新的销售渠道。在使用抖音小店的过程中&#xff0c;有一些主流的玩法&#xff0c;今天不若与众科技就来介绍一下。 1. 抖音小店开通直播带货服务 开通直播…

PowerToys工具介绍及使用

目录 介绍下载使用和功能介绍1.安装后的效果2.始终置顶3.唤醒4.颜色选择器5.FancyZones 窗口分屏器6.File Locksmith7.文件资源管理器加载项8.Host文件编辑器9.图像大小调整器10.键盘管理器11.速览12.PowerRename13.文本提取器 介绍 PowerToys 是微软最初发布于 Windows 95 平…

计算机毕业论文选题推荐|软件工程|小程序系列选题

文章目录 导文题目导文 计算机毕业论文选题推荐|软件工程 (***语言)==使用其他任何编程语言 例如:基于(***语言)门窗账务管理系统的设计与实现 得到:基于JAVA门窗账务管理系统的设计与实现 基于vue门窗账务管理系统的设计与实现 等等 题目 基于微信小程序和深度学习的宠物…

Minio设置文件链接永久有效的完整步骤

目录 前言1.下载MinIO Client2.运行MinIO Client3.添加一个云存储服务4.验证5.policy命令 - 管理存储桶策略总结 前言 minio分享文件的链接&#xff0c;最多支持分享七天 通过 MinIO客户端 管理存储桶策略的方式实现文件链接永久有效 1.下载MinIO Client 采用 Docker 方式 …

拓展销售渠道是客户管理系统的重要功能

随着市场竞争的加剧&#xff0c;人们对于未来的期望和追求越来越高。科技的飞速发展和全球化的趋势&#xff0c;使得我们的生活方式和工作方式都发生了翻天覆地的变化。企业需要不断拓展销售渠道&#xff0c;以吸引更多的客户和提高销售额。客户管理系统&#xff08;CRM&#x…

性能测试岗位常见面试题及答案,希望可以帮到你

目录 前言 一、基础篇 二、工具篇 三、系统架构篇 四、服务器&中间件篇 五、数据库篇 七、案例篇 总结&#xff1a; 前言 最近有童鞋找我问一些性能测试相关的问题&#xff0c;其中问的次数最多的&#xff0c;还是面试性能测试岗位&#xff0c;一般会问哪些问题&am…

Nacos架构与原理 -服务网格生态

文章目录 背景什么是服务网格单体架构向微服务体系架构的演进服务发现负载均衡熔断限流可观测 &#xff08;监控告警&#xff09;认证鉴权其他....小结 微服务体系架构的传统解决方案下⼀代微服务架构——服务网格 服务网格明星产品 Istio什么是 IstioEnvoyEnvoy 和 Istio Isti…

将Python的py文件打包成exe可执行文件

安装依赖包&#xff1a;pip install Pyinstaller pip install Pyinstaller 切换你要打包程序的路径 打开路径文件夹&#xff0c;在路径输入cmd即可 3.执行命令 pip install Pyinstaller 会在当前的py文件夹下生成一个dist文件&#xff0c;里面有一个exe文件

【java面试题】java那些经典的面试题,你还记得吗,少年加油,java八股文

java八股文&#xff0c;你能答对95%以上吗&#xff1f;少年 还有更多文档&#xff1a; 需要给我留言&#xff0c;我发给你。 java八股文&#xff0c;你能答对95%以上吗&#xff1f;少年 感恩于心&#xff0c;回报于行。 面试宝典系列-Java 第一章 内容介绍 ...................…

7.5 内存交换空间(swap)之创建

安装时一定需要的两个 partition &#xff0c;一个是根目录&#xff0c;另外一个就是 swap&#xff08;内存交换空间&#xff09;。 一般来说&#xff0c;如果硬件的配备资源足够的话&#xff0c;那么 swap 应该不会被我们的系统所使用到&#xff0c;swap 会被利用到的时刻通常…

const函数和assert函数:提高代码质量的利器

前言 在C中&#xff0c;const函数和assert函数是非常重要的概念。它们可以帮助我们确保代码的正确性和可靠性。那么在本期&#xff0c;我们将深入探讨这两个概念的作用和用法 目录 前言 一、如何写出优秀的代码&#xff1f; 二、assert 三、const const左修饰&#xff1a;…

halcon实现对点云的平移、旋转、线性运动等动画效果操作

一、点云从点A沿直线运动至B点 过程为&#xff1a; 1、读取点云 本例子用凸包算子convex_hull_object_model_3d生成点云&#xff0c;这个步骤可以换成自己的&#xff0c;直接读取点云即可。 2、设置旋转的角度 3、对点云进行转化 4、显示 5、带动画效果的移动代码 dev_…

3D机器视觉市场现状及未来发展趋势

原创 | 文 BFT机器人 当前&#xff0c;3D机器视觉市场正在经历快速发展阶段。多年来&#xff0c;该技术的应用领域也在不断扩大&#xff0c;特别是在工业制造和安防监控等多个领域具有广泛应用。这一持续发展得益于行业技术的不断进步。 3D机器视觉是指利用计算机视觉技术实现对…