prometheus+grafana监控kafka集群

  • 52
  • 2023年4月29日15:43:32

做监控是个苦差事,不过,没关系,我们可以用 Prometheus 和 Grafana 来轻松搞定 kafka 集群的监控。凡蜕在这里给大家分享一下详细的步骤,让你们也能够为 kafka 集群设置监控,轻松愉悦!
效果:
file

前置说明

Prometheus、Exporter 和 Grafana 都是用于监控的工具。

Prometheus 是一款开源的监控系统,主要用于度量和记录各种数据。它可以通过它的 Pull 模型,定期从配置的目标地址(例如:应用程序、数据库、操作系统)拉取指定的 metrics,并存储在自己的数据库中。同时还提供了强大的查询语言,可以对数据进行统计和分析。

Exporter 是一款用于收集和导出数据的工具。它能够将应用程序、数据库或操作系统的 metrics 转换为 Prometheus 可以抓取的格式。通常情况下,exporter 会运行在被监控的对象上,向 Prometheus 提供 metrics。

Grafana 是一款用于数据可视化的工具。它能够将 Prometheus 收集到的数据生成漂亮的图表和仪表盘,支持多种图表类型和布局方式。同时,Grafana 还支持多种数据源,不仅仅限于 Prometheus。

综上所述,Prometheus 是监控系统的核心,负责数据的抓取、存储和查询;Exporter 则是数据的生产者,将采集到的数据格式化成 Prometheus 能够读取的格式;而 Grafana 则是数据的消费者,将 Prometheus 的数据进行可视化,帮助用户快速地了解和分析监控数据。

步骤一:安装和配置 Prometheus

安装 Prometheus

首先,你需要从 Prometheus 的官网 下载适合你的操作系统的二进制文件,并解压到指定目录。

配置 Prometheus

接下来,你需要配置 Prometheus 以便它能够监控 kafka 集群。在 Prometheus 的 prometheus.yml 文件中,添加以下内容:

global:
  scrape_interval: 60s
  evaluation_interval: 60s

scrape_configs:
  - job_name: "kafka"
    scrape_interval: 120s
    scrape_timeout: 120s
    static_configs:
      - targets: ["<ip-address>:<exporter-port>"]

其中,<ip-address> 是 kafka 集群中任意一个节点的 IP 地址,<exporter-port> 是 kafka Exporter 的端口号(默认为 9308)。

步骤二:安装和配置 Kafka Exporter

安装 Kafka Exporter

你需要下载 kafka Exporter 的二进制文件。你可以从 Kafka Exporter 的 Github 仓库 下载适合操作系统的版本(linux通常为amd64), 然后上传到某个kafka节点(不需要上传到集群每个节点, 一个即可), 解压 tar zxvf

运行 Kafka Exporter

先开启该kafka节点的9308端口.(怎么开端口这里省略)

在完成 kafka Exporter 的上传解压之后,可以通过运行以下命令来启动它:

cat >/usr/lib/systemd/system/kafka_exporter.service <<EOF
[Unit]
Description=kafka_exporter
After=network.target

[Service]
Type=simple
ExecStart=kafka_exporter绝对路径 --kafka.server=http://节点ip:9092 --web.listen-address=:9308
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

# 设置服务开机自启动
systemctl enable kafka_exporter
systemctl start kafka_exporter
systemctl status kafka_exporter

配置上面的ExecStart, 替换绝对路径, kafka ip端口即可.

步骤三:安装和配置 Grafana

安装 Grafana

你可以从 Grafana 的官网 下载适合你的操作系统的二进制文件,并解压到指定目录。

配置 Grafana

你需要将 kafka Exporter 添加为 Grafana 的数据源。在 Grafana 的 web 界面中,选择 "Configuration" -> "Data Sources" -> "Add data source",然后填写以下信息:

  • Type: Prometheus
  • Name: 任意名称
  • HTTP URL: http://localhost:9090 (这里的端口号是默认值,如果 Prometheus 使用了不同的端口,请修改此处。)
  • Access: Browser

导入 kafka 监控仪表盘

你可以从 Grafana 提供的官方仪表盘库 下载 kafka 监控仪表盘(推荐https://grafana.com/grafana/dashboards/12460-kafka-export/)。你可以通过以下步骤导入这个仪表盘:

  1. 在 Grafana 的 web 界面中,选择 "Create" -> "Import".
  2. 输入仪表盘 ID:例如我选择的监控 kafka 集群的仪表盘 ID 为 12460.
  3. 选择刚刚添加的数据源.
  4. 点击 "Import" 按钮.

结论

通过以上步骤,您已经成功为 kafka 集群设置了监控。现在,你可以使用 Grafana 的仪表盘来查看 kafka 集群的性能指标、状态等信息。如果您在设置过程中遇到任何问题,请随时参考 Prometheus 和 Grafana 的官方文档。

本文来自凡蜕博客(https://blog.ysboke.cn), 转载请带上地址.。
匿名

发表评论

匿名网友