全网最全,部署一套完整的 Prometheus+Grafana 智能监控告警系统

全网最全,部署一套完整的Prometheus+Grafana智能监控告警系统 Prometheus的每个exporter都会是一个目标,它们可以上报不同的监控信息,比如机器状态,或者mysql性能等等,不同语言sdk也会是一个目标,它们会上报你自定义的业务监控信息。Prometheus作为一个中间点,而Grafana作为可视化展示,后面的exporter作为监控,exporter将需要获取的数据获取并连接到Prometheus,而Prometheus连接到Grafana,直观展示被监控者状态;这个页面给出的是最新版本的安装命令,右上角可以选择切换其他版本的安装命令。 阅读详情

👉 这是一个或许对你有用的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料: 

👉这是一个或许对你有用的开源项目

国产Star破10w的开源项目,前端包括管理后台、微信小程序,后端支持单体、微服务架构

RBAC权限、数据权限、SaaS多租户、商城、支付、工作流、大屏报表、ERP、CRM、AI大模型、IoT物联网等功能:

  • 多模块:https://gitee.com/zhijiantianya/ruoyi-vue-pro

  • 微服务:https://gitee.com/zhijiantianya/yudao-cloud

  • 视频教程:https://doc.iocoder.cn

【国内首批】支持 JDK17/21+SpringBoot3、JDK8/11+Spring Boot2双版本 

来源:blog.youkuaiyun.com/qq_37128049


一. 概述

1.1 Grafana介绍

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。它主要有以下六大特点:

  • 展示方式: 快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;

  • 数据源: Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;

  • 通知提醒: 以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty等获得通知;

  • 混合展示: 在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;

  • 注释: 使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;

  • 过滤器: Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。

简单来讲,它是一个多用途的监控工具,同时通过邮件等方式进行有效的预警通知,丰富的直观的可视化界面,多种数据源配置是其优点所在;

1.2 Prometheus对比Zabbix

和Zabbix类似,Prometheus也是一个近年比较火的开源监控框架,和Zabbix不同之处在于Prometheus相对更灵活点,模块间比较解耦,比如告警模块、代理模块等等都可以选择性配置。服务端和客户端都是开箱即用,不需要进行安装。zabbix则是一套安装把所有东西都弄好,很庞大也很繁杂。

zabbix的客户端agent可以比较方便的通过脚本来读取机器内数据库、日志等文件来做上报。而Prometheus的上报客户端则分为不同语言的SDK和不同用途的exporter两种,比如如果你要监控机器状态、mysql性能等,有大量已经成熟的exporter来直接开箱使用,通过http通信来对服务端提供信息上报(server去pull信息);而如果你想要监控自己的业务状态,那么针对各种语言都有官方或其他人写好的sdk供你使用,都比较方便,不需要先把数据存入数据库或日志再供zabbix-agent采集。

zabbix的客户端更多是只做上报的事情,push模式。而Prometheus则是客户端本地也会存储监控数据,服务端定时来拉取想要的数据。

界面来说zabbix比较陈旧,而prometheus比较新且非常简洁,简洁到只能算一个测试和配置平台。要想获得良好的监控体验,搭配Grafana还是二者的必走之路。

1.3 Grafana结构图
1.4 通俗讲

Prometheus作为一个中间点,而Grafana作为可视化展示,后面的exporter作为监控,exporter将需要获取的数据获取并连接到Prometheus,而Prometheus连接到Grafana,直观展示被监控者状态;

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro

  • 视频教程:https://doc.iocoder.cn/video/

二. Grafana监控系统之Prometheus+Grafana监控系统搭建

2.1 安装Prometheus
下载并解压
wget https://github.com/prometheus/prometheus/releases/download/v2.7.2/prometheus-2.7.2.linux-amd64.tar.gz
tar xvfz prometheus-2.7.2.linux-amd64.tar.gz
运行Prometheus server
cd prometheus-2.7.2.linux-amd64
./prometheus --config.file=prometheus.yml
配置Prometheus

在Prometheus.yml中有配置文件,我们可以对其进行配置,当然第一次安装也可以不管;

$ catprometheus.yml

> 基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
>
> * 项目地址:<https://github.com/YunaiV/yudao-cloud>
> * 视频教程:<https://doc.iocoder.cn/video/>

