zookeeper 监控 与 JVM 设置

一、通过JMX监控 JVM

默认情况下,在 ./bin/zkServer.sh 脚本中是默认开启了JMX监控的,并且是不需要认证的,详情可见ZOOMAIN变量;

ZOOMAIN="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=$JMXPORT -Dcom.sun.management.jmxremote.authenticate=$JMXAUTH -Dcom.sun.management.jmxremote.ssl=$JMXSSL -Dzookeeper.jmx.log4j.disable=$JMXLOG4J org.apache.zookeeper.server.quorum.QuorumPeerMain"

但是一般情况下为了数据保密是需要认证和授权,这个时候就需要添加以下变量,并将上述$JMXAUTH变量设置为true

ZOOMAIN="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=$JMXPORT -Dcom.sun.management.jmxremote.authenticate=$JMXAUTH -Dcom.sun.management.jmxremote.ssl=$JMXSSL -Dzookeeper.jmx.log4j.disable=$JMXLOG4J -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password 
-Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access org.apache.zookeeper.server.quorum.QuorumPeerMain"

==注意:==如果你想添加其他系统参数,也可以通过此方式添加;想要加深了解JMX,请阅读这篇文件

二、JVM设置

可以在 ./bin/zkEnv.sh 文件中的以下配置中新增JVM相关配置

# default heap for zookeeper server
ZK_SERVER_HEAP="${ZK_SERVER_HEAP:-1000}"
export SERVER_JVMFLAGS="-Xmx${ZK_SERVER_HEAP}m $SERVER_JVMFLAGS"

三、Prometheus 进行指标监控

要开启prometheus指标监控,需要启用 Prometheus MetricsProvider 设置,可以将以下配置新增到zoo.cfg配置文件中,其中端口默认是7000;

## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true

并且在prometheus的配置文件中新加如下配置

cat > /tmp/test-zk.yaml <<EOF
global:
  scrape_interval: 10s
scrape_configs:
  - job_name: test-zk
    static_configs:
    - targets: ['192.168.10.32:7000','192.168.10.33:7000','192.168.10.34:7000']
EOF
cat /tmp/test-zk.yaml

告警设置,详见zookeeper监控官网,想要了解更多prometheus 请阅读我的prometheus专栏详解。

相关推荐

  1. zookeeper 监控 JVM 设置

    2024-04-02 16:00:04       38 阅读
  2. 精通JVM监控调优:工具使用命令指南

    2024-04-02 16:00:04       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-02 16:00:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-02 16:00:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-02 16:00:04       87 阅读
  4. Python语言-面向对象

    2024-04-02 16:00:04       96 阅读

热门阅读

  1. 机器学习模型之随即森林

    2024-04-02 16:00:04       35 阅读
  2. 人工智能在现代科技中的应用和未来发展趋势

    2024-04-02 16:00:04       42 阅读
  3. 【React】在React中如何渲染空格

    2024-04-02 16:00:04       46 阅读
  4. 掏心窝子聊聊35岁了程序员何去何从?

    2024-04-02 16:00:04       40 阅读
  5. 基于springboot的高校线上心理咨询室

    2024-04-02 16:00:04       42 阅读
  6. 深入浅出SQL排序与函数

    2024-04-02 16:00:04       38 阅读
  7. AIGC重塑金融:AI大模型驱动的金融变革与实践

    2024-04-02 16:00:04       40 阅读
  8. Git 基本使用方法

    2024-04-02 16:00:04       34 阅读
  9. 【单例设计模式】

    2024-04-02 16:00:04       43 阅读
  10. Linux的信号栈的实现(1)

    2024-04-02 16:00:04       32 阅读