Prometheus部署及linux、mysql、monog、redis、RocketMQ、java_jvm监控配置

Prometheus部署及linux、mysql、monog、redis、RocketMQ、java_jvm监控配置

    • 1.Prometheus部署
      • 1.2.Prometheus修改默认端口
    • 2.grafana可视化页面部署
    • 3.alertmanager部署
    • 4.监控配置
      • 4.1.主机监控node-exporter
      • 4.2.监控mysql数据库mysqld_exporter
      • 4.3.监控mongod数据库mongodb_exporter
      • 4.4.监控redis-redis_exporter
      • 4.5.监控RocketMQ-rocketmq-exporter
      • 4.6.监控java程序

1.Prometheus部署

  1. 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载:https://prometheus.io/download/
wget https://github.com/prometheus/prometheus/releases/download/v3.1.0/prometheus-3.1.0.linux-arm64.tar.gz
  1. 安装包下载成功后输入命令进行解压即可;
tar xvf prometheus-3.1.0.linux-arm64.tar.gz
#移动修改一下目录名字,也可以不修改
mv prometheus-3.1.0.linux-arm64 prometheus

在这里插入图片描述
在这里插入图片描述
3. 编写启动脚本,在prometheus目录中创建start.sh脚本文件;

cd prometheus/
vim start.sh

在文件中插入以下内

nohup ./prometheus --config.file=prometheus.yml > log 2>&1 &

以后需要启动的时候,执行这个脚本即可;
prometheus默认端口是9090,通过浏览器访问 http://IP:9090即可;

  1. 配置解析

如图默认的配置如下:

#全局配置
global:scrape_interval: 15s #设置抓取数据的时间间隔,默认1分钟evaluation_interval: 15s #设置执行告警规则的时间间隔,默认1分钟#告警配置
alerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093 #配置告警服务的ip和端口#告警规则和阈值的配置
rule_files:# - "first_rules.yml"# - "second_rules.yml"#收集数据配置
scrape_configs:- job_name: "prometheus" #设置收集数据的job名字,名字不能重复# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ["localhost:9090"] #prometheus的服务job
#示例:
#需要添加其他的数据采集任务时就在下面加一个job,如:- job_name: "centos"      static_configs:- targets: ["192.168.1.111:9100"]

1.2.Prometheus修改默认端口

修改默认端口方法
如果需要修改默认端口,则可以在启动时增加参数--web.listen-address=":端口号",其他的job服务也可以通过这种方式修改默认端口:

注意:
需要注意的是修改了默认的端口后,要到prometheus.yml文件中将对应的job – targets的值修改为与之对应的;

--web.listen-address=":端口号"
#如:--web.listen-address=":8080"

在这里插入图片描述

2.grafana可视化页面部署

  1. 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载:https://grafana.com/grafana/download
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-11.4.0.linux-amd64.tar.gz
  1. 安装包下载成功后输入命令进行解压即可;
tar xvf grafana-enterprise-11.4.0.linux-amd64.tar.gz
#移动修改一下目录名字,也可以不修改
mv grafana-enterprise-11.4.0.linux-amd64 grafana
  1. 编写启动脚本,在prometheus目录中创建start.sh脚本文件;
cd grafana/
vim start.sh

在文件中插入以下内

nohup grafana server --config=./conf/defaults.ini > log 2>&1 &

以后需要启动的时候,执行这个脚本即可;
grafana默认端口是3000,通过浏览器访问 http://IP:grafana即可;
默认账号:admin
密码:admin

3.alertmanager部署

后续补充

4.监控配置

4.1.主机监控node-exporter

  1. 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载:node_exporter-1.8.2.linux-amd64.tar.gz
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz
  1. 安装包下载成功后输入命令进行解压即可;
tar xvf node_exporter-1.8.2.linux-amd64.tar.gz
#移动修改一下目录名字,也可以不修改
mv node_exporter-1.8.2.linux-amd64 node_exporter
  1. 编写启动脚本,在prometheus目录中创建start.sh脚本文件;
