zabbix依赖于LAMP,所以部署前要先保证这个平台。
安装服务端(Server)
zabbix官网的rpm包都是按照功能分开一个个,比如:
zabbix-server-2.4.7-1.el7.x86_64.rpm
zabbix-proxy-2.4.7-1.el7.x86_64.rpm
zabbix-agent-2.4.7-1.el7.x86_64.rpm
要逐个下载太繁琐了。使用源码安装一次到位。安装好net-snmp、net-snmp-devel、libcurl-devel(用于监控web页面)
[root@localhost zabbix-2.4.]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-mysql --with-libcurl
checking for mysql_config... no
configure: error: MySQL library not found
[root@localhost zabbix-2.4.]# yum install mariadb-devel
[root@localhost zabbix-2.4.]# make && make install
编译好之后的目录有三个文件夹里面有内涵
1、前端(web接口)及启动脚本
[root@localhost zabbix-2.4.]# cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
[root@localhost zabbix-2.4.]# cp -r frontends/php /var/www/html/zabbix
2、数据库创建及初始化
MariaDB [(none)]> create database zabbix default charset utf8; #默认字符集避免中文乱码
MariaDB [zabbix]> grant all on zabbix.* to zabbixuser@localhost identified by 'zabbixuser'; #在zabbix配置文件中用这个用户连接数据库
MariaDB [zabbix]> source /root/zabbix-2.4./database/mysql/schema.sql; #agent只需要这个即可
MariaDB [zabbix]> source /root/zabbix-2.4./database/mysql/images.sql;
MariaDB [zabbix]> source /root/zabbix-2.4./database/mysql/data.sql;
3、zabbix只使用普通用户运行,如果是使用root运行,zabbix默认以zabbix用户身份运行,所以要添加用户
[root@localhost zabbix-2.4.]# useradd -r zabbix [root@localhost zabbix-2.4.]# service zabbix_server start
Starting zabbix_server (via systemctl): [ OK ]
4、然后就可以打开web界面的安装引导了
这里的几个option修改/etc/php.ini里面对应参数的值即可
因为偷懒使用的是rpm装的php,版本是5.4.16-21,所以对于缺少的php扩展要自行安装了
[root@localhost ~]# rpm -qa php
php-5.4.-.el7.x86_64
要注意扩展包要对应php版本
[root@localhost ~]# rpm -ivh php-bcmath-5.4.-.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh php-mbstring-5.4.-.el7.x86_64.rpm
[root@localhost ~]# yum install php-gd 在光盘镜像中有,装上后关于gd的几个Fail都显示为OK
[root@localhost ~]# yum install php-xml 同样在光盘镜像中,装上后php xmlwriter和xmlreader 显示为OK
按照下一步引导,填写数据库连接信息,并测试连接。这里搞不懂端口2206都能测试OK。
最后一步简单明了,没有权限写入,发现增加了权限按"Retry"也没用,必须要在conf目录下有zabbix.conf.php文件时再点击"Retry"。
如果你偷懒使用conf目录下在的zabbix.conf.php.example改名就会这样,zabbix.conf.php其实就是数据库的连接信息,手动修改即可。
至此完成安装,默认用户名为Admin,密码为zabbix
启动zabbix
[root@localhost conf]# service zabbix_server start
Starting zabbix_server (via systemctl): [ OK ]
查看下端口,发现没有10051,检查发现安装的时候使用的启动脚本貌似不对
[root@localhost zabbix]# cp /root/zabbix-2.4.8/misc/init.d/fedora/core5/zabbix_server /etc/init.d/
继续检查,发现是selinux开启使得出现这个报错。
到这里,zabbix的安装服务端就完成了。
安装客户端(agent)
监控端就是为了在被监控主机上打开个端口让服务端能够获取数据,因为本机编译的时候已经编译客户端,所以以本机为例
1、将启动脚本复制
[root@localhost zabbix]# cp /root/zabbix-2.4.8/misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
2、启动时发现无法启动,查看状态时候发现
[root@localhost zabbix]# service zabbix_agentd status
/usr/local/sbin/zabbix_agentd not installed!
在启动脚本里面找到ZABBIX_BIN="/usr/local/sbin/zabbix_agentd",与当前位置不符
将其修改成ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"
启动成功,查看端口已经启动10050
3、测试获取数据
[root@localhost zabbix]# bin/zabbix_get -s127.0.0.1 -p10050 -k"system.uptime"