promethus监控mysql指标_prometheus学习笔记(3)-使用exporter监控mysql

上一篇学习了使用java client向prometheus写入数据,但更多时候,我们希望借助prometheus来监控一些标准中间件,比如mysql、haproxy等等。本篇将以mysql为例,学习如何利用exporter来监控其核心指标。(注:以下均为mac环境)

一、下载mysql exporter

要监控某个对象,首先得拿到被监控对象的指标数据,这就要借助各种exporter,它的主要作用就是把核心指标数据暴露出来,这样监控系统才能获取到相应数据。

prometheus自带了很多exporter, mysqld_exporter 就是专用于暴露mysql各种指标的插件。

下载地址:https://prometheus.io/download/#mysqld_exporter,下载到本地然后解压即可,假设下载解压后的目录名为:/Users/jimmy/Downloads/mysqld_exporter-0.12.1.darwin-386

二、配置exporter

连接mysql需要用户名、密码,所以下载之后,首先要创建配置文件,把用户名、密码以及mysql服务器地址,这些基本信息填写进去。

在mysqld_exporter的目录下,创建一个.my.cnf的文件,内容参考下面的内容:

[client]

host=127.0.0.1

port=3306

user=exporter

password=exporter123

配置很简单,一看就明白,当然,如果mysql中没有exporter这个用户名,需要提前创建,参考以下命令:

GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost' IDENTIFIED BY 'exporter123' WITH MAX_USER_CONNECTIONS 3;

flush privileges;

密码:exporter123可以根据需要更改,尽量复杂些,保证安全。

三、启动exporter

在mysqld_exporter的解压目录下,输入

./mysqld_exporter --config.my-cnf=/Users/jimmy/Downloads/mysqld_exporter-0.12.1.darwin-386/.my.cnf

--config.my-cnf的配置文件路径,大家根据自己的情况,做相应调整。

➜ mysqld_exporter-0.12.1.darwin-386 ./mysqld_exporter --config.my-cnf=/Users/jimmy/Downloads/mysqld_exporter-0.12.1.darwin-386/.my.cnf

INFO[0000] Starting mysqld_exporter (version=0.12.1, branch=HEAD, revision=48667bf7c3b438b5e93b259f3d17b70a7c9aff96) source="mysqld_exporter.go:257"

INFO[0000] Build context (go=go1.12.7, user=root@0b3e56a7bc0a, date=20190729-12:37:01) source="mysqld_exporter.go:258"

INFO[0000] Enabled scrapers: source="mysqld_exporter.go:269"

INFO[0000] --collect.global_status source="mysqld_exporter.go:273"

INFO[0000] --collect.global_variables source="mysqld_exporter.go:273"

INFO[0000] --collect.slave_status source="mysqld_exporter.go:273"

INFO[0000] --collect.info_schema.innodb_cmp source="mysqld_exporter.go:273"

INFO[0000] --collect.info_schema.innodb_cmpmem source="mysqld_exporter.go:273"

INFO[0000] --collect.info_schema.query_response_time source="mysqld_exporter.go:273"

INFO[0000] Listening on :9104 source="mysqld_exporter.go:283"

启动完成后,会看到类似上面的输出,注意最后一行,表示将在9104这个端口上,启动mysql监听, 可以浏览 http://localhost:9104/metrics 验证是否有数据输出,如果看到类似下面的输出,表示工作正常。

5bed71bcb90f3067851465e383076937.png

四、配置prometheus

mysqld_exporter启动后,prometheus怎么知道它的存在呢? 这就要修改prometheus的配置文件:prometheus.yml ,该文件默认在 /usr/local/etc/ 目录下。

scrape_configs:

- job_name: "prometheus"

static_configs:

- targets: ["localhost:9090"]

- job_name: "push-metrics"

static_configs:

- targets: ["localhost:9091"]

- job_name: "mysql"

static_configs:

- targets: ["localhost:9104"]

honor_labels: true

