文章目录

  • 一、prometheus
  • 二、grafana
  • 三、prometheus集成grafana监控zookeeper
  • 1、修改zookeeper配置
  • 2、修改prometheus配置
  • 3、导入grafana模板
  • 4、验证



  • 本示例通过zookeeper自带的监控信息暴露出来,然后将数据收集到prometheus中,最后通过grafana的dashboard导入模板进行可视化。
  • 本示例分为三个部分,即prometheus、grafana部署和最后的集成。
  • 说明:本示例中的部署环境没有要求,即应用部署的机器根据实际情况而定,只要网络连通即可。

一、prometheus

参考:【运维监控】prometheus+node exporter+grafana 监控linux机器运行情况关于prometheus的部署。

二、grafana

参考:【运维监控】prometheus+node exporter+grafana 监控linux机器运行情况 关于grafana的部署。

三、prometheus集成grafana监控zookeeper

为了更加方便的集成prometheus,建议使用3.6.0以后的版本,因为这个版本以后zookeeper加入了prometheus集成监控,只需要开启zookeeper的指标配置即可。在这个版本之前的zookeeper,可能需要通过JMX进行监控。

本示例使用的版本是zookeeper 3.7.1,也是比较老的版本了,最新的版本是3.9.2。

1、修改zookeeper配置

在你原有的配置文件zoo.cnf内容的基础上,启用zookeeper的指标配置。如果是集群环境,则需要每个zookeeper的配置文件都需要修改。

cd /apache-zookeeper-3.7.1/conf
vim zoo.cnf
# 启用以下三个属性值即可
## Metrics Providers
#
# https://prometheus.io Metrics Exporter
metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
metricsProvider.httpPort=7000
metricsProvider.exportJvmInfo=true

2、修改prometheus配置

在prometheus的配置文件(prometheus.yml)中添加如下配置部分。作者的zookeeper是集群环境,即部署在server1、server2和server3服务器上。

- job_name: "zookeeper-monitor"
    static_configs:
      - targets: ["server1:7000","server2:7000","server3:7000"]

重启prometheus后,并验证是否收集到监控信息。

查看Prometheus是否监控到运行的zookeeper应用如下图。

【运维监控】Prometheus+grafana监控zookeeper运行情况_grafana


查看prometheus是否收集到监控信息如下图(查询jvm_threads_state{state=“NEW”, job=“zookeeper-monitor”})

【运维监控】Prometheus+grafana监控zookeeper运行情况_linux_02

3、导入grafana模板

导入过程不再赘述,参考文章:【运维监控】Prometheus+grafana监控tomcat8.5 运行情况 本示例导入的模板ID是10465(ZooKeeper by Prometheus)。

4、验证

以上所涉及的服务均能正常的运行,以及验证都通过。

点击添加的zookeeper模板,选择zookeeper集群,则显示如下图所示。

【运维监控】Prometheus+grafana监控zookeeper运行情况_运维_03


以上,则完成了Prometheus+grafana监控zookeeper运行情况的示例。