cd node_exporter/
vim start.sh

在文件中插入以下内

# --web.listen-address=":9191"用来修改默认端口
nohup ./node_exporter --web.listen-address=":9191" > log 2>&1 &

服务启动后只需要将服务地址端口加入到prometheus.yml配置文件中即可,重启Prometheus即可,如图:
编辑文件并插入内容;

vim prometheus.yml
- job_name: "centos"static_configs:- targets: ["192.168.1.23:9191"]

在这里插入图片描述

4.2.监控mysql数据库mysqld_exporter

  1. 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载:mysqld_exporter
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz
  1. 安装包下载成功后输入命令进行解压即可;
tar xvf mysqld_exporter-0.15.1.linux-amd64.tar.gz
#移动修改一下目录名字,也可以不修改
mv mysqld_exporter-0.15.1.linux-amd64 mysqld_exporter
  1. 编写mysql相关的配置信息
vim .my.cnf
[client]
host=127.0.0.1
port=3306
user=root
password=123456
  1. 编写启动脚本,在prometheus目录中创建start.sh脚本文件;
cd mysqld_exporter/
vim start.sh

在文件中插入以下内

# --web.listen-address=":9191"用来修改默认端口
nohup ./mysqld_exporter --config.my-cnf=./.my.cnf --web.listen-address=":9192" > log 2>&1 &

服务启动后只需要将服务地址端口加入到prometheus.yml配置文件中即可,重启Prometheus即可
编辑文件并插入内容;

vim prometheus.yml
- job_name: "mysql"static_configs:- targets: ["192.168.1.23:9192"]

4.3.监控mongod数据库mongodb_exporter

  1. 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载:mongodb_exporter
wget https://github.com/percona/mongodb_exporter/releases/download/v0.43.1/mongodb_exporter-0.43.1.linux-amd64.tar.gz
  1. 安装包下载成功后输入命令进行解压即可;
tar xvf mongodb_exporter-0.43.1.linux-amd64.tar.gz
#移动修改一下目录名字,也可以不修改
mv mongodb_exporter-0.43.1.linux-amd64 mongodb_exporter
  1. 编写启动脚本,在prometheus目录中创建start.sh脚本文件;
cd mongodb_exporter/
vim start.sh

在文件中插入以下内

# --web.listen-address=":9193"用来修改默认端口
nohup ./mongodb_exporter --mongodb.uri=mongodb://root:123456@127.0.0.1:27017/?authSource=admin --collect-all --compatible-mode --web.listen-address=":9193"> log 2>&1 &

服务启动后只需要将服务地址端口加入到prometheus.yml配置文件中即可,重启Prometheus即可
编辑文件并插入内容;

vim prometheus.yml
- job_name: "mongo"static_configs:- targets: ["192.168.1.23:9193"]

4.4.监控redis-redis_exporter

  1. 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载:redis_exporter
wget https://github.com/oliver006/redis_exporter/releases/download/v1.67.0/redis_exporter-v1.67.0.linux-amd64.tar.gz
  1. 安装包下载成功后输入命令进行解压即可;
tar xvf redis_exporter-v1.67.0.linux-amd64.tar.gz
#移动修改一下目录名字,也可以不修改
mv redis_exporter-v1.67.0.linux-amd64 redis_exporter
  1. 编写启动脚本,在prometheus目录中创建start.sh脚本文件;
cd redis_exporter/
vim start.sh

在文件中插入以下内

#-redis.addr用来指定地址、端口
#-redis.password=123456用来指定认证密码
# --web.listen-address=":9194"用来修改默认端口
nohup ./redis_exporter -redis.addr=localhost:6379 -redis.password=123456 --web.listen-address=":9194" > log 2>&1 &

服务启动后只需要将服务地址端口加入到prometheus.yml配置文件中即可,重启Prometheus即可
编辑文件并插入内容;

vim prometheus.yml
- job_name: "redis"static_configs:- targets: ["192.168.1.23:9194"]

