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部署
- 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载:https://prometheus.io/download/
wget https://github.com/prometheus/prometheus/releases/download/v3.1.0/prometheus-3.1.0.linux-arm64.tar.gz
- 安装包下载成功后输入命令进行解压即可;
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即可;
- 配置解析
如图默认的配置如下:
#全局配置
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可视化页面部署
- 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载:https://grafana.com/grafana/download
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-11.4.0.linux-amd64.tar.gz
- 安装包下载成功后输入命令进行解压即可;
tar xvf grafana-enterprise-11.4.0.linux-amd64.tar.gz
#移动修改一下目录名字,也可以不修改
mv grafana-enterprise-11.4.0.linux-amd64 grafana
- 编写启动脚本,在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
- 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载: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
- 安装包下载成功后输入命令进行解压即可;
tar xvf node_exporter-1.8.2.linux-amd64.tar.gz
#移动修改一下目录名字,也可以不修改
mv node_exporter-1.8.2.linux-amd64 node_exporter
- 编写启动脚本,在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
- 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载:mysqld_exporter
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz
- 安装包下载成功后输入命令进行解压即可;
tar xvf mysqld_exporter-0.15.1.linux-amd64.tar.gz
#移动修改一下目录名字,也可以不修改
mv mysqld_exporter-0.15.1.linux-amd64 mysqld_exporter
- 编写mysql相关的配置信息
vim .my.cnf
[client]
host=127.0.0.1
port=3306
user=root
password=123456
- 编写启动脚本,在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
- 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载:mongodb_exporter
wget https://github.com/percona/mongodb_exporter/releases/download/v0.43.1/mongodb_exporter-0.43.1.linux-amd64.tar.gz
- 安装包下载成功后输入命令进行解压即可;
tar xvf mongodb_exporter-0.43.1.linux-amd64.tar.gz
#移动修改一下目录名字,也可以不修改
mv mongodb_exporter-0.43.1.linux-amd64 mongodb_exporter
- 编写启动脚本,在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
- 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载:redis_exporter
wget https://github.com/oliver006/redis_exporter/releases/download/v1.67.0/redis_exporter-v1.67.0.linux-amd64.tar.gz
- 安装包下载成功后输入命令进行解压即可;
tar xvf redis_exporter-v1.67.0.linux-amd64.tar.gz
#移动修改一下目录名字,也可以不修改
mv redis_exporter-v1.67.0.linux-amd64 redis_exporter
- 编写启动脚本,在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程序
- 到官网中进行下载安装后上传到服务器,或者直接执行命令进行下载: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_$2
labels:
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_count
labels:
error: "$2"
例二
lowercaseOutputLabelNames: true
lowercaseOutputName: true
whitelistObjectNames: ["java.lang:type=OperatingSystem"]
rules:
- pattern: 'java.lang<type=OperatingSystem><>((?!process_cpu_time)\w+):'
name: os_$1
type: GAUGE
attrNameSnakeCase: true