prometheus監(jiān)控MySQL并實現(xiàn)可視化的操作詳解
一、概述
mysqld_exporter 是一個用于監(jiān)控 MySQL 服務器的開源工具,它是由 Prometheus 社區(qū)維護的一個官方 Exporter。該工具通過連接到 MySQL 服務器并執(zhí)行各種查詢來收集關于 MySQL 服務器性能和狀態(tài)的指標,并將這些指標暴露給 Prometheus 監(jiān)控系統(tǒng)。
以下是 mysqld_exporter 的一些主要特點和功能:
- 指標收集: mysqld_exporter 通過執(zhí)行 SQL 查詢來收集關于 MySQL 服務器的各種指標,包括查詢性能、連接狀態(tài)、InnoDB 狀態(tài)、復制狀態(tài)等。
- Prometheus 兼容: mysqld_exporter 輸出的指標符合 Prometheus 的指標格式,并且可以直接由 Prometheus 進行收集和存儲。
- 靈活的配置: 用戶可以通過配置文件或命令行參數(shù)來配置 mysqld_exporter 的行為,包括指定要監(jiān)控的 MySQL 實例、連接參數(shù)、指標的收集頻率等。
- 安全性: mysqld_exporter 支持通過 TLS/SSL 進行安全連接,以確保監(jiān)控數(shù)據(jù)的機密性和完整性。
- 多版本支持: mysqld_exporter 可以與多個 MySQL 版本兼容,并且可以通過配置選擇性地啟用或禁用特定版本的指標收集。
- 自定義查詢: 用戶可以通過配置文件自定義要執(zhí)行的 SQL 查詢,以收集特定于其環(huán)境的自定義指標。
- 易于部署: mysqld_exporter 可以作為一個獨立的二進制文件部署,并且支持多種部署方式,包括 Docker 容器、系統(tǒng)服務等。
總的來說,mysqld_exporter 是一個功能強大且易于使用的工具,可以幫助用戶監(jiān)控和診斷其 MySQL 服務器的性能和健康狀態(tài),從而及時發(fā)現(xiàn)和解決潛在的問題。
1.1下載解壓mysqld_exporter
wget --no-check-certificate https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz cd mysqld_exporter-0.15.1.linux-amd64 cp -ar mysqld_exporter /usr/local/bin/ chmod +x /usr/local/bin/mysqld_exporter
1.2創(chuàng)建MySQL授權用戶
# 創(chuàng)建數(shù)據(jù)庫用戶。 CREATE USER 'mysql_exporter'@'192.168.2.139' IDENTIFIED BY 'Abcdef123!.'; # 對mysql_exporter用戶授權 GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysql_exporter'@'192.168.2.139';
1.3配置my.cnf
創(chuàng)建mysql配置文件、運行時可免密碼連接數(shù)據(jù)庫
cd mysqld_exporter-0.15.1.linux-amd64 cat > my.cnf << EOF [client] host=192.168.2.211 port=3306 user=mysql_exporter password=Abcdef123!. [client.servers] host=192.168.2.211 port=3306 user=mysql_exporter password=Abcdef123!. EOF
1.4啟動mysqld_exporter
直接命令行啟動mysql_exporter客戶端
nohup ./mysqld_exporter --config.my-cnf=./my.cnf &
也可以注冊為服務
cat <<EOF>> /usr/lib/systemd/system/mysqld-exporter.service [Unit] Description=mysqld_exporter [Service] User=root ExecStart=/root/prome/mysqld_exporter-0.15.1.linux-amd64/mysqld_exporter --config.my-cnf /root/prome/mysqld_exporter-0.15.1.linux-amd64/my.cnf --web.listen-address=0.0.0.0:9104 \ --collect.slave_status \ --collect.binlog_size \ --collect.info_schema.processlist \ --collect.info_schema.innodb_metrics \ --collect.engine_innodb_status \ --collect.perf_schema.file_events \ --collect.perf_schema.replication_group_member_stats Restart=on-failure [Install] WantedBy=multi-user.targe EOF
1.5prometheus配置修改
修改prometheus-cfg.yaml文件,添加如下
- job_name: 'mysql' static_configs: - targets: ['192.168.124.16:9104'] kubectl apply -f prometheus-alertmanager-cfg.yaml kubectl delete -f prometheus-deploy.yaml kubectl apply -f prometheus-deploy.yaml curl -XPOST localhost:9090/-/reload
登錄 promethetus 可以看到采集到了
二、Grafana展示
官網(wǎng)模板地址Dashboards | Grafana Labs
mysql-overview_rev5.json
導入模板
選擇“Import Json File”
導入模板后,選擇import
展示成功
以上就是prometheus監(jiān)控MySQL并實現(xiàn)可視化的操作詳解的詳細內(nèi)容,更多關于prometheus監(jiān)控MySQL的資料請關注腳本之家其它相關文章!
相關文章
JMeter對MySQL數(shù)據(jù)庫進行壓力測試的實現(xiàn)步驟
本文主要介紹了JMeter對MySQL數(shù)據(jù)庫進行壓力測試的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01mysql 數(shù)據(jù)庫安裝經(jīng)驗問題匯總
這篇文章主要介紹了mysql 數(shù)據(jù)庫安裝經(jīng)驗問題匯總,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下2016-09-09Ubuntu 18.04下mysql 8.0 安裝配置方法圖文教程
這篇文章主要為大家詳細介紹了Ubuntu 18.04下mysql 8.0 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05MySQL數(shù)據(jù)庫優(yōu)化的六種方式總結
關于數(shù)據(jù)庫優(yōu)化,網(wǎng)上有不少資料和方法,但是不少質(zhì)量參差不齊,所以下面這篇文章主要給大家介紹了關于MySQL數(shù)據(jù)庫優(yōu)化的六種方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-01-01一文帶你搞懂mysql中的三種數(shù)據(jù)讀取方式
在與MySQL數(shù)據(jù)庫交互時,數(shù)據(jù)的讀取方式有多種選擇,每種方式都有其獨特的原理、優(yōu)勢和劣勢,本文將對這三種讀取方式進行詳細介紹,需要的可以參考下2024-12-12