4.5.监控RocketMQ-rocketmq-exporter

官网的rocketmq-exporter需要将代码拉下来进行编写生成jar文件,编译依赖于git、mvaen环境;

也可以通过网盘分享的文件进行下载:rocketmq-exporter-0.0.3-SNAPSHOT-exec.jar
链接: https://pan.baidu.com/s/1MdqHaDAfYmPL5jPKHYp3bA?pwd=diqc 提取码: diqc
–来自百度网盘超级会员v2的分享
官网下载方法:

#通过wget获取源码,也可以:git clone https://github.com/apache/rocketmq-exporter.git
wget https://codeload.github.com/apache/rocketmq-exporter/zip/refs/heads/master
#修改获取文件的名字并解压,git clone方式获取的不需要要这两个步骤,我这里由于网络原因无法通过只能使用wget方式
mv master master.zip
unzip master.zip#进入到解压后的目录中
cd rocketmq-exporter-master
#将源码编译打包为jar文件
mvn clean install -D maven.test.skip=true

编译完成后,在源码的rocketmq-exporter-master/target目录中会生成一个rocketmq-exporter-0.0.3-SNAPSHOT-exec.jar文件即编译成功;
接下来就是编写启动脚本

vim rocketmq-exporter-master/start.sh

然后插入以下内容即可

#--rocketmq.config.namesrvAddr=127.0.0.1:9876指定nameSrv地址
#--server.port=9195指定程序端口
nohup java -jar target/rocketmq-exporter-0.0.3-SNAPSHOT-exec.jar --rocketmq.config.namesrvAddr=127.0.0.1:9876 --server.port=9195 > log 2>&1 &

同样的,服务启动后只需要将服务地址端口加入到prometheus.yml配置文件中即可,重启Prometheus即可
编辑文件并插入内容;

vim prometheus.yml
- job_name: "redis"static_configs:- targets: ["192.168.1.23:9195"]

4.6.监控java程序

  1. 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载:jmx_prometheus_javaagent
wget https://github.com/prometheus/jmx_exporter/releases/download/1.1.0/jmx_prometheus_javaagent-1.1.0.jar

然后,在启动需要监控的java程序时,添加启动参数即可

-javaagent:/data/smsv1/counter/JMX_exporter/jmx_prometheus_javaagent-0.3.1.jar=9196:/data/smsv1/counter/JMX_exporter/config.yml

同样的,服务启动后只需要将服务地址端口加入到prometheus.yml配置文件中即可,重启Prometheus即可
编辑文件并插入内容;

vim prometheus.yml
- job_name: "redis"static_configs:- targets: ["192.168.1.23:9196"]

config.yaml是你想要的JMX指标。例子如下:

例一

lowercaseOutputName: true
rules:- pattern: 'Catalina<type=(\w+), name=(\w+)><>(\w+):'name: tomcat_$3_$2labels:server: "$1"name: "$2"- pattern: 'java.lang<type=Memory><>(\w+):'name: java_lang_memory_$1- pattern: 'java.lang<type=GarbageCollector, name=(\w+), error=(\w+)><>CollectionCount:'name: java_lang_garbagecollector_$1_collection_countlabels:error: "$2"

例二

lowercaseOutputLabelNames: true
lowercaseOutputName: true
whitelistObjectNames: ["java.lang:type=OperatingSystem"]
rules:- pattern: 'java.lang<type=OperatingSystem><>((?!process_cpu_time)\w+):'name: os_$1type: GAUGEattrNameSnakeCase: true

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于tldextract提取URL里的子域名、主域名、顶级域

TLD是TopLevel Domain的缩写。‌tldextract‌ 是一个用于从URL中提取子域、主域名和顶级域&#xff08;TLD&#xff09;的Python库。它利用公共后缀列表&#xff08;Public Suffix List&#xff09;来确保即使是复杂或不常见的URL结构也能被正确解析。tldextract能够处理包括IC…

