使用 JMX-exporter-centos 7 配置 kafka
Posted
技术标签:
【中文标题】使用 JMX-exporter-centos 7 配置 kafka【英文标题】:configuring kafka with JMX-exporter- centos 7 【发布时间】:2020-01-21 20:01:45 【问题描述】:我想启用 kafka 监控,我从单节点部署开始作为测试。我正在按照https://alex.dzyoba.com/blog/jmx-exporter/的步骤进行操作
我尝试了以下步骤;检查 jmx-exporter HTTP 服务器的最后一个命令报告空白。我相信这就是为什么我没有看到来自 kafka 的指标的原因。(更多内容见下文)
wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.6/jmx_prometheus_javaagent-0.6.jar
wget https://raw.githubusercontent.com/prometheus/jmx_exporter/master/example_configs/kafka-0-8-2.yml
export KAFKA_OPTS='-javaagent:/opt/jmx-exporter/jmx_prometheus_javaagent-0.6.jar=7071:/etc/jmx-exporter/kafka-0-8-2.yml'
/opt/kafka_2.11-0.10.1.0/bin/kafka-server-start.sh /opt/kafka_2.11-0.10.1.0/conf/server.properties
netstat -plntu | grep 7071
kafka broker 登录控制台没有任何错误信息。
我在容器中运行 Prometheus,http://IP:9090/metrics 显示了一堆指标。 当我搜索“kafka”时,它返回如下
# TYPE net_conntrack_dialer_conn_attempted_total counter
net_conntrack_dialer_conn_attempted_totaldialer_name="kafka" 79
# TYPE net_conntrack_dialer_conn_closed_total counter
net_conntrack_dialer_conn_closed_totaldialer_name="kafka" 0
net_conntrack_dialer_conn_established_totaldialer_name="kafka" 0
# TYPE net_conntrack_dialer_conn_failed_total counter
net_conntrack_dialer_conn_failed_totaldialer_name="kafka",reason="refused" 79
net_conntrack_dialer_conn_failed_totaldialer_name="kafka",reason="resolution" 0
net_conntrack_dialer_conn_failed_totaldialer_name="kafka",reason="timeout" 0
net_conntrack_dialer_conn_failed_totaldialer_name="kafka",reason="unknown" 79
# TYPE prometheus_sd_discovered_targets gauge
prometheus_sd_discovered_targetsconfig="kafka",name="scrape" 1
# HELP prometheus_target_sync_length_seconds Actual interval to sync the scrape pool.
# TYPE prometheus_target_sync_length_seconds summary
prometheus_target_sync_length_secondsscrape_job="kafka",quantile="0.01" NaN
prometheus_target_sync_length_secondsscrape_job="kafka",quantile="0.05" NaN
prometheus_target_sync_length_secondsscrape_job="kafka",quantile="0.5" NaN
prometheus_target_sync_length_secondsscrape_job="kafka",quantile="0.9" NaN
prometheus_target_sync_length_secondsscrape_job="kafka",quantile="0.99" NaN
prometheus_target_sync_length_seconds_sumscrape_job="kafka" 0.000198245
prometheus_target_sync_length_seconds_countscrape_job="kafka" 1
我的猜测是 prometheous 在端口 7071 上没有得到任何指标;这与之前发现 JMX 服务器在端口 7071 上没有响应的结果一致。
您能帮我使用 JMX-exporter 和 Prometheus 启用 kafka 监控吗?
【问题讨论】:
您下载了kafka-0-8-2.yml
,但您的命令使用的是/etc/jmx-exporter/kafka.yml
。您是否移动/重命名了该文件?
它们是相同的文件;我复制它们后重命名;我最初收到指示丢失文件的错误,但重命名后,这应该不是问题。我会更新问题以避免混淆谢谢
【参考方案1】:
我让 Prometheus 在容器中运行
您需要配置 Prometheus 以抓取您的外部 LAN IP,因为您在容器外运行 Kafka。
您可以在此行看到当前设置拒绝连接
net_conntrack_dialer_conn_failed_totaldialer_name="kafka",reason="refused" 79
您应该在主机上运行 Prometheus 并抓取 localhost:7071
如果您希望 Prometheus 可以发现 kafka:7071
,或者在容器中运行 Kafka
【讨论】:
以上是关于使用 JMX-exporter-centos 7 配置 kafka的主要内容,如果未能解决你的问题,请参考以下文章
二. Elasticsearch 7.7.0使用xpack认证
二. Elasticsearch 7.7.0使用xpack认证
如何在不卸载 PHP 7.4 的情况下降级或使用 PHP 7.2?是不是可以默认使用 PHP 7.2 而不是最新版本?