eefr 发表于 2014-7-3 10:01:28

ZABBIX Proxy 分布式部署

本帖最后由 eefr 于 2014-7-3 10:02 编辑

# 安装Fping工具

    scp root@110.110.110.110:/root/fping-3.4.tar.gz /opt/fping-3.4.tar.gz

    tar -zxvf fping-3.4.tar.gz

    cd /fping-3.4/

    ./configure

    Make install


# 安装扩展

    yum install -y net-snmp curl curl-devel net-snmp net-snmp-devel perl-DBI libxml libxml2-devel


# 创建组与用户

    groupadd zabbix
    useradd -g zabbix zabbix -s /sbin/nologin


# 进入MYSQL

    /opt/lampp/bin/mysql -u root -p

#创建数据库

    mysql>create database zabbix default charset utf8

# 创建用户

    mysql> GRANT ALL ON zabbix.* TO zabbix@'localhost' IDENTIFIED BY 'zabbixpass'


# 解压ZABBIX包

    tar –zxvf zabbix.tar.gz



#导入表

    cd /opt/zabbix-2.2.0/database/mysql/

! 代理服务器就导入这一个表就可以。

    cat schema.sql |/opt/lampp/bin/mysql -uroot -p zabbix


# 编译

    ./configure --prefix=/usr/local/zabbix --enable-agent --enable-proxy --with-mysql=/opt/lampp/bin/mysql_config --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
    make && make install


# 修改proxy.conf

    vi /usr/local/zabbix/etc/zabbix_proxy.conf
    ! 服务器地址
    Server=192.168.0.1
    ! 主机名
    Hostname=82-proxy
    ! 数据库名
    DBName=zabbix
    ! 数据库用户名
    DBUser=zabbix
    ! 数据库密码
    DBPassword=zabbixpass
    ! MYSQL的Socket位置
    DBSocket=/opt/lampp/var/mysql/mysql.sock
    ! 多长时间同步一次。
    ConfigFrequency=60
    ! 添加Fping
    FpingLocation=/usr/local/sbin/fping


# 修改agentd.conf

    vi /usr/local/zabbix/etc/zabbix_agentd.conf
    ! 本机IP地址,不是SRVER的。
    Server=192.168.0.2
    ! 本机IP地址
    ServerActive=192.168.0.2
    ! 与之前的proxy的配置文件里面的主机名保持一致
    Hostname=82-proxy


# 添加服务

    vi /etc/services
    zabbix-agent 10050/tcp # Zabbix Agent
    zabbix-agent 10050/udp # Zabbix Agent
    zabbix-trapper 10051/tcp # Zabbix Trapper
    zabbix-trapper 10051/udp # Zabbix Trapper


# 手动启动

    /usr/local/zabbix/sbin/zabbix_proxy -c /usr/local/zabbix/etc/zabbix_proxy.conf
    /usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.con


# 新建守护进程

    vi /etc/init.d/zabbix_proxy
    vi /etc/init.d/zabbix_agentd


# 给予权限与服务

    chmod a+x /etc/init.d/zabbix_proxy
    chmod a+x /etc/init.d/zabbix_agentd
    service zabbix_proxy start
    service zabbix_agentd start


# init.d下的zabbix_Proxy脚本



    #!/bin/sh
    # chkconfig: 345 95 95
    # desctription: Zabbix Proxy
    # Zabbix
    # Copyright (C) 2001-2013 Zabbix SIA
    #
    # This program is free software; you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation; either version 2 of the License, or
    # (at your option) any later version.
    #
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    # GNU General Public License for more details.
    #
    # You should have received a copy of the GNU General Public License
    # along with this program; if not, write to the Free Software
    # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
    # Start/Stop the Zabbix agent daemon.
    # Place a startup script in /sbin/init.d, and link to it from /sbin/rc.d
    SERVICE="Zabbix proxy"
    DAEMON=/usr/local/zabbix/sbin/zabbix_proxy
    PIDFILE=/tmp/zabbix_agentd.pid
    BASEDIR=/usr/local/zabbix/
    ZABBIX_AGENTD=$BASEDIR/sbin/zabbix_proxy
    case $1 in
      'start')
      if [ -x ${DAEMON} ]
      then
          $DAEMON
          # Error checking here would be good...
          echo "${SERVICE} started."
      else
    echo "Can't find file ${DAEMON}."
          echo "${SERVICE} NOT started."
      fi
      ;;
      'stop')
      if [ -s ${PIDFILE} ]
      then
          if kill `cat ${PIDFILE}` >/dev/null 2>&1
          then
            echo "${SERVICE} terminated."
            rm -f ${PIDFILE}
          fi
      fi
      ;;
      'restart')
      $0 stop
      sleep 10
      $0 start
      ;;
      *)
      echo "Usage: $0 start|stop|restart"
      ;;
    esac


# init.d下的zabbix_agentd脚本



    #!/bin/sh
    #chkconfig: 345 95 95
    #description:Zabbix agent
    # Zabbix   
    # Copyright (C) 2001-2013 Zabbix SIA
    #
    # This program is free software; you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation; either version 2 of the License, or
    # (at your option) any later version.
    #
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    # GNU General Public License for more details.
    #
    # You should have received a copy of the GNU General Public License
    # along with this program; if not, write to the Free Software
    # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
    # Start/Stop the Zabbix agent daemon.
    # Place a startup script in /sbin/init.d, and link to it from /sbin/rc.d
    SERVICE="Zabbix agent"
    DAEMON=/usr/local/zabbix/sbin/zabbix_agentd
    PIDFILE=/tmp/zabbix_agentd.pid
    BASEDIR=/usr/local/zabbix
    ZABBIX_AGENTD=$BASEDIR/sbin/zabbix_agentd
    case $1 in
      'start')
      if [ -x ${DAEMON} ]
      then
          $DAEMON
          # Error checking here would be good...
          echo "${SERVICE} started."
   else
          echo "Can't find file ${DAEMON}."
          echo "${SERVICE} NOT started."
      fi
      ;;
      'stop')
      if [ -s ${PIDFILE} ]
      then
          if kill `cat ${PIDFILE}` >/dev/null 2>&1
          then
            echo "${SERVICE} terminated."
            rm -f ${PIDFILE}
          fi
      fi
      ;;
      'restart')
      $0 stop
      sleep 10
      $0 start
      ;;
      *)
      echo "Usage: $0 start|stop|restart"
      ;;
    Esac


# 服务器上添加代理


        ! 新建一个主机
        ! Monitored by proxy 这个选项选择成82-proxy
        ! 这样就已经将新建的主机添加进代理了!






页: [1]
查看完整版本: ZABBIX Proxy 分布式部署