编辑: qksr | 2019-07-15 |
1 6.3 如何监控消息的生产和消费情况
1 日常维护项 为了保证Kafka系统运行正常,需要对系统定期进行例行检查,以保障系统健康运行. 检查Kafka运行状态 参考标准 Kafka的运行状态为running. 操作步骤 以kafka用户登录Kafka所在服务器. 在Kafka的$HOME目录下执行status命令检查运行状态. status kafka Process Status Process: kafka is running ProcessID:
118533 kafka Infomation App Home: /home/kafka Jre Home: /home/kafka/j2se Listening on:
52873 ----结束 异常处理 如果进程没有启动,在bin目录下执行./startapp.sh. 检查CPU占用情况 参考标准 资源使用率不会一直持续增高(资源统计日志),临界值为80%. 操作步骤 以kafka用户登录Kafka所在服务器. 执行如下命令,检查CPU占用率. top -n1 | grep Cpu | awk '
{print $2}'
| awk -F'
%'
'
{print $1}'
命令执行结果单位为%,例如命令执行结果为70,说明CPU使用率为70%. ----结束 异常处理 把top命令检查日志和dAgent的perf下的日志发回研发分析. 检查CPU负载情况 参考标准 CPU负载Load情况不出现一直持续增高. 操作步骤 以kafka用户登录Kafka所在服务器. 执行如下命令,检查CPU负载情况. top -n1 | grep average | awk -F'
average:'
'
{print $2}'
----结束 异常处理 把top命令检查日志和dAgent的perf下的日志发回研发分析. 检查Kafka消息消费积压 参考标准 使用kafka.tools.ConsumerOffsetChecker查看消费者的分组和消费情况. 消费者的未消费消息量(Lag)小于配置的最大积压消息数(默认值100000). 操作步骤 以zookeeper用户登录Kafka 使用的zookeeper所在服务器. 执行./zkCli.sh -server $zookeeper IP:port. 执行get /consumers获取消费群组. 以kafka用户登录Kafka所在服务器,然后在bin目录下执行 ./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper 10.179.131.93:8830 --group commons.sdk.consumer 获取每个消费群组的消息积压. ----结束 异常处理 把消费检查结果信息和Kafka配置(kafka/config/server.properties)发给华为研发. 命令参考 Kafka为开源软件,用户可到http://kafka.apache.org/获取相应的资料. Kafka命令包括:启动停止、进入 bin 目录和其他命令. Kafka命令如表2-1所示. Kafka是开源的软件,这里介绍了Kafka的常用命令,如需了解更多Kafka命令,请到Kafka官网下载. Kafka命令 用户和路径 输入命令 命令功能 以kafka用户在 $HOME 目录下执行. startapp 启动模块. 启动Kafka成功后,请执行startapp uniagent命令启动dAgent.建议使用startapp all命令启动模块,启动的时候避免将dAgent遗漏. 以kafka用户在 $HOME 目录下执行. stopapp 停止模块. 如果dAgent没有停止,请先停止dAgent,再停止Kafka,否则dAgent会将Kafka拉起. 以kafka用户在 $HOME 目录下执行. status 查看模块状态. 说明 Process: kafka is running 表示模块正常运行. 以kafka用户在 $HOME 目录下执行. version -v 查看版本信息. 以kafka用户在 $HOME/kafka/bin 目录下执行. ./kafka-server-start.sh ../config/server.properties &
启动模块. 启动Kafka成功后,请执行startapp uniagent命令启动dAgent. 以kafka用户在 $HOME/kafka/bin 目录下执行. ./kafka-server-stop.sh 停止模块. 如果dAgent没有停止,请先执行stopapp uniagent停止dAgent,再停止Kafka,否则dAgent会将Kafka拉起. 以kafka用户在 $HOME/kafka/bin 目录下执行. ./kafka-topics.sh --describe --zookeeper IP:PORT 查看Kafka的topic的分布情况. IP:Kafka连接的Zookeeper的IP地址. PORT:Kafka连接的Zookeeper的端口号. 例如,执行./kafka-topics.sh --describe --zookeeper 10.179.115.94:6830命令,显示如下信息: Topic:up.kafka.check PartitionCount:8 ReplicationFactor:1 Configs: Topic: up.kafka.check Partition: