zoukankan      html  css  js  c++  java
  • Zabbix实战-简易教程--中间件kafka监控

    一、环境准备

    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

  • 相关阅读:
    饿了么P7级前端工程师进入大厂的面试经验
    前端程序员面试的坑,简历写上这一条信息会被虐死!
    这次来分享前端的九条bug吧
    移动端开发必会出现的问题和解决方案
    创建一个dynamics 365 CRM online plugin (八)
    创建一个dynamics 365 CRM online plugin (七)
    创建一个dynamics 365 CRM online plugin (六)
    创建一个dynamics 365 CRM online plugin (五)
    使用User Primary Email作为GUID的问题
    怎样Debug Dynamics 365 CRM Plugin
  • 原文地址:https://www.cnblogs.com/skyflask/p/11738864.html
Copyright © 2011-2022 走看看