一、环境准备

1、安装kafka

Step 1: 下载代码

你可以登录Apache kafka 官方下载。
http://kafka.apache.org/downloads.html
备注:2.11-1.1.0版本才与JDK1.7兼容,否则更高版本需要JDK1.8

Step 2: 启动服务

运行kafka需要使用Zookeeper,所以你需要先启动Zookeeper,如果你没有Zookeeper,你可以使用kafka自带打包和配置好的Zookeeper(PS:在kafka包里)。

//这是前台启动,启动以后,当前就无法进行其他操作(不推荐)
./zookeeper-server-start.sh ../config/zookeeper.properties //后台启动(推荐)
./zookeeper-server-start.sh ../config/zookeeper.properties 1>/dev/null 2>&1 &

  

启动kafka

config/server1.properties:
broker.id=0
listeners=PLAINTEXT://192.168.10.100:9092
log.dirs=kafka-logs
zookeeper.connect=localhost:2181

 

//后台启动kafka
./kafka-server-start.sh ../config/server.properties 1>/dev/null 2>&1 &

  

写成服务启动方式,启动脚本:

#!/bin/sh
#
# kafka-manager This shell script takes care of starting and stopping
# the kafka
#
# chkconfig: - 64 36
# description: kafka
# processname: kafka-manager
# config: /opt/kafka_2.10-0.8.2.1/conf/application.conf
### BEGIN INIT INFO
# Provides: kafka
# Required-Start: $local_fs $remote_fs $network $named $syslog $time
# Required-Stop: $local_fs $remote_fs $network $named $syslog $time
# Short-Description: start and stop kafka-manager
# Description: kafka
### END INIT INFO # Source function library.
. /etc/rc.d/init.d/functions # Source networking configuration.
. /etc/sysconfig/network dirkafka="/usr/local/kafka/"
pidckeck(){
pid=`ps ax | grep kafkaServer | grep -v grep | grep java| awk '{print $1}'`
}
start(){
pidckeck
if [ -z "$pid" ]; then
echo "Starting kafka"
sh $dirkafka/bin/kafka-server-start.sh $dirkafka/config/server.properties > /dev/null 2>&1 &
sleep 3
pidckeck
if [ -z "$pid" ]; then
echo "Fail Start kafka"
echo "Read logs for detail"
else
echo "kafka has started"
fi
else
echo "kafka is already running"
echo "PID $pid"
fi
} stop(){
pidckeck
if [ -z "$pid" ]; then
echo "kafka isn't running"
else
sh $dirkafka/bin/kafka-server-stop.sh
sleep 3
pidckeck
if [ -z "$pid" ]; then
echo "kafka-manager has stopped"
else
echo "[WARNING] kafka-manager hasn't stoped"
fi
fi
} restart(){
stop
start
} status(){
pidckeck
if [ -z "$pid" ]; then
echo "kafka isn't running"
else
echo "kafka is already running"
echo "PID $pid"
fi } case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart}"
exit 2
esac exit $?

  

 

2、安装zabbix-java-gataway

step1 安装yum源

rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

  

step2 安装zabbix-java-gataway

yum install -y zabbix-java-gataway

  

step3 配置zabbix-java-gataway

cat /etc/zabbix/zabbix_java_gateway.conf |grep -v "#"|grep -v ^$

LISTEN_PORT=10052
PID_FILE="/var/run/zabbix/zabbix_java.pid"
START_POLLERS=10
TIMEOUT=30

  

step4 启动zabbix-java-gateway

/etc/init.d/zabbix-java-gateway start

  

三、配置kafka远程管理口

From

# JMX settings
if [ -z "$KAFKA_JMX_OPTS" ]; then
KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false - Dcom.sun.management.jmxremote.ssl=false "
fi

  

TO

# JMX settings
if [ -z "$KAFKA_JMX_OPTS" ]; then
KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=21060- Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false "
fi

  

重启kafka服务

配置kafka脚本文件

 cp jmx_discovery /etc/zabbix/externalscripts
cp JMXDiscovery-0.0.1.jar /etc/zabbix/externalscripts

  

四、导入模板

https://github.com/loveqx/zabbix-doc/tree/master/zabbix-scripts/zabbix-template-kafka

五、配置主机

稍等片刻,查看监控结果

六、查看最新数据

七、脚本URL

https://github.com/loveqx/zabbix-doc/tree/master/zabbix-scripts/zabbix-template-kafka

