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