文件的结构大致说一下,scrape_config节点下,有一堆job_name,prometheus就是通过配置各种job来获取监控数据的。参考上面的内容,在最后添加mysql的job即可。

添加完成后,需要重启prometheus, 重启完成后,即可看到mysql开头的各种数据。

d7da3145c5abe2de509c1af95a5a0069.png

五、grafana导入mysql模板

有了mysql的各种指标,就可以在grafana里配置监控图表了,当然可以手动一项项指标自己添加,但是这样效率太低了,对于mysql这种标准的中间件而言,grafana官网已经有很多现成的图表模板,可以直接拿来用,如下图:

1d71950b7770bfc7a86a743617069884.png

在grafana中,点击import

b00a2655c2e5f670885a4dd2d318d663.png

输入mysql dashboard模板地址: https://grafana.com/grafana/dashboards/11323

2016e5acf32c3b9d73bc9012c49297a6.png

加载成功后,会出现下图:

863c7ed24c64ba1dbd5eb879a038c713.png

注意要选择Prometheus(参考上图),点击import ,大功告成!

fdfb396a786602a415f4a5fc2306f7f4.png

注:如果导入错误了,想要删除,可参考下图操作

c35894894c7d4f1fdd0e9fdfb23107ed.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个典型的Haproxy_exporter监控metric例子 包含指标 haproxy_backend_bytes_in_total haproxy_backend_bytes_out_total haproxy_backend_client_aborts_total haproxy_backend_compressor_bytes_bypassed_total haproxy_backend_compressor_bytes_in_total haproxy_backend_compressor_bytes_out_total haproxy_backend_connection_errors_total haproxy_backend_current_queue haproxy_backend_current_server haproxy_backend_current_session_rate haproxy_backend_current_sessions haproxy_backend_http_connect_time_average_seconds haproxy_backend_http_queue_time_average_seconds haproxy_backend_http_response_time_average_seconds haproxy_backend_http_responses_compressed_total haproxy_backend_http_responses_total haproxy_backend_http_total_time_average_seconds haproxy_backend_response_errors_total haproxy_backend_retry_warnings_total haproxy_backend_server_aborts_total haproxy_backend_server_selected_total haproxy_backend_sessions_total haproxy_backend_up haproxy_backend_weight haproxy_exporter_build_info haproxy_exporter_csv_parse_failures haproxy_exporter_total_scrapes haproxy_frontend_bytes_in_total haproxy_frontend_bytes_out_total haproxy_frontend_compressor_bytes_bypassed_total haproxy_frontend_compressor_bytes_in_total haproxy_frontend_compressor_bytes_out_total haproxy_frontend_connections_total haproxy_frontend_current_session_rate haproxy_frontend_current_sessions haproxy_frontend_http_requests_total haproxy_frontend_http_responses_compressed_total haproxy_frontend_http_responses_total haproxy_frontend_limit_session_rate haproxy_frontend_limit_sessions haproxy_frontend_max_session_rate haproxy_frontend_max_sessions haproxy_frontend_request_errors_total haproxy_frontend_requests_denied_total haproxy_frontend_sessions_total haproxy_server_bytes_in_total haproxy_server_bytes_out_total haproxy_server_check_duration_seconds haproxy_server_check_failures_total haproxy_server_client_aborts_total haproxy_server_connection_errors_total haproxy_server_current_queue haproxy_server_current_session_rate haproxy_server_current_sessions haproxy_server_downtime_seconds_total haproxy_server_http_responses_total haproxy_server_max_queue haproxy_server_max_session_rate haproxy_server_max_sessions haproxy_server_redispatch_warnings_total haproxy_server_response_errors_total haproxy_server_retry_warnings_total haproxy_server_server_aborts_total haproxy_server_server_selected_total haproxy_server_sessions_total haproxy_server_up haproxy_server_weight haproxy_up process_cpu_seconds_total process_max_fds process_open_fds process_resident_memory_bytes process_start_time_seconds process_virtual_memory_bytes promhttp_metric_handler_requests_in_flight promhttp_metric_handler_requests_total

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值