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.8]# ./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.8]# yum install mariadb-devel[root@localhost zabbix- 2.4. 8]# make && make install
編譯好之后的目錄有三個文件夾里面有內涵
1、前端(web接口)及啟動腳本
[root@localhost zabbix-2.4.8]# cp misc/init.d/fedora/core/zabbix_server /etc/init.d/ [root@localhost zabbix-2.4.8]# 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.8/database/mysql/schema.sql; #agent只需要這個即可 MariaDB [zabbix]> source /root/zabbix-2.4.8/database/mysql/images.sql; MariaDB [zabbix]> source /root/zabbix-2.4.8/database/mysql/data.sql;
3、zabbix只使用普通用戶運行,如果是使用root運行,zabbix默認以zabbix用戶身份運行,所以要添加用戶
[root@localhost zabbix-2.4.8]# useradd -r zabbix [root@localhost zabbix-2.4.8]# 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.16-21.el7.x86_64
要注意擴展包要對應php版本
[root@localhost ~]# rpm -ivh php-bcmath-5.4.16-21.el7.x86_64.rpm [root@localhost ~]# rpm -ivh php-mbstring-5.4.16-21.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"