- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章运维监控系统之Prometheus-MySQL监控由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
简介 。
mysqld_exporter是用于获取mysql实例的指标服务.
安装 。
mysql授权 。
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 。
这里设置用户名密码是通过环境变量的形式,也可以用配置文件,默认找的配置文件是~/.my.cnf,也可以使用参数--config.my-cnf="/opt/mysqld_exporter/.my.cnf" 进行设置.
./mysqld_exporter --config.my-cnf="/opt/mysqld_exporter/.my.cnf" 。
其他参数 。
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. 。
部署服务 。
直接注册成systemd服务.
```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 。
默认端口是9104 。
- job_name: 'mysqld_exporter' 。
。
# metrics_path defaults to '/metrics' 。
# scheme defaults to 'http'. 。
。
static_configs: 。
- targets: ['localhost:9104'] 。
指标展示 。
指标可以通过prometheus的WebUI进行查看 。
http://[promethe server ip]:9090 。
如果需要画图,可以直接使用grafana,有人已经配置好了图形可以通过grafana官方下的dashboard找到mysqld_exporter相关的dashboard就可以直接使用了,配置好prometheus数据源,直接导入grafana就可以直接展示了.
原文地址:https://www.toutiao.com/i6911310105698943491/ 。
最后此篇关于运维监控系统之Prometheus-MySQL监控的文章就讲到这里了,如果你想了解更多关于运维监控系统之Prometheus-MySQL监控的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我是普罗米修斯的新手。根据我到目前为止所阅读和尝试的内容,Prometheus 客户端库通过 HTTP 公开收集的指标,Prometheus 定期读取(抓取)。 在 Prometheus 抓取指标之前
我们正在寻求实现监控和警报解决方案,我们希望为每个功能单元提供自己的 prometheus 实例。 目前我们通过 prometheus-operator 使用单个 prometheus 实例运行它,但
在 Prometheus 中,有标签柯里化(Currying)。一些示例方法类似于 CurryWith()。 这是什么意思?抱歉,我没有找到这方面的任何文档。 问题可能与英语不是我的母语有关,我从函数
如何编写一个查询来输出过去 24 小时内实例的平均内存使用情况? 以下查询显示当前内存使用情况 100 * (1 - ((node_memory_MemFree + node_memory_Cache
我正在向 prometheus 发送与两个磁盘相关的数据。我想提醒一个磁盘的指标是否停止发送指标。假设我有 diskA 和 diskB,我正在收集 disk_up 指标。现在diskB失败了。在普罗米
我正在考虑将一些指标导出到 Prometheus,但我对我计划做的事情感到紧张。 我的系统由一个工作流引擎组成,我想跟踪工作流中每个步骤的一些指标。这似乎是合理的,有一个名为 wfengine_ste
我想根据 prometheus 值文件中的环境 qa/prod 设置环境特定的值 ## Additional alertmanager container environment variable
我有一个包含路径和状态代码的请求直方图...如果过去一小时内的错误比前一小时增加了 20%,我如何发出警报? 一个指标示例: {instance="someIp",instance_hostname=
我有一个包含路径和状态代码的请求直方图...如果过去一小时内的错误比前一小时增加了 20%,我如何发出警报? 一个指标示例: {instance="someIp",instance_hostname=
像这样的 Prometheus 规则文件: groups: - name: ./example.rules rules: - alert: ExampleAlert expr: vec
我们有多个在数据中心运行的 Prometheus 实例(我将它们称为 DC Prometheus 实例),以及一个额外的 Prometheus 实例(在下面的文本中我们将其称为“主”),我们在其中从
最近 prometheus-operator图表已弃用,图表已重命名 kube-prometheus-stack更清楚地反射(reflect)它安装了 kube-prometheus 项目堆栈,其中
我在 Amazon linux 2 实例上安装了 prometheus,这是我在用户数据中使用的配置: cat /etc/systemd/system/prometheus.service [Uni
我们正在使用 prometheus 运算符,我们现在想将数据存储在磁盘上,有一个博客对此进行了解释,但不确定来自查询的数字/大小响应 https://www.robustperception.io/h
目标 通过 grafana 和 prometheus 跟踪 RPM 和正常运行时间 情况 我们正在使用 django-prometheus -> To emit metrics fluent-bit
我有 Prometheus 从几台机器上的节点导出器中抓取指标,配置如下: scrape_configs: - job_name: node_exporter static_configs
我的 Prometheus 设置中有一个警报,它会在 someMetric > 100 时发送警报已对 5m 有效然后每隔 24h 重新发送警报根据下面的配置: prometheus-alert.ym
我有两个计数器。一个是测量累加器,另一个是测量计数。如何生成范围向量平均值? 我尝试了以下但得到的结果为空。 rate(my_events{type="sum"}[60s]) / rate(my_ev
因为 Prometheus 仅支持文本指标和许多 json 中的工具返回指标(如 Finatra、Spring Boot),所以我创建了一个简单的代理,将 json 转换为文本。因为我想将它用于多个源
Prometheus 是否可以计算指标具有特定值的持续时间(例如以秒为单位)? 一个简单的例子是 up可以有两个值的度量:1或 0指示系统是否正在运行。想象一下,自上周以来,系统多次上下波动。 我希望
我是一名优秀的程序员,十分优秀!