Prometheus+Grafana搭建日志采集

介绍

一、什么是日志数据采集

日志数据采集是指通过各种手段获取应用程序运行时产生的各类日志信息,并将这些信息存储到特定的地方,以便后续分析和使用。通常情况下,这些日志信息包括系统运行状态、错误信息、用户操作记录等等。通过对这些信息的统计和分析,可以有效地监控应用程序的运行状况,及时发现和解决问题。

二、为什么需要进行日志数据采集

对于企业应用系统而言,日志数据采集至关重要。首先,在应用程序出现问题时,通过查看相关日志信息可以快速定位原因,并进行相应处理。其次,在系统运行期间,通过对日志信息的统计和分析,可以发现系统存在的潜在问题,进而进行优化和改进。此外,对于一些业务场景,如在线广告、电商等,日志数据采集更是必不可少,它可以帮助企业更好地了解用户行为、偏好等信息,从而提升营销效果和用户体验。

三、常见的日志采集方案

在这里插入图片描述

方案介绍

• Promtail 是日志收集器,负责收集应用的日志并发送给 Loki。
• Loki 用于日志的存储和解析,并提供查询 API 给下游展示。
• Grafana 负责将 Loki 的日志可视化
在这里插入图片描述

Grafana搭建

之前写过,见文章:Prometheus+Grafana搭建

Loki安装

下载

https://github.com/grafana/loki/releases

#规划:安装在/usr/local下面,数据放在/data下
#以root账号,在/usr/local创建文件夹loki,并将安装包放置在此目录下
mkdir loki
#新建存储路径,数据放在/data下
mkdir  /data
mkdir  /data/loki
mkdir  /data/loki/{chunks,index}
#将安装包loki-linux-amd64.zip移动到/usr/local下,解压
unzip loki-linux-amd64.zip
#解压后重新生成文件夹loki-linux-amd64 ,将文件移动到loki目录下
mv loki-linux-amd64 /usr/local/loki/

在/usr/local/loki目录下,修改配置,如没有则新增
vi config.yaml

#在编辑页面可以插入下述脚本,可自行调整部分配置
auth_enabled: false
server:
  http_listen_port: 3100
ingester:
  lifecycler:
    address: xx.xx.xx.xx #ip地址
    ring:
      kvstore:
        store: inmemory
      replication_factor: 1
    final_sleep: 0s
  chunk_idle_period: 5m
  chunk_retain_period: 30s
 
schema_config:
  configs:
  - from: 2022-07-01
    store: boltdb
    object_store: filesystem
    schema: v11
    index:
      prefix: index_
      period: 168h   #每张表的时间范围7天
 
storage_config:
  boltdb:
    directory: /data/loki/index   #索引文件存储地址
 
  filesystem:
    directory: /data/loki/chunks  #块存储地址
 
limits_config:
  enforce_metric_name: false
  reject_old_samples: true
  reject_old_samples_max_age: 168h
chunk_store_config:
#最大可查询历史日期 28天,这个时间必须是schema_config中的period的倍数,否则报错。
  max_look_back_period: 672h
#表的保留期28天
table_manager:
  retention_deletes_enabled: true
  retention_period: 672h

#启动服务
nohup ./loki-linux-amd64 -config.file=./config.yaml >./loki.log 2>&1 &
#设置开机自启动
cd /etc/systemd/system/
vi loki.service

#可复制下述页面,调整文件路径即可
[Unit]
Description=loki
After=network.target 

[Service]
ExecStart=/usr/local/loki/loki-linux-amd64 \
        -config.file=/usr/local/loki/config.yaml &>> /usr/local/loki/loki.log
Restart=on-failure

[Install]
WantedBy=multi-user.target

设置自启动

systemctl daemon-reload

启动服务

systemctl start loki #systemctl stop loki systemctl restart loki

查看启动结果

systemctl status loki

加入开机自启动

systemctl enable loki

部署promtail

需要到日志采集端部署

下载

