大体上可以参看下面的文章:
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
基本步骤是:
先把这个机器安装成标准的LANMP:https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-centos-6
如果完成上面的这个步骤,请忽略下面的关于php mysql httpd的安装安装必要软件:
安装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-develwget 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
下载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
添加用户,修改账户
groupadd zabbix
useradd -g zabbix zabbix -s /sbin/nologinpasswd zabbix
编译安装(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/zabbixmake && make install
创建数据库
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导入数据库中的表
cd /root/zabbix-2.2.0/database/mysql
# mysql -uzabbix -p123456 zabbix < schema.sql (proxy端只需要这一步,不需要数据)编辑配置文件
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 // 指定数据库服务的端口编辑配置文件
vi /etc/zabbix/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=10.254.254.21 // 指定serverServerActive=10.254.254.21
Hostname=proxy-server // 指定当前agent 的主机名字添加到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启动守护进程
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
添加开机启动
chkconfig zabbix_proxy on
chkconfig zabbix_agentd on允许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启动服务
service zabbix_proxy start
service zabbix_agentd start然后在zabbix server中添加这个zabbix proxy
在添加host在zabbix server中:
去查看日志:
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一直无法监控到,一直出现红色的;原因是
要是server能够ping 到 上图中提到的zabbixproxy01这个server,是通过名字方式 ping zabbixproxy01 可以reach到,那就简单了 到hosts 文件中添加一个项目
10.99.11.200 zabbixproxy01
搞定