# my global config
global:
scrape_interval:     15s# Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval:15s# Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
alertmanagers:
-static_configs:
    -targets:
      # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
-job_name:'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    -targets: ['localhost:9090']

其大致可分为四部分:

  • global: 全局配置,其中scrape_interval表示抓取一次数据的间隔时间,evaluation_interval表示进行告警规则检测的间隔时间;

  • alerting: 告警管理器(Alertmanager)的配置,目前还没有安装Alertmanager;

  • rule_files: 告警规则有哪些;

  • scrape_configs: 抓取监控信息的目标。一个job_name就是一个目标,其targets就是采集信息的IP和端口。这里默认监控了Prometheus自己,可以通过修改这里来修改Prometheus的监控端口。Prometheus的每个exporter都会是一个目标,它们可以上报不同的监控信息,比如机器状态,或者mysql性能等等,不同语言sdk也会是一个目标,它们会上报你自定义的业务监控信息。

访问prometheus

输入: “ip地址”+":9090" 在浏览器中进行访问,如果出现可视化界面说明成功;

示例: 186.163.15.42:9090 直接在自己电脑中访问

如果访问不了,请检查防火墙是否开启9090端口

2.2 添加机器状态监控(监控服务器CPU,硬盘,网络等状态)
下载且解压并运行
// 下载最新版本,可以在github的release中对最新版本右键获取下载链接
wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
解压
tar xvfz node_exporter-0.17.0.linux-amd64.tar.gz
进入解压出的目录
cd node_exporter-0.17.0.linux-amd64
运行监控采集服务
./node_exporter
监听9100端口
  • 本Centos中访问: curl http://localhost:9100/metrics

  • 电脑浏览器中访问: ip地址:9100

如果访问有内容显示则成功

启动服务的时候可使用nohup后台启动,如果是直接图中所示内容启动则重开连接

去Prometheus的配置文件中加上这个exporter的地址

先回到根目录

cd ~
进入prometheus
cd prometheus-2.7.2.linux-amd64/
编辑配置文件prometheus.yml
vim prometheus.yml

没有vim可以下载或者使用vi也可以

添加target:
scrape_configs:
  -job_name:'prometheus'
    static_configs:
      -targets:['localhost:9090']
-job_name:'server'
    static_configs:
      -targets:['localhost:9100']
2.3 安装Grafana
下载并解压Grafana
wget https://dl.grafana.com/oss/release/grafana-6.0.0.linux-amd64.tar.gz
tar -zxvf grafana-6.0.0.linux-amd64.tar.gz

这个页面给出的是最新版本的安装命令,右上角可以选择切换其他版本的安装命令。解压后会出现 grafana-6.0.0 目录,进入该目录,然后就可以运行Grafana了;

安装插件

进入Grafana服务器的该Grafana的lib目录下,然后输入以下命令更新插件:./grafana-cli plugins install grafana-piechart-panel

进入Grafana目录
cd grafana-6.0.0
启动Grafana
./bin/grafana-server web
在Grafana展示监控信息

安装并启动Grafana后,浏览器输入 IP:3000 来访问Grafana,管理员账号密码默认是admin/admin。首次登陆会让你修改管理员密码,然后就可以登录查看了。

添加数据源

选择Prometheus

先输入名称,然后填入http://ip+9090然后直接点Save&Test,成功后则直接点击Dashboards选择展示面板

点击导入,可一个也可以全部导入

选择左侧边栏的 + 号,点击Imput, 在Grafana.com Dashboard中输入: 8919

也可以自己选择官方展示面板,链接: https://grafana.com/dashboards

输入号码后点击确定,然后再prometheus选择对应的Prometheus,点击Import即可

查看效果

左边侧栏选择方块,点击Manage,然后点击刚刚创建的,即可成功展示!

展示效果如图所示:

三. Grafana监控系统之搭建其他服务器监控系统

3.1 前述

这次的教程是配置其他服务器的监控系统,所以假设上面的已经做好了

监控系统的Prometheus类似于一个注册中心,我们可以只需要配置一个Prometheus,而在其他服务器,只需要安装node_exporter,它们的数据流转就是通过exporter采集数据信息,然后告诉prometheus它的位置;而Prometheus则存储exporter的信息供Grafana询问;Grafana则负责信息的展示;所以可以只配置一个Prometheus,而其他服务器或者本机的服务器的exporter只需要在这一个Promethes中给出它的job_name,targets地址等信息即可;

