当前位置: 首页 > news >正文

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-zkstatic_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专栏详解。

http://www.lryc.cn/news/330238.html

相关文章:

  • 【java】关于String、StringBuffer和StringBuilder的那些事
  • Spring 的 Ioc配置
  • 基于Java-SpringBoot+vue实现的前后端分离信息管理系统设计和实现
  • 用Python实现办公自动化(自动化处理PDF文件)
  • 银河麒麟操作系统Kylin Linux 离线安装Nginx1.21.5
  • ApiFox 使用教程
  • github拉取的项目添加至自己的仓库
  • ZooKeeper 的持久化机制
  • VS2022+QT5.9 提示找不到qtmain.lib
  • HTTP和HTTPS谁传输数据更安全?
  • 竞赛常考的知识点大总结(七)图论
  • NOSQL - Redis的简介、安装、配置和简单操作
  • 书生·浦语大模型开源体系(二)笔记
  • docker-compse安装es(包括IK分词器扩展)、kibana、libreoffice
  • Electron 读取本地配置 增加缩放功能(ctrl+scroll)
  • docker中配置交互式的JupyterLab环境的问题
  • SQLAlchemy 来查询并统计 MySQL 中 JSON 字段的一个值
  • HTTPS ECDHE 握手解析(计算机网络)
  • 在git上先新建仓库-把本地文件提交远程
  • Redis 过期删除策略
  • MySQL 锁合集与事务隔离级别
  • 题解 -- 第六届蓝桥杯大赛软件赛决赛C/C++ 大学 C 组
  • Lua脚本的使用
  • hcia datacom课程学习(5):MAC地址与arp协议
  • unbuntu mysql8.0新建用户及开启远程连接
  • Intel FPGA (1):线性序列机
  • 翻译: 硅谷软件工程师面试:准备所需的一切
  • 视频推拉流EasyDSS点播平台云端录像播放异常的问题排查与解决
  • kubuntu23.10安装sdl2及附加库和 sfml2.5.1
  • Centos JDK1.8 下载安装