Grafan-Loki

本文详细介绍了如何在Grafana中集成Loki,包括部署Promtail代理从应用服务收集日志,配置Grafana-Loki以处理和展示数据,以及在Grafana中连接和查询Loki数据。步骤涵盖了从节点规划到安装、配置和日志查询的全过程。
摘要由CSDN通过智能技术生成

Grafana-Loki搭建

概述

Loki是一个受普罗米修斯启发的水平可扩展、高可用的多租户日志聚合系统。洛基与普罗米修斯的不同之处在于,他专注于日志而非度量,并通过推送而非拉取来收集日志
在这里插入图片描述

  1. App1 和 App2 就是我们应用服务(api-server,core-server)
  2. Agent (promtail)是一个代理程序,监听应用服务的代理程序,会监听他的日志文件,根据策略将日志文件发送给 Grafana loki,Agent程序是要和应用服务部署在同一个节点的
  3. Grafana loki 是一个日志处理程序,接收Agent的写请求,数据的包装,存储…,以及负责将数据响应给Grafana进行数据显示
  4. Grafana 就是一个数据可视化程序,负责显示数据,有丰富的仪表盘,数据显示功能
    完整的Grafana-Loki需要分别搭建Grafana,Grafana-Loki(loki,promtail)

节点,服务和目录的规划

  1. 准备了两个节点 192.168.52.198,192.168.17.176
  2. 192.168.52.198部署: 应用服务App(api/core-server)和 Agent (promtail)
  3. api-server的日志文件路径:/usr/local/cdap/7.0/server/web/api_server/tomcat/logs/cloudsure/api-server/
  4. 代理程序Agent (promtail) 的目录规划
      /opt
        └── fs
                └── promtail
                    ├── data // data 文件夹
                    ├── promtail-linux-amd64  // 解压后的 zip 包
                    ├── promtail-linux-amd64.zip //官网下载的 Agent 程序zip包
                    ├── promtail.yml   //启动代理程序的配置文件(官网也有提供)
                    └── tmp            //tmp文件夹,后面会放positions.yaml
  1. 192.168.17.176部署: Grafana-Loki和Grafana
    1. /fs/loki/grafana :放Grafana安装相关的包
    2. /fs/loki/loki : 放Grafana-Loki安装相关的包

搭建Grafana

操作节点:192.168.17.176
所有的安装官网都提供了完整的步骤:
官网地址 : https://grafana.com/docs/grafana/latest/
源码包安装:https://grafana.com/grafana/download

安装 grafana

wget https://dl.grafana.com/enterprise/release/grafana-enterprise-10.2.3.linux-amd64.tar.gz
tar -zxvf grafana-enterprise-10.2.3.linux-amd64.tar.gz

创建系统服务

cat>/usr/lib/systemd/system/grafana-server.service<<EOF
[Unit]
Description=Grafana Server
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/fs/loki/grafana/grafana
ExecStart=/fs/loki/grafana/grafana/bin/grafana-server

Restart=on-failure
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF

服务开机自启

systemctl daemon-reload
systemctl enable grafana-server.service && systemctl start grafana-server.service

/fs/loki/grafana/grafana/conf/defaults.ini为默认配置文件
工作端口,默认为3000。
页面测试访问:http://192.168.17.176:3000 默认用户名和密码:admin/admin

搭建Grafana-Loki

操作节点:192.168.17.176

下载zip包 下载的连接:https://github.com/grafana/loki/releases/
在这里插入图片描述

上传,配置,启动

[root@localhost loki]# pwd
/fs/loki/loki # 将zip 包上传此目录
[root@localhost loki]# ll
total 104804
drwxr-xr-x 3 root root        Dec 21 11:11 chunks # 新建文件夹
drwxr-xr-x 2 root root        6 Dec 20 11:59 data # 新建文件夹
-rwxr-xr-x 1 root root 59707392 Dec 13 05:50 loki-linux-amd64   # 解压后的zip包
-rw-r--r-- 1 root root 19017087 Dec 20 10:52 loki-linux-amd64.zip # 上传上来的zip包 
drwxr-xr-x 2 root root          Dec 20 13:41 rules # 新建文件夹
-rw-r--r-- 1 root root      786 Dec 20 13:45 loki.yml  # 接下来会创建

创建启动配置文件 loki.yml

参考配置文件: https://hub.fastgit.org/grafana/loki/blob/main/cmd/loki/loki-local-config.yaml

auth_enabled: false   # 是否启用鉴权

server:
  http_listen_port: 3100  #http访问端口
  grpc_listen_port: 9096  #rpc访问端口

