部署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用法举例
- 定义版本管理
<dependency><groupId>com.github.loki4j</groupId><artifactId>loki-logback-appender</artifactId><version>${loki-logback-appender.version}</version></dependency>
- 引入到微服务
<!-- 使用loki管理日志 --><dependency><groupId>com.github.loki4j</groupId><artifactId>loki-logback-appender</artifactId></dependency>
- 在 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,查看日志
相关文章:

部署loki,grafana 以及springcloud用法举例
文章目录 场景docker 部署grafanadocker-compose部署loki维护配置文件 local-config.yaml维护docker-compose.yml配置启动 grafana 添加loki数据源springcloud用法举例查看loki的explore,查看日志 场景 小公司缺少运维岗位,需要研发自己部署日志系统,elk…...

后端-编辑按钮的实现
编辑一共要实现两步: 1.点击编辑蹦出来一个弹窗,此时需要回显,根据id查出来这条数据 2.修改某些值之后点击保存的时候调用修改的接口 根据id查询的时候正常操作 修改值的时候要注意一些问题 mapper层的Employee和impl层的接收实体不一样...
uniapp中的@tap与@click:点击事件的微妙差异
在uniapp的开发过程中,我们经常会遇到两种点击事件:tap和click。虽然它们都是点击事件,但在实际使用中却存在一些微妙的差异。本文将详细解析这两种事件的区别,帮助开发者更好地理解和应用。 首先,让我们来看看它们的…...
Uniapp的vue、nvue、uvue后缀名区别
在 UniApp 中,.vue、.nvue 和 .uvue 是不同的文件后缀名,每个文件格式的使用场景和兼容性略有不同。下面是每个文件后缀的详细解释以及它们的兼容性: 1. .vue 文件 定义:.vue 是标准的 Vue 单文件组件格式,主要用于基…...

完美解决Qt Qml窗口全屏软键盘遮挡不显示
1、前提 说明:我使用的是第三方软键盘 QVirtualKeyboard QVirtualKeyboard: Qt5虚拟键盘支持中英文,仿qt官方的virtualkeyboard模块,但使用QWidget实现。 - Gitee.com 由于参考了几篇文章尝试但没有效果,链接如下: 文章一:可能…...
寄存器、缓存、内存三者关系
寄存器、缓存、内存三者关系: 按与CPU远近来分,离得最近的是寄存器,然后缓存(CPU缓存),最后内存。CPU计算时,先预先把要用的数据从硬盘读到内存,然后再把即将要用的数据读到寄存器。于是 CPU<--->…...

九、RNN的变体
RNN的变体 前言一、长短期记忆网络(LSTM)1.1 LSTM结构分析1.1.1 遗忘门1.1.1.1 遗忘门结构图与计算公式1.1.1.2 结构分析1.1.1.3 遗忘门的由来1.1.1.4 遗忘门的内部演示 1.1.2 输入门1.1.2.1 输入门结构图与计算公式1.1.2.2 结构分析1.1.2.3 输入门的内部…...
高级java每日一道面试题-2024年12月07日-JVM篇-如何选择垃圾收集器?
如果有遗漏,评论区告诉我进行补充 面试官: 如何选择垃圾收集器? 我回答: 在Java高级面试中,选择垃圾收集器(Garbage Collector,GC)是一个重要且常见的议题。选择合适的垃圾收集器对于优化应用程序的性能至关重要。以下是对如何…...