wget https://github.com/grafana/loki/releases/download/v2.8.0/promtail-linux-amd64.zip
#规划:安装在/usr/local下面
#以root账号,在/usr/local创建文件夹promtail,并将安装包放置在此目录下
mkdir promtail
#将安装包promtail-linux-amd64.zip移动到/usr/local下,解压
unzip promtail-linux-amd64.zip
#解压后重新生成文件夹promtail-linux-amd64 ,将文件移动到promtail目录下
mv promtail-linux-amd64  /usr/local/promtail/

在/usr/local/promtail目录下,修改配置,如没有则新增
vi promtail.yaml

#在编辑页面可以插入下述脚本,可自行调整部分配置
server:
  http_listen_port: 9080
  grpc_listen_port: 0
 
positions:
  filename: ./positions.yaml
 
clients:
  - url: http://xx.xx.xx.xx:3100/loki/api/v1/push   #loki地址,xx是ip地址
 
scrape_configs:
##jobname
 - job_name: centername                         #jobname
   static_configs:
   - targets: 
       - xx.xx.xx.xx                           #xx是ip地址
   - labels:
      job: centername                          #jobname
      host: xx.xx.xx.xx                        #xx是ip地址
      __path__: /home/script/log/*.log        #监控的日志地址,你们根据具体情况选择自己的路径

Promtail默认端口是9080,启动完成后,可以采用上边的方式查看进程是否启动成功

nohup ./promtail-linux-amd64 -config.file=promtail-local-config.yaml > promtail.log 2>&1 &

同样按照上面loki自启动的写法,也可以加入自启动中去

Grafana展示

模版导入

配置Loki数据源,导入监控模版 13639
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/209938.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络基础:网络通信基础

目录 1.网络通信基本单位 2.网络通信基础 3.调制技术 4.解调技术 5.载波调制 6.编码技术 6.1基本编码 6.2应用型编码 1.曼彻斯特编码 2.差分曼彻斯特编码 3.MLT-3编码 4.mB/nB编码 1.网络通信基本单位 Byte(字节)是用于计量存储容量的一种…

【动手学深度学习】(八)数值稳定和模型初始化

文章目录 一、理论知识 一、理论知识 1.神经网络的梯度 考虑如下有d层的神经网络 计算损失l关于参数Wt的梯度(链式法则) 2.数值稳定性常见的两个问题 3.梯度爆炸 4.梯度爆炸的问题 值超出阈值 对于16位浮点数尤为严重 对学习率敏感 如果学习率太大…

游戏反Frida注入检测方案

在游戏安全对抗过程中,有不少外挂的实现基于对游戏内存模块进行修改,这类外挂通常会使用内存修改器,除此之外,还有一种门槛相对更高、也更难检测的「注入挂」。 据FairGuard游戏安全数据统计,在游戏面临的众多安全风险…

oops-framework框架 之 创建项目(二)

引擎: CocosCreator 3.8.0 环境: Mac Gitee: oops-game-kit 构建 本篇博客将使用oops-game-kit 构建一个新的开发项目, 关于 oops-framework 框架的了解,可参考上篇博客: oops-framework框架 之 初始了解(一) 大概…

11.2每日一题(函数定义域)

因为等式的左边是单调增的,所以右边的等式也需要单调增从而确定函数的定义域

【C语言】【字符串函数的模拟实现】strcpy,strcat,strcmp,strncpy,strncat,strstr

1.strcpy char* strcpy(char*destination,const char* source)源字符串必须以’\0’结尾会将原字符串中的‘\0’拷贝到目标字符串中目标空间必须足够大,能放得下源字符串 模拟实现: char *my_strcpy(char* des,const char *sour) {char* retdes;asser…

接口测试探索基础

接口基础知识理解: 接口一般来说有两种:程序接口和协议接口 程序接口:程序内部的接口、倾向于方法间的调通信方式 协议接口:系统对外的接口、其他应用通过授权或认证后获取数据的方式 常见的的接口: 1、webService接口…

海云安谢朝海:开发安全领域大模型新实践 人工智能助力高效安全左移

2023年11月29日,2023中国(深圳)金融科技大会成功举行,该会议是深圳连续举办的第七届金融科技主题年度会议,也是2023深圳国际金融科技节重要活动之一。做好金融工作,需要兼顾创新与安全,当智能体…

Adobe:真正持续突破需要更多增长

如果我们调出 Adobe(NASDAQ:ADBE )的长期图表,我们会发现自 2011 年以来,长期投资者尤其获得了非常丰厚的回报。此外,该股票在去年 9 月为投资者提供了绝佳的机会由于股票在过去 14 个月里的回报率远超 100…

SQL Server 数据库,使用函数查询统计信息

4.1 在查询中使用函数 在前面章节已经学习了一些简单的增、删、改、查询的T-SOL.语句,但是为了更方便快捷地完 成大量的任务,SOLServer提供了一些内部函数,可以和SOLServer的SELECT语句联合使用,也可 以与UPDATE和INSERT一起使用&…

SQL Server 2016(分离和附加数据库)

1、实验环境。 基于上一个实验《SQL Server(创建数据库)》 2、需求描述。 class数据库的数据文件和事务日志文件都位于C:\db_class目录下。现在需要把class数据库的数据文件和事务日志文件分开存放,数据文件class.mdf存放于原位置&#xff0…

Flink的部署模式和运行模式

集群角色 Flink提交作业和执行任务,需要几个关键组件: 客户端:代码由客户端获取并作转换,之后提交给Jobmanager Jobmanager就是Flink集群的管事人,对作业进行中央调度管理;当从客户端获取到转换过的作业后…

DCCK“启航计划“3+2第一课机器视觉导论

用相机代替人眼去获取图像,然后处理图像,给出指令。 如:相机获取可口可乐的液面高度图片,通过连接线床给图像处理程序,程序给出合格不合格的判断再执行后续操作 作用:机器不会疲劳,机器判断标准…

【Matlab】如何快速入门一项新技能-以Matlab/Simulink入门为例

目录 1. 引言 2. 背景 3. 快速学习并完成开发 3.1 了解需求,知道要干什么 3.2 了解Matlab/Simulink基本功能 第一步,查看Matlab的中文网站中文网站https://www.ilovematlab.cn/resources/对Matlab/Simulink有了一个初步认识。 3.3 实现一个最简单…

Sock0s1.1

信息收集 探测存活主机 发现存活主机为192.168.217.133 探测开放端口 nmap -sT -p- 192.168.217.133 -oA ./ports 发现两个端口开放,分别是22 3128,同时探测到了8080端口,但是显示是关闭的状态。 UDP端口探测 nmap -sU --top-ports 20 1…

计算机组成学习-计算机系统概述总结

1、计算机系统概述 日常见到的计算机有显示器、键盘、鼠标、音箱、主机箱等;主机箱中有:主板、CPU、硬盘、内存、显卡、声卡等; 1.1 计算机系统层次结构 1.2 计算机系统的基本组成 包括硬件系统和软件系统两部分。 1.2.1 计算机硬件 计算…

【总结】二次曲面的和正负惯性指数

最难记得就是单叶双曲面和双叶双曲面,我的方法是**“负担”,负惯性指数的个数为单个就是单叶双曲面。** 特别要注意,这里的等号右边是正数,如果是负数要两边同时乘以一个负一。

Android Studio build.gradle获取项目绝对路径

通过这个字段 ${project.rootProject.projectDir}";如项目根build.gradle中: // Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {repositories {google()mavenCentral()// jcenter() // kee…

Java-easyExcel入门教程

文章目录 前言一、简介二、使用步骤1. 引入依赖2. 前提准备3. 实现导出4. 实现导入 三、我所遇到的问题四、总结 前言 在日常开发中经常会遇到一些 excel 表导入导出的需求,以往会使用 POI 封装成工具类来处理这些导入导出的需求,但是 POI 在导入大文件…

20231202将RK3399的挖掘机开发板在Andorid12系统下编译ENG模式

20231202将RK3399的挖掘机开发板在Andorid12系统下编译ENG模式 2023/12/2 10:21 百度搜索:RK3399 编译 ENG版本 RK3399 lunch ENG Z:\rk_android12_220722\device\rockchip\rk3399\AndroidProducts.mk # # Copyright 2014 The Android Open-Source Project # # Lice…