这里介绍了又重新下载了一个Prometheus的方式,不下载的话可直接跳过从教程: 3.5 添加机器状态监控 开始

3.2 安装Prometheus

连接需要被安装的服务器,安装Prometheus:

wget https://github.com/prometheus/prometheus/releases/download/v2.7.2/prometheus-2.7.2.linux-amd64.tar.gz
tar xvfz prometheus-2.7.2.linux-amd64.tar.gz
3.3 启动Prometheus

下载最新版本,可以在github的release中对最新版本右键获取下载链接

wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz

解压

tar xvfz node_exporter-0.17.0.linux-amd64.tar.gz

进入解压出的目录

cd node_exporter-0.17.0.linux-amd64

运行监控采集服务

./node_exporter
3.4 配置Prometheus
$ cat prometheus.yml 
# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:9090']

如无其他特殊需求可不做改变;

3.5 添加机器状态监控
// 下载最新版本,可以在github的release中对最新版本右键获取下载链接
wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz

解压

tar xvfz node_exporter-0.17.0.linux-amd64.tar.gz

进入解压出的目录

cd node_exporter-0.17.0.linux-amd64

运行监控采集服务

./node_exporter

可使用后台运行进程命令启动也可以;访问:http://ip:9100/metrics即可验证,如果有对应界面则配置成功

3.6 配置Prometheus.yml文件
scrape_configs:
  -job_name:'prometheus'
    static_configs:
      -targets:['localhost:9090']
-job_name:'server'
    static_configs:
      -targets:['localhost:9100']

如果prometheus不在本服务器,则将server下的targets中的localhost改为对应的ip地址;

重新启动一下

3.7 配置Grafana

进入Grafana服务器的该Grafana的lib目录下,然后输入以下命令更新插件:

./grafana-cli plugins install grafana-piechart-panel

更新插件后重新启动服务

3.8 配置可视化界面

添加数据源

选择Prometheus

先输入名称,然后填入http://ip+9090然后直接点Save&Test,成功后则直接点击Dashboards选择展示面板

点击导入,可一个也可以全部导入

选择左侧边栏的 + 号,点击Imput, 在Grafana.com Dashboard中输入: 8919

也可以自己选择官方展示面板,链接: https://grafana.com/dashboards

输入号码后点击确定,然后再prometheus选择对应的Prometheus,点击Import即可

3.9 查看效果

左边侧栏选择方块,点击Manage,然后点击刚刚创建的,即可成功展示!

展示效果如图所示:

注意:如果需要监控其他服务器,则只需要在其他服务器安装 node_exporter 即可,将其对应的ip地址,端口号等信息配置到已有的Prometheus的Prometheus.yml内即可;格式参照其他,job_name不能命名成一样的,可改成其他名称;Grafana添加数据源和注册仪表盘都是一致的;

四. Grafana监控系统之邮件报警

4.1 Grafana服务器配置
关闭服务
ctrl+c
  • 如果是后台启动的服务,则用相关的命令关闭grafana web

  • 如果grafana监控系统没有开启,则无需关闭;

进入grafana目录
cd grafana-6.0.0
编辑配置文件conf
vim defaults.ini

没有vim直接 yum install vim 即可,使用vi 也可以进行编辑

smtp.qq.com:465是针对qq邮箱的,其他的邮箱的服务器不同,请做对应的改变,直接百度即可;

编辑完退出:

ESC+:wq+Enter

返回上一级

cd ..

启动服务

./bin/grafana-server web
4.2 Grafana 可视化界面配置

添加

输入具体警告内容

如果成功就能接收到邮件,否则查看服务器内配置是否正确;

4.3 邮件报警总结

此功能可以具体对某些仪表盘的数据设立阀值,如果超过此值则触发报警,具体的应用具体分析,后面补充;

五. Grafana监控系统之搭建MySQL监控系统

5.1 步骤概述概述
  1. \1. 下载安装Mysql并配置账号密码

  2. \2. 导入sql文件

  3. \3. 安装mysqld_exporter

  4. \4. 对mysqld_exporter进行操作

  5. \5. 运行mysql_exporter

  6. \6. 加入Prometheus.yml配置

  7. \7. 配置可视化界面

5.2 下载安装Mysql

如果是对已有的mysql进行操作,请忽略此步骤;