common:
  path_prefix: /fs/loki/loki
  storage:
    filesystem:
      chunks_directory: /fs/loki/loki/chunks  #记录块存储目录,默认chunks块上的日志数量或到期后,将chunks数据打标签后存储
      rules_directory: /fs/loki/loki/rules   #配置规则目录
  replication_factor: 1
  ring:
    instance_addr: 127.0.0.1  #网络地址
    kvstore:
      store: inmemory

query_range:         #查询规则
  results_cache:      #结果缓存
    cache:
#      embedded_cache:     #默认开启后会有提示,未配置缓存项,暂不开启
#      #        enabled: true
#      #        distributed: true
#      #        max_size_mb: 100

schema_config:      #配置索引信息
  configs:
    - from: 2020-10-24
      store: boltdb-shipper
      object_store: filesystem
      schema: v11
      index:
        prefix: index_      # 索引前缀
        period: 24h         # 索引时长

ruler:
  alertmanager_url: http://localhost:9093     #告警通知url
  

chunk_store_config:
  max_look_back_period: 672h    #配置最多查询时间内的数据 (一个月)

table_manager:
  retention_deletes_enabled: true    # 开启保留策略
  retention_period: 672h     # 删除超过 一个月 的 chunk

后台启动

nohup ./loki-linux-amd64 --config.file=loki.yml > log.out 2>&1 &

WEB 访问

http://192.168.17.176:3100/metrics

搭建Promtail

操作节点:192.168.52.198

下载zip包 下载的连接:https://github.com/grafana/loki/releases/

在这里插入图片描述

上传,配置,启动

[root@localhost promtail]# pwd
/opt/fs/promtail  # 规划的目录
[root@localhost promtail]# ll
drwxr-xr-x. 3 root root          1220 14:06 data  # 新建的文件夹
-rwxr-xr-x. 1 root root 90959144 1213 05:52 promtail-linux-amd64     # 解压后的zip包
-rw-r--r--. 1 root root 26276450 1220 13:53 promtail-linux-amd64.zip # 上传的zip包
-rw-r--r--. 1 root root      500 1220 14:15 promtail.yml             # 启动的配置文件
drwxr-xr-x. 2 root root          1221 11:32 tmp  # 新建的文件夹(并在文件夹中新建一个空文件 touch positions.yaml)

新建启动配置文件promtail.yml

参考配置文件: https://hub.fastgit.org/grafana/loki/blob/main/cmd/loki/loki-local-config.yaml

单个job的配置promtail.yml

server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /opt/fs/promtail/tmp/positions.yaml

clients:
  - url: http://192.168.17.176:3100/loki/api/v1/push

scrape_configs:
- job_name: system
  static_configs:
  - targets:
      - localhost
    labels:
      job: clousureApi
      __path__: /usr/local/cdap/7.0/server/web/api_server/tomcat/logs/cloudsure/api-server/*.log
  file_sd_configs:
    - files:
      - /opt/fs/promtail/data/log_file/*.json
      refresh_interval: 1m

多个job的配置promtail.yml(同时监听一个节点下的多个日志文件)

server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /opt/fs/promtail/tmp/positions.yaml

clients:
  - url: http://192.168.17.176:3100/loki/api/v1/push


scrape_configs:
- job_name: 198-API-SERVER
  static_configs:
  - targets:
      - localhost
    labels:
      job: 198-API-SERVER
      __path__: /usr/local/cdap/7.0/server/web/api_server/tomcat/logs/cloudsure/api-server/*.log

- job_name: 198-CORE-SERVER
  static_configs:
  - targets:
      - localhost
    labels:
      job: 198-CORE-SERVER
      __path__: /usr/local/cdap/7.0/server/web/core_server/tomcat/logs/cloudsure/core-server/*.log

- job_name: 198-GATEWAY
  static_configs:
  - targets:
      - localhost
    labels:
      job: 198-GATEWAY
      __path__: /usr/local/cdap/7.0/server/gateway/var/*.log

后台启动

 nohup ./promtail-linux-amd64 --config.file=promtail.yml > log.out 2>&1 &

如果启动失败可以查看 log.out 日志文件中的详细信息

至此整个搭建完毕 !!!!

Loki日志显示和查询

Grafana 连接loki数据

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

Grafana 查看推送过来的数据

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

日志的查询

官网查询语句的文档:https://grafana.com/docs/loki/latest/query/log_queries

文档很详细,每种查询的方式都有案列
在这里插入图片描述

根据时间查询

在这里插入图片描述

根据关键字精准匹配

比如要查询 tid = 220317552729935900
在这里插入图片描述
在这里插入图片描述

字符串正则查询

比如:查询出 所有sql 执行时间超过 400 毫秒的日志
在这里插入图片描述
在这里插入图片描述

也可以组合多个查询条件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值