常见Arthas命令与实践

Arthas 官网&#xff1a;https://arthas.aliyun.com/doc/&#xff0c;官方文档对 Arthas 的每个命令都做出了介绍和解释&#xff0c;并且还有在线教程&#xff0c;方便学习和熟悉命令。 Arthas Idea 的 IDEA 插件。 这是一款能快速生成 Arthas命令的插件&#xff0c;可快速生成…

Mellanox ConnectX 系列网卡的双驱动架构:以太网与 InfiniBand 的协同设计

在现代数据中心和高性能计算(HPC)环境中,网络硬件的性能和功能至关重要。Mellanox ConnectX 系列网卡以其卓越的性能和多功能性而闻名,支持从传统的以太网到高性能的 InfiniBand 网络协议。这种多功能性使得 Mellanox 网卡能够满足不同应用场景的需求,从常规的数据中心网络…

win32汇编环境,对多行编辑框添加或删除文本

;运行效果 ;win32汇编环境,对多行编辑框添加或删除文本 ;主要要先设置文本的开始点与结束点&#xff0c;然后把一段文本顶替上去。没有添加文本或删除文本的概念&#xff0c;只有顶替。如果开始点与结束点都是前面文本的长度值&#xff0c;则成了从后面添加文本的效果。如果结束…

CSDN年度回顾:技术征途上的坚实步伐

嘿&#xff0c;时光过得可真快呀&#xff0c;就像那匹跑得飞快的白马&#xff0c;嗖的一下&#xff0c;2024 年的日历就这么悄无声息地翻到了最后一页。这会儿我回头看看在 CSDN 上度过的这一年&#xff0c;心里那叫一个感慨万千&#xff0c;满满的都是喜悦&#xff0c;就像心里…

泛型子类使用Builder提示:both methods have same erasure, yet neither hides the other

父类 Data Builder AllArgsConstructor NoArgsConstructor public class ParentClass {public String name; } 子类 AllArgsConstructor NoArgsConstructor Data SuperBuilder public class ChildClass<T> extends ParentClass {private T value; } 提示错误 builde…

Springboot集成Elasticsearch8.0(ES)版本,采用JAVA Client方式进行连接和实现CRUD操作

本文章介绍了 springboot t集成Elasticsearch8.0(ES)版本,如何通过 AVA Client方式进行连接和实现CRUD操作 在ES7.15版本之后,ES官方将高级客户端 RestHighLevelClient标记为弃用状态。同时推出了全新的 Java API客户端 Elasticsearch Java API Client,该客户端也将在 Ela…

人脸识别打卡系统--基于QT(附源码)

逃离舒适区 项目源代码放在我的仓库中&#xff0c;有需要自取 项目地址 https://gitcode.com/hujiahangdewa/Face_recognition.git 文章目录 一、项目结构分析二、服务器的搭建三、客户端的搭建四、人脸识别库的申请五、基于人脸识别库的识别判断六、QT人脸识别----调用百度ai…

人工智能在数字化转型中的角色:从数据分析到智能决策

引言 在数字化转型浪潮中&#xff0c;人工智能&#xff08;AI&#xff09;正迅速崛起&#xff0c;成为推动企业创新和变革的关键力量。面对日益复杂的市场环境和激烈的行业竞争&#xff0c;企业亟需借助技术手段提高运营效率、优化决策过程&#xff0c;并增强市场竞争力。而AI…

react install

react 安装 React 是一个用于构建用户界面的 JavaScript 库。以下是安装 React 的步骤&#xff1a; 使用 Create React App Create React App 是一个官方支持的命令行工具&#xff0c;用于快速搭建 React 应用。 安装 Node.js 和 npm 确保你的计算机上安装了 Node.js 和 npm…

Android系统开发(二十):字体活起来,安卓自定义字体改造指南

