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_$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