下载mysql的repo源:

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

安装mysql-community-release-el7-5.noarch.rpm包:

rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装mysql:

yum install mysql-server -y

修改权限,否则会报错:

chown -R root:root /var/lib/mysql

重启mysql服务:

service mysqld restart

登录并重置密码:

## 直接回车进入mysql控制台
mysql -u root
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > exit;
5.3 导入sql文件

1.下载my2.sql

https://codeload.github.com/john1337/my2Collector/zip/master

2.解压文件后将此文件夹内的sql文件放入要监控的Mysql服务器中

3.使用命令登录mysql

mysql -u用户名 -p密码 示例: mysql -uroot -proot

4.使用命令导入sql文件

source /root/my2.sql

后面的是具体地址,如果位置不对则相应变化

5.当出现一系列执行成功,则说明完成;

5.4 对mysqld_exporter进行操作

先下载并解压:

https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz
tar -xvf mysqld_exporter-0.10.0.linux-amd64.tar.gz

创建.my.cnf 文件

vim vi.my.cnf

创建效果如下:

[client]
user=root
password=root

账号密码只要连接得上mysql即可,也可单独为其分配账号;

运行mysql_exporter

./mysqld_exporter -config.my-cnf=".my.cnf" &
5.5 加入Prometheus.yml配置
- job_name: mysql
    static_configs:
      - targets: ['mysql的ip地址:9104']

这里9104不要改动,配好后保存重启Prometheus,然后点击Status->Targets,如果发现mysql的State为Up 状态,则说明已经配置好了

如果没有配置好,则可以注意一下是否mysql开启了远程访问,一般新安装的msyql都是仅本机可访问;开启远程访问可百度;

5.6 配置可视化界面

先点击小齿轮添加DataSource,然后点击Mysql,输入对应的ip+端口号,以及账号密码等信息,点击Save&Test进行测试,如果反馈成功则说明配置成功

点击+ 图标,然后选择Import ,可选择官方文档中的仪表盘,这里我使用的是: 7991

输入7991点Load可自动加载

官方地址: https://grafana.com/dashboards

加载后配置相关的名称地址,以及加载的数据源等信息,点击添加后即可在 小方块 图标的Manage下展示;

效果图如下:

六. Grafana监控系统之开放API

6.1 概述

在我们使用server类型的访问模式中,访问数据通常有两种形式;一种是直接使用用户登录,获取到的Cookie进行验证;一种是通过 API令牌机制进行资源请求校验;

Admin HTTP API目前不支持API令牌。API令牌目前仅链接到组织和组织角色。他们无法获得服务器管理员的许可,只有用户才能获得该权限。因此,为了使用这些API调用,您必须使用Basic Auth,Grafana用户必须具有Grafana Admin权限。(默认管理员用户被调用admin并且有权使用此API。)

官方文档地址:https://grafana.com/docs/http_api/admin/

6.2 关于用户登录验证请求资源

无法使用HTTP API的部分,可以使用RestTemplate等工具模拟登录验证,获取Cookie请求资源;而请求资源我们可以使用F12 获取请求的接口地址,需要哪些资源,直接到相关站点界面获取接口地址,模拟登录即可做对应的操作;

这部分不多加介绍,下面介绍使用HTTP API的方式;

6.3 创建API 令牌

创建API KEY

点击保存

将Key后面的内容作为 Authorization中的Bearer 后的内容:

里面的权限为Viewer,Eidtor,和Admin,权限为只能看,可以部分写,以及全部权限;

6.4 验证HTTP资源/操作 接口示例:
6.5 创建API Key 示例:

请求ip地址和请求头填写内容:

请求体内填写内容:

权限类别可分为Viewer,Editor和Admin,Viewer只能查看,Editor可以一些界面进行操作,而Admin是拥有所有权限的角色;

secondsToLive - 以秒为单位设置密钥到期时间。这是可选的。如果是正数,则设置密钥的到期日期。如果它为null,为零或完全省略(除非api_key_max_seconds_to_live设置了配置选项),密钥将永不过期。

6.6 删除API Key示例:

先通过查询接口查询到所有Api Key列表

拿到需要删除的ApiKey的id,然后使用Delete请求方式,在最后带id即可删除对应id的ApiKey,图示如下:

