Step 1: 下載代碼html
你能夠登陸Apache kafka 官方下載。
http://kafka.apache.org/downloads.html
備註:2.11-1.1.0
版本才與JDK1.7
兼容,不然更高版本須要JDK1.8
java
Step 2: 啓動服務git
運行kafka須要使用Zookeeper,因此你須要先啓動Zookeeper,若是你沒有Zookeeper,你可使用kafka自帶打包和配置好的Zookeeper(PS:在kafka包裏)。github
//這是前臺啓動,啓動之後,當前就沒法進行其餘操做(不推薦) ./zookeeper-server-start.sh ../config/zookeeper.properties //後臺啓動(推薦) ./zookeeper-server-start.sh ../config/zookeeper.properties 1>/dev/null 2>&1 &
啓動kafka
shell
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 &
寫成服務啓動方式,啓動腳本:apache
#!/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 $?
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
yum install -y zabbix-java-gataway
cat /etc/zabbix/zabbix_java_gateway.conf |grep -v "#"|grep -v ^$app
LISTEN_PORT=10052 PID_FILE="/var/run/zabbix/zabbix_java.pid" START_POLLERS=10 TIMEOUT=30
/etc/init.d/zabbix-java-gateway start
Fromide
# 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
TOui
# 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服務spa
配置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
稍等片刻,查看監控結果
https://github.com/loveqx/zabbix-doc/tree/master/zabbix-scripts/zabbix-template-kafka