大体上可以参看下面的文章:

https://www.zabbix.com/documentation/2.2/manual/installation/install?s[]=zabbix&s[]=proxy&s[]=conf

http://www.2cto.com/os/201401/273888.html

原理的理解可以参考:

http://sfzhang88.blog.51cto.com/4995876/1529967

http://jingyan.baidu.com/article/046a7b3efb855df9c27fa982.html 


基本步骤是:

  1. 先把这个机器安装成标准的LANMP:https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-centos-6  
     如果完成上面的这个步骤,请忽略下面的关于php mysql httpd的安装

  2. 安装必要软件:

    安装php mysql httpd可以忽略如果上面第一步已经完成
    yum install -y gcc make cmake mysql-server mysql-devel php php-gd php-devel php-mysql php-bcmath php-ctytpe php-xml php-xmlreader php-xlmwriter php-session php-net-socket php-mbstring php-gettext httpd net-snmp curl curl-devel net-snmp net-snmp-devel perl-DBI libxml libxml2-devel

    wget http://pkgs.repoforge.org/fping/fping-3.4-1.el6.rf.x86_64.rpm

    rpm -ivh fping-3.4-1.el6.rf.x86_64.rpm

  3.  下载zabbix-2.2.10源码包:

    到下面的网站:

    http://repo.zabbix.com/zabbix/2.2/rhel/7/x86_64/ 查看自己需要的包的类型

    我的server版本是2.2.7的

    wget http://pkgs.fedoraproject.org/repo/pkgs/zabbix/zabbix-2.2.7.tar.gz/022a7ad83dfb9deaa6b82c8a52ef5cbd/zabbix-2.2.7.tar.gz

    wget http://repo.zabbix.com/zabbix/2.2/rhel/7/x86_64/zabbix-2.2.7-2.el7.x86_64.rpm


  4. 添加用户,修改账户

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

    passwd zabbix

  5. 编译安装(proxy)

    tar -zxvf zabbix-2.2.7.tar.gz

    cd /root/zabbix-2.2.7
    ./configure --enable-agent --enable-proxy --with-mysql  --with-net-snmp --with-libcurl --with-libxml2 --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix

    make && make install

  6. 创建数据库

    service mysqld start

    /usr/bin/mysql_secure_installation 初始化数据库并设置root的密码
    mysql -uroot -p
    >create database zabbix default charset utf8;
    > grant all on zabbix.* to zabbix@localhost identified by '123456';
    >flush privileges;
    >exit

  7.  导入数据库中的表

    cd /root/zabbix-2.2.0/database/mysql
    # mysql -uzabbix -p123456 zabbix < schema.sql (proxy端只需要这一步,不需要数据)

  8. 编辑配置文件

    vi /etc/zabbix/zabbix_proxy.conf

    Server=192.168.133.12    // 指定zabbix_server 的ip 地址
    Hostname=SY-PROXY      // 指定代理的名字
    LogFile=/tmp/zabbix_proxy.log      // 指定代理的日志输出位置
    DBHost=localhost      // 指定代理数据库的所在的主机
    DBName=zabbix     // 指定代理数据库的名字
    DBUser=zbxmonitor      //  指定代理数据库的访问账户
    DBPassword=monitor      // 指定DBUser 的密码
    DBPort=3306       // 指定数据库服务的端口


  9. 编辑配置文件

    vi /etc/zabbix/zabbix_agentd.conf

    LogFile=/tmp/zabbix_agentd.log
    Server=10.254.254.21       //  指定server

    ServerActive=10.254.254.21
    Hostname=proxy-server     // 指定当前agent  的主机名字

  10. 添加到services

    # 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

  11. 启动守护进程

    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
     

  12. 添加开机启动

    chkconfig zabbix_proxy on
    chkconfig zabbix_agentd on

  13. 允许10050和10051通过防火墙

    iptables -A INPUT -p tcp --dport 10050 -j ACCEPT
    iptables -A INPUT -p tcp --dport 10051 -j ACCEPT
    或者关闭防火墙
    service iptables stop
    setenforce 0

  14. 启动服务
    service zabbix_proxy start
    service zabbix_agentd start

  15. 然后在zabbix server中添加这个zabbix proxy

    wKioL1PRtWTCIMRWAAJ8PA_xm2Q827.jpg

  16. 在添加host在zabbix server中:


  17. 去查看日志:

     tail /tmp/zabbix_proxy.log

    18060:20151103:152452.935 proxy #4 started [poller #1]
     18062:20151103:152452.938 proxy #6 started [poller #3]
     18074:20151103:152452.940 proxy #18 started [discoverer #1]
     18065:20151103:152452.948 proxy #9 started [unreachable poller #1]
     18063:20151103:152452.951 proxy #7 started [poller #4]
     18061:20151103:152452.952 proxy #5 started [poller #2]
     18064:20151103:152452.954 proxy #8 started [poller #5]

    ----

    cat /tmp/zabbix_agentd.log

    17878:20151103:150926.135 agent #2 started [listener #2]
     17879:20151103:150926.135 agent #3 started [listener #3]
     17880:20151103:150926.135 agent #4 started [active checks #1]
     17877:20151103:150926.136 agent #1 started [listener #1]




P.S.

1. 这些进程只能通过kill $(ps -ef | grep zabbix_proxy) 结束,不能通过/usr/local/zabbix/sbin/zabbix_proxy stop结束,在修改完配置文件后;需要这样操作一次

下面就是troubleshooting部分:

2. 还需要一个问题,是监控的对象SNMP一直无法监控到,一直出现红色的;原因是

wKiom1Y50N3QSrkoAAHAGfX3vPg854.jpg

要是server能够ping 到 上图中提到的zabbixproxy01这个server,是通过名字方式 ping zabbixproxy01 可以reach到,那就简单了 到hosts 文件中添加一个项目

10.99.11.200 zabbixproxy01

搞定