只要支持HTTP API的均可使用此方式,具体的请求路径和对应资源可进入官方文档查看:

https://grafana.com/docs/http_api/dashboard/

七. Grafana监控系统之监控RabbitMQ

7.1 下载并解压

下载:

wget https://github.com/kbudde/rabbitmq_exporter/releases/download/v1.0.0-RC5/rabbitmq_exporter-1.0.0-RC5.linux-amd64.tar.gz

没有wget等命令请自行搜索下载

解压:

tar -xvf rabbitmq_exporter-1.0.0-RC5.linux-amd64.tar.gz

进入目录:

cd rabbitmq_exporter-1.0.0-RC5.linux-amd64

执行命令:

RABBIT_USER=guest RABBIT_PASSWORD=guest OUTPUT_FORMAT=JSON PUBLISH_PORT=9099 RABBIT_URL=http://localhost:15672 nohup ./rabbitmq_exporter 2>&1 &

注意里面的PABBIT_USER的账号,以及后面的密码,请按实际账号密码输入,以及端口等;

7.2 加入Prometheus.yml

进入有Prometheus的服务器,进入Prometheus,编辑prometheus.yml

vim prometheus.yml

配置如下内容:

- job_name: 'RabbitMQ'
  static_configs:
    - targets: ['Rabbit的ip地址:9099']

这里的ip地址写Rabbit的地址,端口号默认都写9099;

7.3 进入Grafana配置RabbitMQ地址

1.浏览器输入:ip地址+3000 进入Grafana 默认账户和密码都是admin

2.点击小齿轮,点击 Data Sources

3.点击右侧 Add data source 选择Prometheus

4.编辑Prometheus的配置信息,Name为名称,URL为 http://promethues的服务器地址和端口号(9090)

这里的URL不是写RabbitMQ的服务器地址,而是Prometheus的地址,注意不要弄错;

5.点击Save&Test进行测试,如果下方出现小绿条提示: Data source is working 则说明安装成功

6.点击左侧的 + 图标,选择Import,在第一个输入框中输入 2121 ,然后点击 Load

7.点击左侧小方块图标,点击Manage 选择刚刚配好的,点击进入即可展示,效果图如下:

八. Grafana监控系统之监控Redis

8.1 下载并解压

下载:

wget https://github.com/oliver006/redis_exporter/releases/download/v1.0.3/redis_exporter-v1.0.3.linux-amd64.tar.gz

解压:

tar -xvf redis_exporter-v1.0.3.linux-amd64.tar.gz
8.2 启动 Redis_exporter

无密码:

./redis_exporter redis//192.168.1.120:6379 &

有密码

redis_exporter  -redis.addr 192.168.1.120:6379  -redis.password 123456****

里面的ip地址和端口号请根据自身实际来

8.3 配置Prometheus.yml

进入prometheus的服务器,然后进入prometheus.yml,进行编辑:

编辑:

vim prometheus.yml

内容如下:

- job_name: redis
    static_configs:
      - targets: ['ip地址:9121']
8.4 检查Redis状态

进入地址

Premetheus的ip地址:9090/targets

如果显示State的结果为 UP 则说明成功。

8.5 配置Grafana的数据源

登录网站:

Grafana的ip地址:3000

添加数据源,如果之前已经在Grafana中添加了此DataSource(指向了安装有Prometheus的ip地址和对应端口),则无需重新添加,在导入面板的时候,可以直接引用此DataSource;

8.6 配置展示面板

先进行登陆,登陆后点击 + 号选择Import

在第一个框框内输入: 731

注意,也可以自己找其他的展示面板,在官方的面板页面找到数据源为Prometheus的Redis展示面板,在上方所说的对应位置输入它的编号即可

官方控制面板地址:https://grafana.com/dashboards

8.7 直接查看,展示效果图如下

九.Grafana监控系统之监控TiDB

9.1 下载二进制包并解压

下载

wget https://github.com/prometheus/node_exporter/releases/download/v0.15.2/node_exporter-0.15.2.linux-amd64.tar.

解压

tar -xzf node_exporter-0.15.2.linux-amd64.tar.gz
9.2 启动服务

进入目录:

cd node_exporter-0.15.2.linux-amd64

启动 node_exproter服务

./node_exporter --web.listen-address=":9100" \ --log.level="info" &
9.3 在Prometheus.yml中配置

