部署loki,grafana 以及springcloud用法举例

文章目录

      • 场景
      • docker 部署grafana
      • docker-compose部署loki
          • 维护配置文件 local-config.yaml
          • 维护docker-compose.yml配置
          • 启动
      • grafana 添加loki数据源
      • springcloud用法举例
      • 查看loki的explore,查看日志

场景

小公司缺少运维岗位,需要研发自己部署日志系统,elk太过笨重,对于研发来说部署也有困难.下面演示下快速部署loki,grafana 以及在springcloud项目的使用方法

docker 部署grafana

docker run -d --name grafana -p 3000:3000 grafana/grafana:latest

docker-compose部署loki

维护配置文件 local-config.yaml
auth_enabled: falseserver:http_listen_port: 3100ingester:lifecycler:ring:kvstore:store: inmemoryreplication_factor: 1chunk_idle_period: 3mchunk_retain_period: 1mlimits_config:reject_old_samples: truereject_old_samples_max_age: 168hallow_structured_metadata: falseschema_config:configs:- from: 2024-12-01store: boltdb-shipper  # 使用 boltdb-shipper 作为存储object_store: filesystemschema: v11  # 选择受支持的 schema 版本index:prefix: index_period: 24hstorage_config:boltdb_shipper:  # 使用 boltdb-shipper 作为存储后端active_index_directory: /loki/index/activecache_location: /loki/cachefilesystem:  # 文件系统配置directory: /loki/chunks  # 使用 chunks 存储目录compactor:working_directory: /loki/boltdb-shipper-compactortable_manager:retention_deletes_enabled: falseretention_period: 0scommon:path_prefix: /loki  # 设置路径前缀      
维护docker-compose.yml配置

version: '3.8'services:loki:image: grafana/loki:latestcontainer_name: lokiports:- "3100:3100"volumes:# 挂载配置文件到容器内- ./local-config.yaml:/etc/loki/local-config.yamlcommand:- '--config.file=/etc/loki/local-config.yaml'
启动

docker-compose up -d

grafana 添加loki数据源

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

springcloud用法举例

  1. 定义版本管理
            <dependency><groupId>com.github.loki4j</groupId><artifactId>loki-logback-appender</artifactId><version>${loki-logback-appender.version}</version></dependency>
  1. 引入到微服务
       <!--  使用loki管理日志       --><dependency><groupId>com.github.loki4j</groupId><artifactId>loki-logback-appender</artifactId></dependency>
  1. 在 logback-spring.xml 添加LOKI的appender
<!-- 引入应用名称 -->
<springProperty name="name" source="spring.application.name"/><!-- Loki输出器 --><appender name="LOKI" class="com.github.loki4j.logback.Loki4jAppender"><http><url>http://100.64.0.4:3100/loki/api/v1/push</url></http><format><label><pattern>application=${name},level=%level</pattern><readMarkers>true</readMarkers></label><message><pattern>{"timestamp": "%d{yyyy-MM-dd HH:mm:ss.SSS}", "level": "%level", "logger": "%logger{36}.%method", "method":"%M", "line":"%line", "thread": "%thread", "message": "%msg%n"}</pattern></message><sortByTime>true</sortByTime></format></appender><!-- 本地环境 --><springProfile name="local"><root level="INFO"><appender-ref ref="STDOUT"/><appender-ref ref="LOKI"/>  </root></springProfile>

查看loki的explore,查看日志

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

keil报错---connection refused due to device mismatch

解决办法如下&#xff1a; 记得改成1 把Enable取消

第三节、电机定速转动【51单片机-TB6600驱动器-步进电机教程】

摘要&#xff1a;本节介绍用定时器定时的方式&#xff0c;精准控制脉冲时间&#xff0c;从而控制步进电机速度 一、计算过程 1.1 电机每一步的角速度等于走这一步所花费的时间&#xff0c;走一步角度等于步距角&#xff0c;走一步的时间等于一个脉冲的时间 w s t e p t … ……

vue中pdf.js的使用,包括pdf显示,跳转指定页面,高亮关键词

目录 一、下载pdf.js 二、引入到本地的项目中 三、实现预览pdf 四、跳转到指定页面 五、利用pdf里面的find查找关键词 六、修改页面大小为实际大小 一、下载pdf.js https://github.com/mozilla/pdf.js 里面有很多的版本&#xff0c; 高版本的可能浏览器不兼容或者还要考…

OD B卷【连续字母长度】

题目 给定一个字符串&#xff0c;只包含大写字母&#xff0c;求在包含同一字母的子串中&#xff0c;长度第k长的子串的长度&#xff0c;相同字母只取最长的那个子串。 输入描述&#xff1a; 第一行输入一个子串&#xff08;长【1,100】&#xff09;&#xff0c;只包含大写字母…

python中的 Pydantic 框架介绍

Pydantic 框架介绍 Pydantic 是一个用于数据验证和设置管理的 Python 库。它主要通过数据模型类的定义来处理 JSON 数据、解析请求和响应数据&#xff0c;并提供自动化的验证和转换。Pydantic 主要用于处理 Python 类型的安全性和验证&#xff0c;尤其在 FastAPI 等现代 Pytho…

桥接模式和组合模式的区别

桥接模式&#xff08;Bridge Pattern&#xff09;和组合模式&#xff08;Composite Pattern&#xff09;都是结构型设计模式&#xff0c;旨在解决对象结构的复杂性问题&#xff0c;但它们的应用场景和目的有所不同。以下是它们的区别&#xff1a; 1. 定义与目的 桥接模式&…

Qt 小项目 学生管理信息系统

