如何進(jìn)行Prometheus-MySQL監(jiān)控

如何進(jìn)行Prometheus-MySQL監(jiān)控,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)是專業(yè)的惠來網(wǎng)站建設(shè)公司,惠來接單;提供做網(wǎng)站、成都網(wǎng)站制作,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行惠來網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

 簡介

mysqld_exporter是用于獲取mysql實(shí)例的指標(biāo)服務(wù)。

安裝

mysql授權(quán)

CREATE USER exporter@localhost identified by "mima"; GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost' WITH MAX_USER_CONNECTIONS 3; flush privileges;

直接通過命令下載就可以了。

wget -t 1000 -c https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz tar zxvf  mysqld_exporter-0.12.1.linux-amd64.tar.gz -C /opt/ cd /opt/mysqld_exporter-0.12.1.linux-amd64 export DATA_SOURCE_NAME='exporter:mima@(localhost:3306)/' ./mysqld_exporter

這里設(shè)置用戶名密碼是通過環(huán)境變量的形式,也可以用配置文件,默認(rèn)找的配置文件是~/.my.cnf,也可以使用參數(shù)--config.my-cnf="/opt/mysqld_exporter/.my.cnf"  進(jìn)行設(shè)置。

./mysqld_exporter --config.my-cnf="/opt/mysqld_exporter/.my.cnf"

其他參數(shù)

usage: mysqld_exporter [<flags>]  Flags:   -h, --help                   Show context-sensitive help (also try --help-long and --help-man).       --exporter.lock_wait_timeout=2                                  Set a lock_wait_timeout on the connection to avoid long metadata locking.       --exporter.log_slow_filter                                  Add a log_slow_filter to avoid slow query logging of scrapes. NOTE: Not supported by Oracle MySQL.       --collect.heartbeat.database="heartbeat"                                  Database from where to collect heartbeat data       --collect.heartbeat.table="heartbeat"                                  Table from where to collect heartbeat data       --collect.info_schema.processlist.min_time=0                                  Minimum time a thread must be in each state to be counted       --collect.info_schema.processlist.processes_by_user                                  Enable collecting the number of processes by user       --collect.info_schema.processlist.processes_by_host                                  Enable collecting the number of processes by host       --collect.info_schema.tables.databases="*"                                  The list of databases to collect table stats for, or '*' for all       --collect.mysql.user.privileges                                  Enable collecting user privileges from mysql.user       --collect.perf_schema.eventsstatements.limit=250                                  Limit the number of events statements digests by response time       --collect.perf_schema.eventsstatements.timelimit=86400                                  Limit how old the 'last_seen' events statements can be, in seconds       --collect.perf_schema.eventsstatements.digest_text_limit=120                                  Maximum length of the normalized statement text       --collect.perf_schema.file_instances.filter=".*"                                  RegEx file_name filter for performance_schema.file_summary_by_instance       --collect.perf_schema.file_instances.remove_prefix="/var/lib/mysql/"                                  Remove path prefix in performance_schema.file_summary_by_instance       --web.listen-address=":9104"                                  Address to listen on for web interface and telemetry.       --web.telemetry-path="/metrics"                                  Path under which to expose metrics.       --timeout-offset=0.25    Offset to subtract from timeout in seconds.       --config.my-cnf="/home/jalright/.my.cnf"                                  Path to .my.cnf file to read MySQL credentials from.       --collect.mysql.user     Collect data from mysql.user       --collect.info_schema.tables                                  Collect metrics from information_schema.tables       --collect.info_schema.innodb_tablespaces                                  Collect metrics from information_schema.innodb_sys_tablespaces       --collect.info_schema.innodb_metrics                                  Collect metrics from information_schema.innodb_metrics       --collect.global_status  Collect from SHOW GLOBAL STATUS       --collect.global_variables                                  Collect from SHOW GLOBAL VARIABLES       --collect.slave_status   Collect from SHOW SLAVE STATUS       --collect.info_schema.processlist                                  Collect current thread state counts from the information_schema.processlist       --collect.perf_schema.tablelocks                                  Collect metrics from performance_schema.table_lock_waits_summary_by_table       --collect.perf_schema.eventsstatements                                  Collect metrics from performance_schema.events_statements_summary_by_digest       --collect.perf_schema.eventsstatementssum                                  Collect metrics of grand sums from performance_schema.events_statements_summary_by_digest       --collect.perf_schema.eventswaits                                  Collect metrics from performance_schema.events_waits_summary_global_by_event_name       --collect.auto_increment.columns                                  Collect auto_increment columns and max values from information_schema       --collect.binlog_size    Collect the current size of all registered binlog files       --collect.perf_schema.tableiowaits                                  Collect metrics from performance_schema.table_io_waits_summary_by_table       --collect.perf_schema.indexiowaits                                  Collect metrics from performance_schema.table_io_waits_summary_by_index_usage       --collect.info_schema.userstats                                  If running with userstat=1, set to true to collect user statistics       --collect.info_schema.clientstats                                  If running with userstat=1, set to true to collect client statistics       --collect.info_schema.tablestats                                  If running with userstat=1, set to true to collect table statistics       --collect.info_schema.schemastats                                  If running with userstat=1, set to true to collect schema statistics       --collect.perf_schema.file_events                                  Collect metrics from performance_schema.file_summary_by_event_name       --collect.perf_schema.file_instances                                  Collect metrics from performance_schema.file_summary_by_instance       --collect.perf_schema.replication_group_member_stats                                  Collect metrics from performance_schema.replication_group_member_stats       --collect.perf_schema.replication_applier_status_by_worker                                  Collect metrics from performance_schema.replication_applier_status_by_worker       --collect.engine_innodb_status                                  Collect from SHOW ENGINE INNODB STATUS       --collect.heartbeat      Collect from heartbeat       --collect.slave_hosts    Scrape information from 'SHOW SLAVE HOSTS'       --collect.info_schema.innodb_cmp                                  Collect metrics from information_schema.innodb_cmp       --collect.info_schema.innodb_cmpmem                                  Collect metrics from information_schema.innodb_cmpmem       --collect.info_schema.query_response_time                                  Collect query response time distribution if query_response_time_stats is ON.       --collect.engine_tokudb_status                                  Collect from SHOW ENGINE TOKUDB STATUS       --log.level="info"       Only log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal]       --log.format="logger:stderr"                                  Set the log target and format. Example: "logger:syslog?appname=bob&local=7" or "logger:stdout?json=true"       --version                Show application version.