为什么要写这篇文章&#xff1f; 你是否厌倦了千篇一律的安卓默认字体&#xff1f;想让你的设备从“乏味的配角”变成“炫酷的主角”&#xff1f;好消息&#xff01;从Android 12到Android 15&#xff0c;自定义字体变得更简单、更强大。尤其是表情字体的更新&#xff0c;不仅…

django使用踩坑经历

DRF 使用drf获取序列化后的id visitor_serializer VisitorSaveSerializer(data{…}) if visitor_serializer.is_valid():visitor visitor_serializer.save() visitor_id visitor.pkpostgrepsql踩坑 django使用postgrepsql&#xff0c;使用聚合函数如:sum 等&#xff0c;被…

ASP.NET Core中 JWT 实现无感刷新Token

在 Web 应用开发中&#xff0c;用户登录状态的管理至关重要。为了避免用户频繁遇到登录过期的问题&#xff0c;我们可以通过实现 JWT&#xff08;JSON Web Token&#xff09;刷新机制来提升用户体验 推荐: 使用 Refresh Token&#xff08;双 Token 机制&#xff09; 1. 生成和…

将 AzureBlob 的日志通过 Azure Event Hubs 发给 Elasticsearch(3.纯python的实惠版)

前情&#xff1a; 将 AzureBlob 的日志通过 Azure Event Hubs 发给 Elasticsearch&#xff08;1.标准版&#xff09;-CSDN博客 将 AzureBlob 的日志通过 Azure Event Hubs 发给 Elasticsearch&#xff08;2.换掉付费的Event Hubs&#xff09;-CSDN博客 python脚本实现 厉害的…

python学opencv|读取图像(四十)掩模:三通道图像的局部覆盖

【1】引言 前序学习了使用numpy创建单通道的灰色图像&#xff0c;并对灰色图像的局部进行了颜色更改&#xff0c;相关链接为&#xff1a; python学opencv|读取图像&#xff08;九&#xff09;用numpy创建黑白相间灰度图_numpy生成全黑图片-CSDN博客 之后又学习了使用numpy创…

【全面解析】深入解析 TCP/IP 协议:网络通信的基石

深入解析 TCP/IP 协议&#xff1a;网络通信的基石 导语 你是否曾好奇&#xff0c;现代互联网是如何实现全球设备之间的高速、稳定和可靠通信的&#xff1f;无论是浏览网页、发送电子邮件&#xff0c;还是进行视频通话&#xff0c;背后都离不开 TCP/IP 协议 的支撑。作为互联网…

全面解析 Java 流程控制语句

Java学习资料 Java学习资料 Java学习资料 在 Java 编程中&#xff0c;流程控制语句是构建程序逻辑的关键部分&#xff0c;它决定了程序的执行顺序和走向。通过合理运用这些语句&#xff0c;开发者能够实现各种复杂的业务逻辑&#xff0c;让程序更加灵活和智能。 顺序结构 顺…

Linux系统常用指令

查找文件 find / -name "<文件名>" 2>/dev/null //遍历系统查找指定文件名文件ls -l | grep "<文件名>" //列出当前目录下有关文件名的文件find -name sw_sfp_alarm_cfg.xml //查找文件名对应路径 切换目录 编辑文件 vi <文件…

【Unity】ScrollViewContent适配问题(Contentsizefilter不刷新、ContentSizeFilter失效问题)

最近做了一个项目&#xff0c;菜单栏读取数据后自动生成&#xff0c;结果用到了双重布局 父物体 尝试了很多方式&#xff0c;也看过很多大佬的文章&#xff0c;后来自己琢磨了一下&#xff0c;当子物体组件自动生成之后&#xff0c;使用以下以下代码效果会好一些&#xff1a; …

AI辅助医学统计分析APP

AI辅助医学统计分析APP 医学统计分析的困难点在于开始阶段分析的规划和得出分析结果之后分析结果的解释&#xff0c;前者之所以困难是因为分析方法繁多又有不同的使用条件&#xff0c;后者则是因为结果中术语较多&#xff0c;且各种分析方法术语又有不同&#xff0c;非统计专业…