进入Prometheus所在的服务器,并进入该Prometheus目录

cd prometheus-2.2.1.linux-amd64

编辑 prometheus.yml

vim prometheus.yml

新增内容如下:

- job_name: 'tidb'
    honor_labels: true  # 不要覆盖 job 和实例的 label
    static_configs:
    - targets: ['tidb所在服务器ip地址:10080']

这里配置好了以后,需要重新启动一下Prometheus.yml,然后登陆 ip地址:9090/targets 如果Status显示为 UP 则说明成功;

9.4 启动Grafana服务
./prometheus \
    --config.file="./prometheus.yml" \
    --web.listen-address=":9090" \
    --web.external-url="http://192.168.199.113:9090/" \
    --web.enable-admin-api \
    --log.level="info" \
    --storage.tsdb.path="./data.metrics" \
    --storage.tsdb.retention="15d" &
9.5 启动Grafana并配置DataSource

按照正常命令启动,如果已经启动过则无需改;

如果前面已经对此Prometheus的DataSource进行过配置,则无需再次配置,在导入展示面板的时候直接指向此已经写好的展示面板即可;

9.6 导入Grafana面板
  1. 在侧边栏菜单中,依次点击 + 号 > Import 打开 Import Dashboard 窗口。

  2. 点击 Upload .json File 上传对应的 JSON 文件(https://github.com/pingcap/tidb-ansible/tree/master/scripts)。

  3. 注意:TiDB 面板对应的 JSON 文件为tidb.json 。 (我们可以通过上面的链接进入找到此tidb.json然后将内容复制出来命名为tidb.json然后导入)

  4. 点击 Load。

  5. 选择一个 Prometheus 数据源。(以前对这个Prometheus创建过数据源,我们可以重复利用,直接指向即可)

  6. 点击 Import,Prometheus 面板即导入成功。

9.7 在Mangae 里面可以直接预览,展示效果图如下

码子不易,喜欢的话点个关注或收藏吧~ ^^


欢迎加入我的知识星球,全面提升技术能力。

👉 加入方式,“长按”或“扫描”下方二维码噢:

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
智能监控告警系统2.0:动态基线算法与告警聚合实战 监控告警系统是IT基础设施运维的核心组件,其核心原理是通过实时采集和分析系统指标,及时发现异常并触发告警。传统方案常面临误报漏报问题,而现代智能监控系统采用动态基线算法和告警聚合技术,大幅提升告警准确性。动态基线算法通过STL分解和机器学习,自动适应业务波动;告警聚合则基于时间窗口、拓扑关系等多维策略归并相关事件。这些技术在Prometheus+Grafana监控栈中实现,可降低70%无效告警,将故障定位时间从小时级缩短到分钟级。特别适用于云原生环境和分布式系统监控,能有效支撑日均50亿指标的大规模场景。 阅读详情

相关推荐

AI决策安全防护:基于关键性的电信网络智能验证体系设计

在人工智能与网络自动化深度融合的背景下,AI代理(AI Agent)的自主决策能力成为提升电信网络效率的关键。其核心原理在于通过实时数据分析与智能算法,实现网络资源的动态调配与故障预测。然而,确保AI决策的可靠性与安全性,防止其产生危害性操作,是该项技术大规模商用的价值基石。这需要构建一套精细化的风险控制体系,而非简单的全局限制。该体系通常从更基础、更易被搜索的**网络仿真**与**数字孪生**技术切入,通过模拟预执行来评估决策影响。具体到应用场景,尤其在**O-RAN**架构中,来自不同供应商的智能应用(

axfcjwkbi259888707的博客 349

部署一套完整的 Prometheus+Grafana 智能监控告警系统(全网最全)

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。它主要有以下六大特点:•快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;•Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;•。

m0_69632475的博客 1170

LLM推理服务去队列化:从请求排队到请求即执行的架构革命

大语言模型(LLM)推理服务中的请求排队层,曾是保障高可用与多租户隔离的通用设计,其本质是用软件缓冲掩盖GPU算力调度与显存管理的不充分。随着硬件能力跃升与系统级优化成熟,排队正从‘必要冗余’转向‘性能瓶颈’——原理上,它引入非确定性延迟、放大PCIe通信开销、加剧显存碎片,并抬高运维复杂度。技术价值在于释放GPU真实吞吐、逼近物理响应极限、简化监控与扩缩容逻辑。典型应用场景包括金融实时风控、电商智能客服、SaaS平台多租户API网关等对P95延迟与SLA确定性要求严苛的工程现场。Anthropic此次实现

abcyan1235的博客 426

Sentinel热点参数限流:从原理到实战的完整指南

在分布式系统和高并发场景中,流量控制是保障服务稳定性的核心技术之一。其核心原理是通过预设规则对请求进行筛选和限制,防止系统因突发流量过载而崩溃。热点参数限流作为精细化流量控制的重要实现,能够针对接口的特定参数值进行精准防护,有效解决因少数热点数据(如热门商品ID、特定用户ID)引发的系统性能瓶颈问题。这项技术在高并发电商秒杀、社交平台热点事件、API网关防护等场景中具有极高价值。本文以Sentinel热点规则为例,深入解析其内部数据结构和运作机制,并结合线上故障案例,详细阐述如何通过Nacos动态配置、网关

weixin_34353714的博客 405

Kimi K2降本实践:垂直场景下长文本AI的全栈优化方法论

大语言模型并非越大越好,‘长文本理解’作为典型垂直能力,其工程实现本质是数据、模型与推理的协同约束优化。通过结构化数据预处理、注意力机制轻量化(如Chunked Local-Global Attention)、神经元级模型裁剪及预测式缓存等关键技术,可在不牺牲核心任务性能前提下,显著降低训练与推理成本。这类‘场景聚焦+全栈精算’路径,正成为中小团队突破算力瓶颈、实现AI商业落地的关键范式,尤其适用于法律、医疗、金融等高价值结构化文本场景。

weixin_34208283的博客 394

YOLOv8【第九章:模型部署篇·第15节】一文搞懂,模型监控与运维!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 2142

异构虚拟化实战指南:跨平台统一管理与迁移策略

在数据中心多元化的背景下,异构虚拟化已成为基础设施管理的关键挑战。它是指通过统一控制面与数据模型,将不同虚拟化平台(如VMware、KVM、Hyper-V)抽象为一致资源池,解决底层异构、上层统一的核心矛盾。其原理遵循控制平面与数据平面分离,依赖驱动适配层屏蔽API差异,调度层负责全局资源优化,从而实现对虚拟机迁移、统一资源池构建、网络与存储抽象的标准化管理。技术价值体现在降低厂商绑定风险、提升资源利用率与运维效率,应用场景覆盖私有云建设、IDC整合及混合云管理。本文从基础概念出发,结合工程实践,深入解析跨

weixin_33787529的博客 386

YOLOv11【第三章:高阶应用与落地篇·第20节】YOLOv11工业缺陷检测完整解决方案:检测+分割+等级判定三合一系统!

🏆 本文收录于专栏 《YOLOv11实战:从入门到深度优化》。本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。

**My Coding Family** 4452

基于OpenClaw的ITIL变更管理自动化实践:从理论到工程落地

工作流自动化是提升IT服务管理(ITSM)效率的核心技术,其原理在于通过预定义的规则与逻辑,将人工、重复的操作串联成可自动执行的数字化流程。这项技术的核心价值在于减少人为失误、提升流程执行速度与可审计性,广泛应用于运维自动化、CI/CD流水线及业务审批等场景。本文聚焦于ITIL框架中的变更管理,针对其流程执行中人工操作多、信息同步慢的痛点,详细阐述了如何利用开源自动化工具OpenClaw作为流程编排中枢,实现变更请求的自动创建与路由、动态风险评估与智能审批等关键场景的自动化。通过深度集成CMDB、监控系统及

weixin_34310369的博客 350

【 ‌infrastructure】【数据中心】【AI infra】第十篇 智能计算数据中心解决方案集成测试和交付知识体系1005

路由协议需要同时处理动态拓扑(LEO)和静态拓扑(GEO),BGP 的收敛速度无法跟上 LEO 切换(秒级),而 OSPF 的 LSDB 更新过于频繁。mode 4(LACP)需要交换机支持,mode 0(round-robin)可能乱序,mode 2(active-backup)带宽利用率低。使用 DCB(Data Center Bridging)配置 PFC 优先级映射,将 RoCE 流量映射到高优先级(3 或 4),其他流量低优先级。或者使用异步 NVMe-oF,允许命令排队,容忍延迟。

weixin_49199313的博客 80

【信息科学与工程学】【数据中心】 第十二篇 超大规模智算中心跨地域互联与协同架构方案-02

任务分配、路径规划、行为协调与冲突消解算法是构建智能自主系统的基石。​​任务分配​​是决策“谁做什么”,追求系统整体效能最优。​​路径规划​​是决策“怎么走去哪里”,保障个体移动的安全与效率。​​行为协调​​是设计“如何一起干”,确保群体协作的有序与高效。​​冲突消解​​则是制定“打架了怎么办”的规则,解决协作过程中的矛盾。这些算法广泛应用于​​无人机编队飞行​​、​​多机器人协同搜索与救援​​、​​智能仓储物流​​(AGV调度)、​​自动驾驶车队​​以及​​工业自动化​。

weixin_49199313的博客 758

【信息科学与工程学】【产品体系】第二十篇 CDN网络 04

国内 CDN 厂商在多租户隔离场景下实现 μ_c 求解与 LRU 淘汰的结合,公开资料中并未确认任何一家直接部署了 AdaptSize 原版的完整组合。最接近的公开生产级方案是腾讯 CDN 的LACA,通过异常租户检测 + 局部 MRC + DP 搜索实现轻量多租户缓存分配,但其不直接求解 μ_c,而是通过调整租户配额 K_t 间接控制。外层(LACA 式):异常租户检测 → 局部 MRC → DP 搜索租户配额 K_t中层(AdaptSize 式)

weixin_49199313的博客 158

【信息科学与工程学】【数据中心】 第二十三篇【智算中心】DDC网络-满足大规模训练、推理、存储区网络(Roce2组网)-01

设计维度目标值设计原则实现手段评估指标性能目标​端到端延迟<10ms低延迟优先RDMA优化,拓扑扁平化延迟分布,p99延迟可用性目标​99.99%可用性冗余设计多路径,设备冗余MTBF,MTTR吞吐目标​核心交换>10Tbps无阻塞交换大带宽核心,Clos架构对分带宽扩展性目标​线性扩展至1000节点模块化设计标准Pod架构扩展成本函数安全目标​零信任架构纵深防御微分段,加密传输安全事件数能效目标​PUE<1.2绿色计算高效设备,智能调度能效比(W/IOPS) 2. 物理拓扑设计 2.1 数据中心物理

weixin_49199313的博客 562

【信息科学与工程学】计算机科学与自动化——第二百二十九篇 企业级软件开发所涉及的关键因素1003

编号类型模块组件编程语言+环境编程设计考虑的因素(含缺陷规避、高内聚、低耦合、高性能、安全性、低BUG)关联知识和标准2201系统架构-分布式系统分布式一致性模型(Linearizability / Sequential Consistency)通用定义分布式存储对外表现的顺序。Linearizability:操作瞬间生效,像单机一样。Sequential Consistency:所有进程看到相同顺序,但顺序可任意。数学模型:历史可线性化等价于合法顺序执行。缺陷:Linearizability性能代价高(需

weixin_49199313的博客 18

【信息科学与工程学】【安全领域】第二百零五篇 漏洞治理 01

形式:RabbitMQ管理插件SSRF CVE-2026-57211(CVSSv4 8.3,Windows多插件可诱发SMB NTLM泄露)、管理API资源无限CWE-770 CVSSv4 5.3、管理UI存储XSS CVE-2026-57214/其他;用法:GET /cgi-bin/.%2e/%2e%2e/etc/passwd→读密文/源码→RCE。定量:CVSS 9.0;例:Spectre CVE-2017-5753、Meltdown CVE-2017-5754(CPU越界/未授权内核读);

weixin_49199313的博客 107

Aveva Marine C# 二次开发入门001

1# 引用 C:\AVEVA\Marine\OH12.1.SP4\Aveva.ApplicationFramework.dll C:\AVEVA\Marine\OH12.1.SP4\Aveva.ApplicationFramework.Presentation.dll 2# 引用命名空间, using Aveva.ApplicationFramework.Presentation;usi...

weixin_30245867的博客 1911
上一篇: 动态配置管理!SpringBoot 的 YAML 配置存储到数据库,省心多了!
下一篇: 苦日子来了,全体程序员做好长期打算吧!
公众号-芋道源码
博客等级 码龄10年 1633粉丝 377原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值