棋牌游戏项目ctrl + c无法退出进程问题
棋牌游戏项目ctrl c无法退出进程问题 运行的服务为 user , 启动命令为 cd user && go run main.go启动之前先加入调试语句 在 go func() { metric.Serve(...) } 打日志在 app.Run(...) 打日志 user/main.go var configFile flag.String("config", "…...

论文概览 |《Urban Analytics and City Science》2023.03 Vol.50 Issue.3
本次给大家整理的是《Environment and Planning B: Urban Analytics and City Science》杂志2023年3月第50卷第3期的论文的题目和摘要,一共包括18篇SCI论文! 论文1 A new kind of search 一种新型的搜索 【摘要】 ChatGPT (2022) was first launched o…...

前端知识1html
VScode一些快捷键 Ctrl/——注释 !——生成html框架元素 *n——生成n个标签 直接书写html的名字回车生成对应的标签 常见标签 span: <span style"color: red;">hello</span> <span>demo</span> span实现: 标题…...

Vue03
目录 一、今日目标 1.生命周期 2.综合案例-小黑记账清单 3.工程化开发入门 4.综合案例-小兔仙首页 二、Vue生命周期 三、Vue生命周期钩子 四、生命周期钩子小案例 1.在created中发送数据 六、工程化开发模式和脚手架 1.开发Vue的两种方式 2.Vue CLI脚手架 基本介绍…...

深入浅出:Gin框架路由与HTTP请求处理
深入浅出:Gin框架路由与HTTP请求处理 引言 在Web开发中,路由和HTTP请求处理是构建API的核心部分。Gin框架作为Go语言中最受欢迎的Web框架之一,提供了简洁而强大的工具来处理这些任务。本文将深入浅出地介绍如何使用Gin框架进行路由定义、处…...

C++初阶——模板初阶
目录 1、如何实现一个通用的交换函数 2、函数模板 2.1 函数模板的概念 2.2 函数模板的格式 2.3 函数模板的原理 2.4 函数模板的实例化 2.5 模板参数的匹配原则 3、类模板 3.1 类模板的格式 3.2 类模板的实例化 1、如何实现一个通用的交换函数 void Swap(int& lef…...

y3编辑器文档3:物体编辑器
文章目录 一、物体编辑器简介1.1 界面介绍1.2 复用(导入导出)1.3 收藏夹(项目资源管理)1.4 对象池二、单位2.1 数据设置2.2 表现设置2.3 单位势力和掉率设置2.4 技能添加和技能参数修改2.5 商店2.5.1 商店属性设置2.5.2 商店物品设置三、装饰物3.1 属性编辑3.2 碰撞体积四、…...

Linux-USB驱动实验
USB 是很常用的接口,目前大多数的设备都是 USB 接口的,比如鼠标、键盘、USB 摄像头等,我们在实际开发中也常常遇到 USB 接口的设备,本章我们就来学习一下如何使能 Linux内核自带的 USB 驱动。注意!本章并不讲解具体的 …...

【配置查询】.NET开源 ORM 框架 SqlSugar 系列
.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务…...

JavaWeb学习--cookie和session
目录 (一)Cookie概述 1.什么叫Cookie 2.Cookie规范 3.Cookie的覆盖 4.cookie的最大存活时间 (Cookie的生命) (二) Cookie的API 1.创建Cookie:new 构造方法 2.保存到客户端浏…...
Next.js系统性教学:动态路由与并行路由
更多有关Next.js教程,请查阅: 【目录】Next.js 独立开发系列教程-CSDN博客 目录 1. 动态路由 (Dynamic Routes) 1.1 动态路由的基础 1.2 获取动态参数 1.3 动态嵌套路由 1.4 捕获所有动态路由 2. 并行路由 (Parallel Routes) 2.1 并行路由的基础…...

Backblaze 2024 Q3硬盘故障质量报告解读
作为一家在2021年在美国纳斯达克上市的云端备份公司,Backblaze一直保持着对外定期发布HDD和SSD的故障率稳定性质量报告,给大家提供了一份真实应用场景下的稳定性分析参考数据: 以往报告解读系列参考: Backblaze发布2024 Q2硬盘故障…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...

嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...

基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道
文/法律实务观察组 在债务重组领域,专业机构的核心价值不仅在于减轻债务数字,更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明,合法债务优化需同步实现三重平衡: 法律刚性(债…...