主要是对数据库的增删查改的操作 登录/注册界面&#xff1a; 主页面&#xff1a; 添加信息&#xff1a; 删除信息&#xff1a; 删除第一行&#xff08;支持多行删除&#xff09; 需求分析&#xff1a; 用QT实现一个学生管理信息系统&#xff0c;数据库为MySQL 要求&#xf…

14.数据容器-set集合

特点 无序的&#xff0c;元素不重复&#xff0c;自带去重功能。 可以容纳不同类型的元素数据。 # 定义一个空set my_set {} your_set set() my_set {aa, bb, bb, aa} # {aa, bb} print(my_set) 因为set集合是无序的&#xff0c;所以集合不支持下标索引访问。所以set集合…

“量子跃迁与数据织网:深入探索K最近邻算法在高维空间中的优化路径、神经网络融合技术及未来机器学习生态系统的构建“

&#x1f3bc;个人主页&#xff1a;【Y小夜】 &#x1f60e;作者简介&#xff1a;一位双非学校的大二学生&#xff0c;编程爱好者&#xff0c; 专注于基础和实战分享&#xff0c;欢迎私信咨询&#xff01; &#x1f386;入门专栏&#xff1a;&#x1f387;【MySQL&#xff0…

硬件选型规则

光源选型: 先用型号中带H的&#xff0c;没有的选标准的. 光源和光源控制器的搭配需要确保接口一致。 根据型号表中的最佳工作距离和相机的尺寸。 光源控制器选型&#xff1a; 首先选择海康风格系列光源控制器考虑与光源的接口匹配。功率应该满足接近光源功率。检查是否退市…

【QNX+Android虚拟化方案】135 - QNX侧如何Dump 88Q5152 MIBS报文计数

【QNX+Android虚拟化方案】135 - QNX侧如何Dump 88Q5152 MIBS报文计数 一、读取 88Q5152 MIBS 计数二、读取 88Q5152 WDT 相关寄存器基于原生纯净代码,自学总结 纯技术分享,不会也不敢涉项目、不泄密、不传播代码文档!!! 本文禁止转载分享 !!! 汇总链接:《【QNX+Andro…

C#核心(15)继承中的构造函数

前言 我们之前学过构造函数是什么东西&#xff0c;今天的内容也和构造函数紧密相关&#xff0c;一个继承了父亲的子类里面构造函数的规则是什么样的&#xff0c;今天内容很简单&#xff0c;请听我慢慢讲来。 基本概念 特点&#xff1a;当申明一个子类时&#xff0c;先执行父…

TVbox源贡献指南

欢迎各路大佬踊跃提PR&#xff0c;分享爬虫代码。 源码仓库地址 https://github.com/lushunming/AndroidCatVodSpider 快速开始 本工程是一个完整的AndroidStudio工程&#xff0c;请你用AS打开编辑。 工程调试完毕后要需要导出生成jar文件配合软件使用&#xff0c;执行根目…

FastAPI快速入门

文章目录 了解FastAPI程序结构第一步&#xff0c;导入FastAPI第二步&#xff0c;创建一个app实例第三步&#xff0c;编写一个 路径操作装饰器第五步、运行开发服务器uvicorn main:app --reload即可访问api链接。符案例 声明路径参数声明路径参数的类型get请求查询参数请求体如何…

云计算.运维.面试题

1、计算机能直接识别的语言( C )。 A、汇编语言 B、自然语言 C、机器语言 D、高级语言 2、应用软件是指( D )。 A、所有能够使用的软件 B、能被各应用单位共同使用的某种软件 C、所有计算机上都应使用的基本软件D、专门为某一应用目的而编制的软件 3、计算机的显示器是一…

如何优雅地实现单例模式?内部静态类还是双重检查锁定?

在最近的一个项目中&#xff0c;我需要为一个核心配置类实现单例模式。在设计过程中&#xff0c;我发现要同时满足延迟加载和线程安全这两个要求&#xff0c;常见的实现方式有两种&#xff1a;内部静态类和双重检查锁定&#xff08;Double-Checked Locking, DCL&#xff09;。 …

【计算机网络】 —— 数据链路层(壹)

文章目录 前言 一、概述 1. 基本概念 2. 数据链路层的三个主要问题 二、封装成帧 1. 概念 2. 帧头、帧尾的作用 3. 透明传输 4. 提高效率 三、差错检测 1. 概念 2. 奇偶校验 3. 循环冗余校验CRC 1. 步骤 2. 生成多项式 3. 例题 4. 总结 四、可靠传输 1. 基本…

golang实现简单的redis服务

golang 手搓redis服务器仓库地址:实现思路: golang 手搓redis服务器 仓库地址: 仓库: https://github.com/dengjiayue/my-redis.git 实现思路: ● 协议: tcp通信 ● 数据包: 长度(4byte)方法(1byte)数据json ● 数据处理: 单线程map读写 ○ 依次处理待处理队列的请求(chan)…

智慧银行反欺诈大数据管控平台方案(八)

智慧银行反欺诈大数据管控平台的核心理念&#xff0c;在于通过整合先进的大数据技术、算法模型和人工智能技术&#xff0c;构建一个全面、智能、动态的反欺诈管理框架&#xff0c;以实现对金融交易的全方位监控、欺诈行为的精准识别和高效处理。这一理念强调数据驱动决策&#…

3D 生成重建019-LERF用文本在Nerf中开启上帝之眼

3D 生成重建019-LERF用文本在Nerf中开启上帝之眼 文章目录 0 论文工作1 论文方法2 实验结果 0 论文工作 人类利用自然语言描述物理世界&#xff0c;根据各种特性&#xff08;视觉外观、语义、抽象关联&#xff09;寻找具体的3D位置。在这项工作中&#xff0c;作者提出了语言嵌…