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

文章目录

场景

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

docker 部署grafana

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

docker-compose部署loki

维护配置文件 local-config.yaml
yaml 复制代码
auth_enabled: false

server:
  http_listen_port: 3100

ingester:
  lifecycler:
    ring:
      kvstore:
        store: inmemory
      replication_factor: 1
  chunk_idle_period: 3m
  chunk_retain_period: 1m

limits_config:
  reject_old_samples: true
  reject_old_samples_max_age: 168h
  allow_structured_metadata: false

schema_config:
  configs:
    - from: 2024-12-01
      store: boltdb-shipper  # 使用 boltdb-shipper 作为存储
      object_store: filesystem
      schema: v11  # 选择受支持的 schema 版本
      index:
        prefix: index_
        period: 24h

storage_config:
  boltdb_shipper:  # 使用 boltdb-shipper 作为存储后端
    active_index_directory: /loki/index/active
    cache_location: /loki/cache
  filesystem:  # 文件系统配置
    directory: /loki/chunks  # 使用 chunks 存储目录

compactor:
  working_directory: /loki/boltdb-shipper-compactor

table_manager:
  retention_deletes_enabled: false
  retention_period: 0s

common:
  path_prefix: /loki  # 设置路径前缀      
维护docker-compose.yml配置
yml 复制代码
version: '3.8'

services:
  loki:
    image: grafana/loki:latest
    container_name: loki
    ports:
      - "3100:3100"
    volumes:
      # 挂载配置文件到容器内
      - ./local-config.yaml:/etc/loki/local-config.yaml
    command:
      - '--config.file=/etc/loki/local-config.yaml'
启动

docker-compose up -d

grafana 添加loki数据源



springcloud用法举例

  1. 定义版本管理
pom 复制代码
            <dependency>
                <groupId>com.github.loki4j</groupId>
                <artifactId>loki-logback-appender</artifactId>
                <version>${loki-logback-appender.version}</version>
            </dependency>
  1. 引入到微服务
pom 复制代码
       <!--  使用loki管理日志       -->
        <dependency>
            <groupId>com.github.loki4j</groupId>
            <artifactId>loki-logback-appender</artifactId>
        </dependency>
  1. 在 logback-spring.xml 添加LOKI的appender
xml 复制代码
<!-- 引入应用名称 -->
<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,查看日志


相关推荐
wu8587734572 天前
【实战指南】Spring Boot + Grafana 实时监控API请求与异常,让系统问题无处可藏
spring boot·grafana
yunson_Liu3 天前
kubernet在prometheus+alertmanager+grafana框架下新增部署loki模块
grafana·prometheus·loki
时空无限3 天前
grafana 配置页面告警
grafana
维C°3 天前
Grafana-查询和转换数据
grafana
树下一少年3 天前
docker-compose部署prometheus+grafana+node_exporter
docker·json·grafana·prometheus·node_exporter
饭桶也得吃饭7 天前
Docker Compose 部署 Loki
docker·loki
の Demon14 天前
性能测试之grafana展示jmeter测试指标与主机监控
jmeter·grafana
Sendingab15 天前
3.8 Spring Boot监控:Actuator+Prometheus+Grafana可视化
spring boot·grafana·prometheus
前端极客探险家16 天前
《前端监控与性能优化全景指南:构建企业级高性能应用》
前端·性能优化·grafana·prometheus·sentry
Hi2024021717 天前
基于Grafana+Prometheus的IB网卡硬件计数器监控方案
信息可视化·grafana·prometheus