当前位置: 首页 > news >正文

部署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.lryc.cn/news/499406.html

相关文章:

  • 后端-编辑按钮的实现
  • uniapp中的@tap与@click:点击事件的微妙差异
  • Uniapp的vue、nvue、uvue后缀名区别
  • 完美解决Qt Qml窗口全屏软键盘遮挡不显示
  • 寄存器、缓存、内存三者关系
  • 九、RNN的变体
  • 高级java每日一道面试题-2024年12月07日-JVM篇-如何选择垃圾收集器?
  • 棋牌游戏项目ctrl + c无法退出进程问题
  • 论文概览 |《Urban Analytics and City Science》2023.03 Vol.50 Issue.3
  • 前端知识1html
  • Vue03
  • 深入浅出:Gin框架路由与HTTP请求处理
  • C++初阶——模板初阶
  • y3编辑器文档3:物体编辑器
  • Linux-USB驱动实验
  • 【配置查询】.NET开源 ORM 框架 SqlSugar 系列
  • JavaWeb学习--cookie和session
  • Next.js系统性教学:动态路由与并行路由
  • Backblaze 2024 Q3硬盘故障质量报告解读
  • [创业之路-179]:《领先的密码 - BLM核心方法体系与企业实践》主要章节与主要内容
  • uniapp的生命周期
  • 基于 RNN(GRU, LSTM)+CNN 的红点位置检测(pytorch)
  • L2G3000-LMDeploy 量化部署实践
  • verilog编程规范
  • 飞飞5.4游戏源码(客户端+服务端+工具完整源代码+5.3fix+5.4patch+数据库可编译进游戏)
  • 【MySQL】——​​用一文领悟表的增删查改
  • Zabbix监控Oracle 19c数据库完整配置指南
  • 静态路由与交换机配置实验
  • 【jvm】讲讲jvm中的gc
  • openlayers地图事件