首页 > 其他分享 >docker搭建Grafana+Loki+Promtail日志分析

docker搭建Grafana+Loki+Promtail日志分析

时间:2024-01-09 16:38:04浏览次数:30  
标签:Promtail config Loki loki usr glp promtail Grafana local

环境搭建

Grafana 搭建

docker search grafana
docker pull grafana/grafana
docker run -d -p 3000:3000 --name grafana grafana/grafana

Loki 搭建

创建宿主机目录

mkdir -p /usr/local/glp/loki/index
mkdir -p /usr/local/glp/loki/chunks
chmod -R 777 /usr/local/glp/loki/index
chmod -R 777 /usr/local/glp/loki/chunks

创建loki 配置文件

mkdir /usr/local/glp/loki-config.yaml

loki-config.yaml内容

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: 2021-01-01
      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  #日志保留周期

安装loki

docker search loki
docker pull grafana/loki


docker run -d \
--name loki \
--privileged=true \
-v /usr/local/glp/loki:/mnt/config \  #挂载配置文件目录
-v /usr/local/glp/loki/index:/opt/loki/index \  #挂载宿主机索引目录
-v /usr/local/glp/loki/chunks:/opt/loki/chunks \
-p 3100:3100 \
grafana/loki \
-config.file=/mnt/config/loki-config.yaml  # 使用挂载的配置文件

Promtail搭建

创建promtail 配置文件

mkdir /usr/local/glp/promtail
vi /usr/local/glp/promtail/promtail-config.yaml

promtail-config.yaml配置内容如下

server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /tmp/positions.yaml

#连接Loki的地址
clients:
  - url: http://192.168.124.111:3100/loki/api/v1/push

scrape_configs:
 - job_name: system
   pipeline_stages: # 描述如何对目标日志进行结构化
   static_configs: #静态配置允许指定一个目标列表和标签集
   - targets:  # 这是 Prometheus 服务发现代码所要求的,但并不适用于Promtail,它只能查看本地机器上的文件。因此,它应该只有 localhost 的值,或者可以完全移除它,Promtail 会使用 localhost 的默认值。
      - localhost
     labels:
      #标签,用于后面的查询
      job: demo
      #容器内存储的日志文件路径 创建容器的时候需要此目录和宿主机的日志目录挂载
      __path__: /var/log/*.log

启动容器

docker run -d \
--name promtail \
--privileged=true \
-v /usr/local/glp/promtail:/mnt/config \ #配置文件目录
-v /root/demo/log:/var/log \  # 挂载宿主机的日志目录到容器内 让容器可读 宿主机目录:上面配置 __path__ 指定的容器内目录
# -v /usr/local/joyoh/log:/var/log \ #可以挂载多个日志目录
grafana/promtail \
-config.file=/mnt/config/promtail-config.yaml  #使用挂载的配置文件

界面配置

打开Grafana安装路径 http://192.168.124.111:3100
初始账户密码为 :admin/admin




标签:Promtail,config,Loki,loki,usr,glp,promtail,Grafana,local
From: https://blog.51cto.com/u_64214/9162675

相关文章

  • Prometheus+Grafana:转转如何打造开箱即用的一体化监控系统?
    一分钟精华速览面对业务侧和架构侧的双重“降本+提效”需求,转转结合自家业务的特性进行二次开发,构建出一套集业务服务、架构中间件、运维资源于一体的立体式监控平台。转转借此平台实现了对于各业务线的全方位监控和报警。在构建这个监控系统的过程中,转转围绕简化链路、权限与看......
  • day28 基于Loki的日志收集系统-基于Loki特性的场景变现及优化 (9.8-9.9)
    9.8-基于Loki的日志收集系统一、EFKvsLPG架构和组件Loki:Loki是一个开源的水平可扩展日志聚合系统,由Promtail、Loki和Grafana组成。EFK:EFK是一个集成的解决方案,由Elasticsearch、Fluentd和Kibana组成。存储和查询:Loki:Loki使用基于日志流的存储方式,将日志数据存储为可压......
  • 如何使用loki查询日志中大于某一数字的值的日志
    简介loki是一款轻量级的日志收集中间件,比elk体系占用的内存更小,采用go语言开发,可以利用grafana来查询loki中存储的日志,loki存储日志只对提前预设的标签做索引,所以日志存储空间占用比elk小很多。方法loki只对提前预设的标签做索引,但如果我们想给标签之外的文本根据其值代表的数......
  • Prometheus+Grafana:转转如何打造开箱即用的一体化监控系统?
    一分钟精华速览面对业务侧和架构侧的双重“降本+提效”需求,转转结合自家业务的特性进行二次开发,构建出一套集业务服务、架构中间件、运维资源于一体的立体式监控平台。转转借此平台实现了对于各业务线的全方位监控和报警。在构建这个监控系统的过程中,转转围绕简化链路、权限与看板......
  • 性能集成监控系统exporter+Prometheus+Grafana
    Prometheus是一个时序数据库,存数据exporter是收集器,来收集被监控的数据,想要监控不同的内容,就使用不同的exporter,这个exporter应该放在被测服务器上,再把exporter和Prometheus进行关联。一、环境搭建参考文档 https://blog.csdn.net/xiaoyu_0829/article/details/123253186P......
  • 使用 OpenTelemetry 和 Loki 实现高效的应用日志采集和分析
    在之前的文章陆续介绍了如何在Kubernetes中使用Otel的自动插桩以及Otel与服务网格协同实现分布式跟踪,这两篇的文章都将目标聚焦在分布式跟踪中,而作为可观测性三大支柱之一的日志也是我们经常使用的系统观测手段,今天这篇文章就来体验下应用日志的操作闭环。背景OpenTele......
  • 使用 OpenTelemetry 和 Loki 实现高效的应用日志采集和分析
    在之前的文章陆续介绍了如何在Kubernetes中使用Otel的自动插桩以及Otel与服务网格协同实现分布式跟踪,这两篇的文章都将目标聚焦在分布式跟踪中,而作为可观测性三大支柱之一的日志也是我们经常使用的系统观测手段,今天这篇文章就来体验下应用日志的操作闭环。背景OpenTel......
  • 软件测试/测试开发|Docker+Jmeter+InfluxDB+Grafana 搭建性能监控平台
    为什么要搭建性能监控平台?1.1需求背景在用Jmeter获取性能测试结果的时候,Jmeter本身带有聚合报告如下图所示:这个报告有几个很明显的缺点:只能自己看,无法实时共享;报告信息的展示比较简陋单一,不直观;1.2需求方案为了解决上述问题,必须要请出了InfluxDB+Grafana:InfluxDB:持续型......
  • jmeter +prometheus+grafana做性能测试监控
    1,环境搭建--->mac系统打开终端terminal,复制并粘贴以下命令:/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install.sh)然后按回车brew-version查看版本 2,安装prometheus方法一:brewinstallprometheus 安装完毕后,通过pwd查看......
  • prometheus告警记录——grafana模板
    grafana面板{"annotations":{"list":[{"builtIn":1,"datasource":{"type":"datasource","uid":"grafana"},......