InnoDB Buffer Pool Size % of Total RAM - (Buffer Pool Size of Total RAM) 返回无数据
InnoDB Buffer Pool Size % of Total RAM - (Buffer Pool Size of Total RAM) returning No Data
我已经安装了 prometheus node_exporter running on port 9100
and mysqld_exporterrunning in port 9104
and configured grafana to use prometheus 作为默认源。
在 grafana 资源管理器中,我可以使用类似以下内容查询 node_memory_MemTotal_bytes
:
node_memory_MemTotal_bytes{instance="10.0.0.4:9100"}
notice port 9100 (node_exporter)
而且我还可以查询 innodb_buffer_pool_size
使用:
mysql_global_variables_innodb_buffer_pool_size{instance="10.0.0.4:9104"}
notice port 9104 (mysqld_exporter)
我想计算 Buffer pool size of total RAM
使用:
(mysql_global_variables_innodb_buffer_pool_size{instance=~"$host"} * 100) / on (instance) node_memory_MemTotal_bytes{instance=~"$host"}
我遇到的问题是 $host
是 IP 和端口:10.0.0.4:9104
并且只能从 mysqld_exporter
获取 mysql_global_variables_innodb_buffer_pool_size
而不是 node_memory_MemTotal_bytes
因为在端口 9100
因为这个我得到 No Data
关于如何混合来自 node_exporter
和 mysqld_exporter
的指标的数据有什么想法吗?
这是普罗米修斯配置:
- job_name: test_mysql
scheme: http
static_configs:
- targets:
- 10.0.0.4:9104
- job_name: test_node
scheme: http
static_configs:
- targets:
- 10.0.0.4:9100
按照步骤更新缓冲池大小-
- 编辑 innodb_buffer_pool_size
- MySQL 概述/编辑面板,替换指标
(mysql_global_variables_innodb_buffer_pool_size{instance="$host"} * 100) / on (instance) node_memory_MemTotal_bytes{instance="$host"}
进入 avg by (node_name) ((mysql_global_variables_innodb_buffer_pool_size{service_name=~""} * 100)) /on (node_name) (avg by (node_name) (node_memory_MemTotal_bytes{node_name=~""}))
替换旧指标,如下所示-
- 保存设置
我花了一整个下午来找到它的修复程序,所以我想我会分享它,以防它能帮助到其他人。
我终于能够使用 label_replace
函数让它工作了。
我用以下查询替换了原始查询:
(label_replace(mysql_global_variables_innodb_buffer_pool_size{instance="$host"}, "nodename", "", "instance", "(.*):.*") * 100) / on(nodename) (label_replace(node_memory_MemTotal_bytes, "nodename", "", "instance", "(.*):.*"))
label_replace 允许(除其他事项外)添加新标签,该标签可以基于现有标签的值。在这种情况下,我们使用它来添加一个新的 nodename 标签,它获取我们从中删除 :port
部分的实例标签 (hostname:port
) 的值.
因此,这允许来自不同导出器实例的指标共享具有相同值的标签,从而在需要时一起使用它们(在这里,我们想使用 mysqld_exporter
中的 mysql_global_variables_innodb_buffer_pool_size
指标对于给定的主机,同一查询中 node_exporter
中的 node_memory_MemTotal_bytes
。
HTH.
巴蒂斯特
我已经安装了 prometheus node_exporter running on port 9100
and mysqld_exporterrunning in port 9104
and configured grafana to use prometheus 作为默认源。
在 grafana 资源管理器中,我可以使用类似以下内容查询 node_memory_MemTotal_bytes
:
node_memory_MemTotal_bytes{instance="10.0.0.4:9100"}
notice port 9100 (node_exporter)
而且我还可以查询 innodb_buffer_pool_size
使用:
mysql_global_variables_innodb_buffer_pool_size{instance="10.0.0.4:9104"}
notice port 9104 (mysqld_exporter)
我想计算 Buffer pool size of total RAM
使用:
(mysql_global_variables_innodb_buffer_pool_size{instance=~"$host"} * 100) / on (instance) node_memory_MemTotal_bytes{instance=~"$host"}
我遇到的问题是 $host
是 IP 和端口:10.0.0.4:9104
并且只能从 mysqld_exporter
获取 mysql_global_variables_innodb_buffer_pool_size
而不是 node_memory_MemTotal_bytes
因为在端口 9100
因为这个我得到 No Data
关于如何混合来自 node_exporter
和 mysqld_exporter
的指标的数据有什么想法吗?
这是普罗米修斯配置:
- job_name: test_mysql
scheme: http
static_configs:
- targets:
- 10.0.0.4:9104
- job_name: test_node
scheme: http
static_configs:
- targets:
- 10.0.0.4:9100
按照步骤更新缓冲池大小-
- 编辑 innodb_buffer_pool_size
- MySQL 概述/编辑面板,替换指标
(mysql_global_variables_innodb_buffer_pool_size{instance="$host"} * 100) / on (instance) node_memory_MemTotal_bytes{instance="$host"}
进入avg by (node_name) ((mysql_global_variables_innodb_buffer_pool_size{service_name=~""} * 100)) /on (node_name) (avg by (node_name) (node_memory_MemTotal_bytes{node_name=~""}))
替换旧指标,如下所示-
- 保存设置
我花了一整个下午来找到它的修复程序,所以我想我会分享它,以防它能帮助到其他人。
我终于能够使用 label_replace
函数让它工作了。
我用以下查询替换了原始查询:
(label_replace(mysql_global_variables_innodb_buffer_pool_size{instance="$host"}, "nodename", "", "instance", "(.*):.*") * 100) / on(nodename) (label_replace(node_memory_MemTotal_bytes, "nodename", "", "instance", "(.*):.*"))
label_replace 允许(除其他事项外)添加新标签,该标签可以基于现有标签的值。在这种情况下,我们使用它来添加一个新的 nodename 标签,它获取我们从中删除 :port
部分的实例标签 (hostname:port
) 的值.
因此,这允许来自不同导出器实例的指标共享具有相同值的标签,从而在需要时一起使用它们(在这里,我们想使用 mysqld_exporter
中的 mysql_global_variables_innodb_buffer_pool_size
指标对于给定的主机,同一查询中 node_exporter
中的 node_memory_MemTotal_bytes
。
HTH.
巴蒂斯特