Zabbix实战-简易教程--中间件kafka监控的更多相关文章

  1. Zabbix实战-简易教程--中间件ZooKeeper监控

    一.监控思路 通过zabbix trapper方式监控,之前看到网友们都是通过定时任务进行主动上传数据,但是,zabbix还有另外一神器--自动发现,也能达到同样的功能. 二.实现步骤 1.准备脚本 ...

  2. Zabbix实战-简易教程--中间件RabbitMQ监控

    一.环境 zabbix版本:3.0 二.脚本说明 .├── rabbitmq.template.xml   模板文件├── scripts  │   └── rabbitmq│   ├── api.p ...

  3. Zabbix实战-简易教程--大型分布式监控系统实现Agent批量快速接入

    一.分布式架构 相信使用zabbix的大神都熟悉他的分布式架构,分布式的优势相当明显,分而治之.比如目前我的架构图如下: 那么,对将要接入监控系统的任何一个agent如何快速定位,并进行接入呢?  问 ...

  4. Zabbix实战-简易教程系列

    一.基础篇(安装和接入) Zabbix实战-简易教程--总流程  Zabbix实战-简易教程--整体架构图 Zabbix实战-简易教程--DB安装和表分区 Zabbix实战-简易教程--Server端 ...

  5. Zabbix实战-简易教程(6)--Server端高可用

    3.4 server前端高可用    至此,单台Zabbix server环境已经搭建完成,为了达到高可用效果,我们需要通过2台服务器之间通过HA软件进行探测,一旦检测到主的server挂掉后,从的s ...

  6. Zabbix实战-简易教程(7)--监控第一台host

    一.安装 agent 1.1 Agent分布 1.2 Agent安装 基础模板安装方法: wget -qO- http://zbxinstall.168.com:18888/base/agent-in ...

  7. Zabbix实战-简易教程--监控OSPF

    一.需求背景 网络工程师需要对OSPF进行监控,需求如下: 1.状态展示 OSPF区域状态 OSPF接口状态 OSPF邻居状态 2.问题报警 触发器设置: a.OSPF区域状态  b.OSPF接口状态 ...

  8. Zabbix实战-简易教程--低层次发现(LLD)

    一.概述 自动发现(LLD)提供了一种在为不同实体自动创建监控项,触发器和图形的方法.例如,Zabbix可以在你的机器上自动监控磁盘或网卡,而无需为每个磁盘或网卡手动创建监控项.(LLD) 此外,可以 ...

  9. Zabbix实战-简易教程--聚合(Aggreate)

    使用场景 当你需要将一组主机的某个指标进行统计时,zabbix聚合就派上用场了.例如:你要将Mysql组的所有/data分区的已用空间进行统计,你就可以使用zabbix聚合的grpsum函数进行统计. ...

随机推荐

  1. 超简单的VUE在线调试网站(不需搭建环境)

    jsbin.com提供简单.直观.易用的vue调试功能,最大的好处不需要自己搭建环境就可以学习VUE 1.打开http://jsbin.com/joxinumota/edit?html,js,cons ...

  2. tomcat添加https服务

    系统环境: centos6.7 jdk-7u79-linux-x64 apache-tomcat-7.0.57 apr-1.5.2 apr-util-1.5.4 一.tomcat安装 自己准备tomc ...

  3. Vue学习之动画小结(六)

    一.Vue中实现动画的方式:https://cn.vuejs.org/v2/guide/transitions.html Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括 ...

  4. js学习之数据结构和算法

    js中的数据结构 1.列表 待办事项列表.购物清单.最佳十名榜单等等. 适用: 1)数据结构较为简单, 2)不需要在一个长序列中查找元素,或者对其进行排序 2.栈 一摞盘子 ----- 添加删除只能从 ...

  5. Java 之 线程安全(线程同步)

    一.线程安全 当有多个线程同时运行,而这些线程可能会同时运行这段代码.程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,这就是线程安全的. 下面通过一个案例来演示线程的 ...

  6. springboot+jndi+tomcat配置多数据源

    1.在application.properties中,添加jndi配置,如下图 2.新建dataSourceConfig类 3.dataSourceConfig类详细代码,这里只贴出其中一个,多个数据 ...

  7. Virtualbox 设置虚拟机和物理机共享文件夹

    Virtualbox 设置虚拟机和物理机共享文件夹 概述 当我们在本地机安装好一个虚拟机后,特别是安装linux系统的朋友们,经常需要将本地机的文件传递到虚拟机中, 能实现的方式肯定是多式多样的,就本 ...

  8. PAT 乙级 1076.Wifi密码

    题目来源 下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1:B-2:C-3:D-4:请同学们自己作答 ...

  9. php备忘录模式(memento pattern)

    晚上刷起来. <?php /* The memento pattern provides the object restore functionality. Implementation is ...

  10. 为什么要指定HashMap的容量?HashMap指定容量初始化后,底层Hash数组已经被分配内存了吗?

    为什么要指定HashMap的容量? 首先创建HashMap时,指定容量比如1024后,并不是HashMap的size不是1024,而是0,插入多少元素,size就是多少: 然后如果不指定HashMap ...