部署服務(wù)

直接注冊成systemd服務(wù)。

```bash #!/bin/bash  VERSION="0.12.1"  wget  -t 100  -c  https://github.com/prometheus/mysqld_exporter/releases/download/v${VERSION}/mysqld_exporter-${VERSION}.linux-amd64.tar.gz  if [ ! -e mysqld_exporter-${VERSION}.linux-amd64.tar.gz ] then     echo "安裝包下載失敗"     exit 1 fi tar xvfz mysqld_exporter-${VERSION}.linux-amd64.tar.gz -C /opt/ cd /opt ln -s mysqld_exporter-${VERSION}.linux-amd64  mysqld_exporter cat > /etc/systemd/system/mysqld_exporter.service <<EOF  [Unit] Description=mysqld_exporter After=network.target  [Service] Type=simple WorkingDirectory=/opt/mysqld_exporter ExecStart=/opt/mysqld_exporter/mysqld_exporter --config.my-cnf="/opt/mysqld_exporter/.my.cnf" LimitNOFILE=65536 PrivateTmp=true RestartSec=2 StartLimitInterval=0 Restart=always  [Install] WantedBy=multi-user.target EOF ``` systemctl daemon-reload systemctl enable mysqld_exporter systemctl start mysqld_exporter

 配置prometheus Job

默認(rèn)端口是9104

- job_name: 'mysqld_exporter'    # metrics_path defaults to '/metrics'   # scheme defaults to 'http'.    static_configs:   - targets: ['localhost:9104']

指標(biāo)展示

指標(biāo)可以通過prometheus的WebUI進(jìn)行查看

http://[promethe server ip]:9090

如果需要畫圖,可以直接使用grafana,有人已經(jīng)配置好了圖形可以通過grafana官方下的dashboard找到mysqld_exporter相關(guān)的dashboard就可以直接使用了,配置好prometheus數(shù)據(jù)源,直接導(dǎo)入grafana就可以直接展示了。

關(guān)于如何進(jìn)行Prometheus-MySQL監(jiān)控問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。

網(wǎng)頁題目:如何進(jìn)行Prometheus-MySQL監(jiān)控
標(biāo)題來源:http://muchs.cn/article4/jpjcie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT標(biāo)簽優(yōu)化、網(wǎng)站改版、關(guān)鍵詞優(yōu)化、移動網(wǎng)站建設(shè)、網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)