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.pswp.cn/web/66636.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66636.shtml
英文地址,請注明出處:http://en.pswp.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;非統計專業…