1、selinux是否關閉。
一定要關閉這個,開啓selinux會引起一連串問題,甚至zabbix的discovery功能也不能正常使用
關閉SELinux的方法:
修改/etc/selinux/config文件中的SELINUX="" 爲 disabled ,然後重啓。
如果不想重啓系統,使用命令setenforce 0
注:
setenforce 1 設置SELinux 成爲enforcing模式
setenforce 0 設置SELinux 成爲permissive模式
在lilo或者grub的啓動參數中增加:selinux=0,也可以關閉selinux
2、安裝PHP
Zabbix 3.0以上對PHP的要求最低爲5.4,而CentOS6默認爲5.3.3,完全不滿足要求,故需要利用第三方源,將PHP升級到5.4以上,注意,不支持PHP7
rpm -ivh http://repo.webtatic.com/yum/el6/latest.rpm
yum install php56w php56w-gd php56w-mysql php56w-bcmath php56w-mbstring php56w-xml php56w-ldap
vim /etc/php.ini
添加如下信息
date.timezone = Asia/Shanghai
post_max_size = 32M
max_execution_time = 300
max_input_time = 300
always_populate_raw_post_data = -1
3、安裝MySQL
MySQL建議使用5.6版本,CentOS6默認爲5.1,不建議使用,性能偏低
rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
yum install -y mysql-server mysql-devel
vim /etc/my.cnf
修改信息如下:
[mysqld]
innodb_file_per_table #獨立表空間模式
啓動Mysql
service mysqld start
mysql_secure_installation #MySQL安全配置嚮導
Enter current password for root (enter for none): <–初次運行直接回車
Set root password? [Y/n] <– 是否設置root用戶密碼,輸入y並回車或直接回車
Remove anonymous users? [Y/n] <– 是否刪除匿名用戶,生產環境建議刪除,所以直接回車
Disallow root login remotely? [Y/n] <–是否禁止root遠程登錄,根據自己的需求選擇Y/n並回車,建議禁止
Remove test database and access to it? [Y/n] <– 是否刪除test數據庫,直接回車
Reload privilege tables now? [Y/n] <– 是否重新加載權限表,直接回車
創建zabbix所用數據庫
mysql -uroot -p
mysql> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'zabbix';
mysql> flush privileges;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| zabbix |
+--------------------+
4、安裝Zabbix
yum install httpd libxml2-devel net-snmp-devel libcurl-devel
groupadd -g 201 zabbix
useradd -g zabbix -u 201 -m zabbix
解壓zabbix壓縮包
tar zxvf zabbix-3.2.3.tar.gz
cd zabbix-3.2.3
/usr/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
/usr/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
/usr/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
./configure --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix/ --enable-server --enable-agent --with-net-snmp --with-libcurl --with-mysql --with-libxml2
make &&make install
(編譯 zabbix 如果報下面錯誤,就做以下操作
問題1:configure: error: Not found mysqlclient library
#find / -name libmysqlclient*
ln -s /usr/lib64/mysql/libmysqlclient.so.18.1.0 /usr/lib64/mysql/libmysqlclient.so
ln -s /usr/lib64/mysql/libmysqlclient_r.so.18.1.0 /usr/lib64/mysql/libmysqlclient_r.so)
問題2: configure: error: MySQL library not found
the problem is not installed mysql-devel
#yum install mysql-devel
問題3:configure: error: no acceptable C compiler found in $PATH
安裝編譯環境: yum install gcc)
5、配置Zabbix
vim /etc/zabbix/zabbix_server.conf
修改信息如下:
DBHost=localhost 數據庫ip地址
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ListenIP=127.0.0.1,192.168.10.10 zabbix server ip地址
修改防火牆
vim /etc/sysconfig/iptables
添加如下信息
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
-A OUTPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
service iptables restart
注意:一定要添加到此句之前
-A INPUT -j REJECT --reject-with icmp-host-prohibited
否則,有可能出現錯誤:telnet: connect to address 192.168.39.120: No route to host
ln -s /usr/local/zabbix/sbin/* /usr/sbin/
cp /home/tempsource/zabbix-3.2.3/misc/init.d/fedora/core/zabbix_* /etc/init.d/
chmod +x /etc/init.d/zabbix_*
sed -i "s@BASEDIR=/usr/local@BASEDIR=/usr/local/zabbix@g" /etc/init.d/zabbix_server
6、配置WEB
vim /etc/httpd/conf/httpd.conf
添加如下信息:
ServerName 127.0.0.1
ServerName 192.168.10.10
DocumentRoot "/var/www/html"
mkdir -p /var/www/html/zabbix
cp -r /home/tempsource/zabbix-3.2.3/frontends/php/* /var/www/html/zabbix/
chown -R apache.apache /var/www/html/zabbix/
chkconfig zabbix_server on
/etc/init.d/zabbix_server start
service httpd restart
7、啓動安裝zabbix
用瀏覽器訪問http://192.168.10.10/zabbix,並按照提示安裝:
8、漢化
# vi /usr/share/zabbix/include/locales.inc.php實際路徑/var/www/html/zabbix/include/locales.inc.php
在第55行開啓zh_CN語言顯示
'zh_CN' => ['name' => _('Chinese (zh_CN)'), 'display' => false],
修改爲
'zh_CN' => ['name' => _('Chinese (zh_CN)'), 'display' => true],
保存好,再次點擊右上角小人圖標,語言下拉框即可選擇簡體中文,設置好中文語言,主界面如下,漢化不完全,不過看着已經很不錯了
設置中文後,查看圖形有亂碼,文字變成了方塊
Win+R打開運行,輸入fonts,回車進入Windows字體目錄,找到微軟雅黑-常規字體,複製出來將文件名修改爲msyh.ttf,注意後綴ttf。
將msyh.ttf上傳到服務器zabbix字體目錄中:
/usr/share/zabbix/fonts/
修改配置文件
查看字體配置# grep FONT_NAME /usr/share/zabbix/include/defines.inc.php -n(路徑換成實際的:/var/www/html/zabbix/include/defines.inc.php)
45:define('ZBX_GRAPH_FONT_NAME', 'graphfont'); // font file name
93:define('ZBX_FONT_NAME', 'graphfont');
確認字體名稱是否可以替換(路徑換成實際的:/var/www/html/zabbix/include/defines.inc.php)
# grep graphfont /usr/share/zabbix/include/defines.inc.php -n
45:define('ZBX_GRAPH_FONT_NAME', 'graphfont'); // font file name
93:define('ZBX_FONT_NAME', 'graphfont');
執行快捷替換(換成實際的sed -i "s/DejaVuSans/msyh/g" /var/www/html/zabbix/include/defines.inc.php)
# sed -i "s/graphfont/msyh/g" /usr/share/zabbix/include/defines.inc.php
確認是否替換成功
# grep FONT_NAME /usr/share/zabbix/include/defines.inc.php -n
45:define('ZBX_GRAPH_FONT_NAME', 'msyh'); // font file name
93:define('ZBX_FONT_NAME', 'msyh');
字體配置修改成功後,刷新圖形界面即可看到圖形字體顯示正常了。
9、服務器端agentd:
已經安裝:啓動問題
[root@localhost admin]# service zabbix_agentd restart Shutting down zabbix_agentd: [FAILED] Starting zabbix_agentd: /etc/init.d/functions: line 546: /usr/local/zabbix/zabbix/sbin/zabbix_agentd: No such file or directory
[FAILED]
通過提示發現目錄錯誤,正確啓動目錄爲:
/usr/local/zabbix/sbin/zabbix_agentd
解決:
1.進入zabbix_agentd配置文件
vim /etc/init.d/zabbix_agentd
2.修改BASEDIR選項
BASEDIR=/usr/local/zabbix
後續維護:
如換服務器IP需要修改:
當服務器IP變動時,需修改的地方(三個地方配置文件的server的IP):
/etc/zabbix/zabbix_server.conf
/etc/httpd/conf/httpd.conf
/var/www/html/zabbix/conf/ zabbix.conf.php