Prometheus+Grafana

news/2024/11/8 9:11:20/

一、Prometheus

获取配置文件

docker run -d -p 9090:9090 --name prometheus prom/prometheus
mkdir -p /app/prometheus
docker cp prometheus:/etc/prometheus/prometheus.yml /app/prometheus/prometheus.yml

停止并删除旧的容器,重新启动

docker run -d --name prometheus -p 9090:9090 -v /app/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

访问prometheus

http://XX.xx.xx.xx:9090

二、Grafana

看板ID 搜CN查询中文看板

https://grafana.com/grafana/dashboards/

设置grafana映射文件夹

mkdir -p /app/grafana
chmod 777 -R /app/grafana

启动

 docker run -d -p 3000:3000 --name=grafana  -v /app/grafana:/var/lib/grafana grafana/grafana

默认密码admin admin

三、引入node-exporter监控服务器

docker run -d --name node-exporter -p 9100:9100 \-v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone \prom/node-exporter

将node-exporter服务暴露公网的ip和端口(内网ip也可以) 配置到Prometheus的prometheus.yml文件中

  - job_name: 'linux'static_configs:- targets: ['106.54.220.184:9100']

重启容器,查看Prometheus
在这里插入图片描述

看板:Node Exporter Dashboard 220413 ConsulManager自动同步版 

在这里插入图片描述

四、引入mysqld-exporter监控Mysql

在监控的mysql创建只能读取数据的用户,使用该用户登录返回数据库信息

CREATE USER 'mysqlexporter'@'106.54.220.184' IDENTIFIED BY 'mysqlexporter' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysqlexporter'@'106.54.220.184';
flush privileges;

启动Mysql监听

docker run -d --name mysql-exporter -p 9104:9104 -e DATA_SOURCE_NAME="用户名:密码@(ip:3306)/mysql" prom/mysqld-exporter
docker run -d --name mysql-exporter -p 9104:9104 -e DATA_SOURCE_NAME="mysqlexporter:mysqlexporter@(ip:3306)/mysql" prom/mysqld-exporter

将mysqld-exporter服务暴露公网的ip和端口(内网ip也可以) 配置到Prometheus的prometheus.yml文件中

 - job_name: 'mysql'static_configs:- targets: ['ip:9104']

查看普罗米修斯 是否新增了监听
在这里插入图片描述
在Grafana配置Prometheus数据源

Configuration -> Data Sources ->add data source -> Prometheus
Create import Mysql看板ID:8919  中文Mysql看板:17320

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

五、Springboot引入prometheus监测Jvm

应用引入prometheus依赖

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId><scope>runtime</scope></dependency>

修改配置文件

#prometheus监控平台配置
management:endpoint:metrics:enabled: true #支持metricsprometheus:enabled: true #支持Prometheusmetrics:export:prometheus:enabled: truetags:application: ruoyi-dev #实例名采集endpoints:web:exposure:include: '*' #开放所有端口

配置发送资源接口放行
在这里插入图片描述
如果应用有app应用上下文,加入上下文/api

curl --request GET --url http://106.54.220.184:8080/api/actuator/prometheus

默认的话

curl --request GET --url http://ip:端口/actuator/prometheus

在这里插入图片描述
配置到prometheus监听

  - job_name: "ruoyi-dev"# metrics_path defaults to '/metrics'# scheme defaults to 'http'.metrics_path: /api/actuator/prometheusstatic_configs:- targets: ["106.54.220.184:8080"]

在这里插入图片描述

备份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"]# 监测Linux	  - job_name: 'Linux-184'static_configs:- targets: ['106.54.220.184:9100'] # 监测Mysql	  - job_name: "MySQL-184"static_configs:- targets: ["106.54.220.184:9104"]# 监测Jvm- job_name: "ruoyi-dev"metrics_path: /api/actuator/prometheusstatic_configs:- targets: ["106.54.220.184:8080"]

http://www.ppmy.cn/news/1195586.html

相关文章

ubuntu20.04配置解压版mysql5.7

目录 1.创建mysql 用户组和用户2.下载 MySQL 5.7 解压版3.解压 MySQL 文件4.将 MySQL 移动到适当的目录5.更改mysql目录所属的用户组和用户&#xff0c;以及权限6.进入mysql/bin/目录&#xff0c;安装初始化7.编辑/etc/mysql/my.cnf配置文件8.启动 MySQL 服务&#xff1a;9.建立…

使用df.at及iterrows() 遍历DataFrame数据行

for i in range(len(df)) 遍历了 DataFrame 中的行索引&#xff0c;然后内部循环 for column in df.columns 遍历了每列的标签&#xff0c;使用 df.at[i, column] 访问了每个单元格的值。 # df.at 是 Pandas 中用于访问单个单元格的方法。 # value df.at[row_label, column_la…

SAP SD 定价 删除不满足条件的的条件类型

项目上的需求&#xff1a;当销售订单行项目类别满足条件时&#xff0c;根据配置表&#xff0c;删除不满足条件的的条件类型。 直接上增强点&#xff0c;bapi也能跑到这个位置。

[css] flex 子元素自动撑开父元素宽度

对于水平排列的情况&#xff0c;我们可以设置父元素的flex-direction属性为row。这样&#xff0c;子元素将会水平排列在一行内&#xff0c;并自动撑开父元素的宽度。如果子元素的宽度总和超过了父元素的宽度&#xff0c;则子元素会被压缩&#xff0c;以适应父元素的宽度。 对于…

Flutter 06 动画

一、动画基本原理以及Flutter动画简介 1、动画原理&#xff1a; 在任何系统的Ul框架中&#xff0c;动画实现的原理都是相同的&#xff0c;即&#xff1a;在一段时间内&#xff0c;快速地多次改变Ul外观&#xff1b;由于人眼会产生视觉暂留&#xff0c;所以最终看到的就是一个…

leetcode_117 填充每个节点的下一个右侧节点指针 II

文章目录 1. 题意2. 题解2.1 BFS2.2 BFS空间优化2.3 DFS序层次记录 3. Ref 1. 题意 在一颗树的同层之间用指针把他们链接起来。 填充每个节点的下一个右侧节点指针 II 2. 题解 2.1 BFS 用一个变量记录下同层最右侧的节点&#xff0c;当遍历到时更新下一层的最右侧节点即可…

AI:52-基于深度学习的垃圾分类

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌本专栏包含以下学习方向: 机器学习、深度学…

C之(10)CMocka-单元测试框架使用

CMocka基础使用 Author&#xff1a;Once Day Date&#xff1a;2023年6月15日 参考文档&#xff1a; GoogleTest User’s Guide | GoogleTest嵌入式自动化单元测试(2)-Cmocka - 知乎 (zhihu.com)使用 cmocka 进行单元测试 | 前尘逐梦 (qianchenzhumeng.github.io)cmocka - un…