安装前准备
1.0 系统时间同步
在crontab中添加
#crontab -l 00 00 * * * /usr/sbin/ntpdate -u x.x.x.x #选择ntp服务器 #systemctl restart crond
1.1 安装依赖包:
yum -y install wget net-snmp-devel net-snmp-utils OpenIPMI-devel httpd openssl-devel java lrzsz fping-devel libcurl-devel perl-DBI pcre-devel libxml2 libxml2-devel mysql-devel gcc php php-bcmath php-gd php-xml php-mbstring php-ldap php-mysql.x86_64 php-pear php-xmlrpc net-tools wget vim-enhanced
可能故障问题:Cannot find a valid baseurl for repo: base/7/x86_64
解决:修改DNS
1.2 关闭防火墙:
systemctl stop firewalld.service
systemctl disable firewalld.service
需要关闭 selinux,一定要关闭这个,开启selinux会引起一连串问题,甚至zabbix的discovery功能也不能正常使用
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
确认是否修改成功
grep SELINUX /etc/selinux/config
然后重启系统即可。
reboot
二、安装zabbix server3.0
1.0 搭建lamp环境
在centos7上安装zabbix server3.0之前,我们首先搭建zabbix所需要的lamp环境。
下载最新的yum源,如下:
wget -P /etc/yum.repos.d http://mirrors.aliyun.com/repo/Centos-7.repo
在开始安装之前,还需要说明下centos7自带的mysql是mariadb,我们可以通过如下命令查看:
yum search mysql|tac
现在开始安装lamp环境,使用如下命令:
yum -y install mariadb mariadb-server php php-mysql httpd
通过上图,我们可以很明显的看出centos7默认安装的是php5.4、httpd2.4和maradb5.5,这个完全符合zabbix3.0对软件版本的要求。
lamp安装完毕后,我们现在来配置mysql数据库。
设置开机自启动mysql,并启动mysql,使用如下命令:
systemctl enable mariadb.service
systemctl start mariadb.service
初始化mysql数据库,并配置root用户密码。使用如下命令:
mysql_secure_installation
注意:在上图中的Enter current passwdord for root处,我们直接敲回车键即可。因为centos7上mysql的默认root用户密码为空。
上图中主要是为root用户配置密码,并刷新相关权限。(密码设为123456,只为实验用,生产环境自定义)
Remove anonymous users? 删除匿名用户?
Disallow root login remotely? 禁止root远程登陆
Remove test database and access to it? 删除测试数据库并且和访问它
Reload privilege tables now? 重新载入特权表
上图中主要是配置匿名用户、test用户以及root用户远程连接等相关配置。
mysql初始化完毕后,我们现在来创建zabbix数据库及其用户,使用如下命令:
mysql -uroot -pPioneerservice@3306 -e "create database zabbix default character set utf8 collate utf8_bin;" mysql -uroot -pPioneerservice@3306 -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'"
现在来测试刚刚创建的zabbix用户,是否可以连接mysql数据库,如下:
[root@zabbix ~]# mysql -uzabbix -pzabbix MariaDB [(none)]> show databases; MariaDB [(none)]> quit
通过上图,我们可以很明显的看出zabbix用户是可以正常连接数据库的。
启动apache以及开放80端口,如下:
[root@zabbix ~]# systemctl start httpd.service
[root@zabbix ~]# netstat -ltun
到此lamp环境已经全部搭建完毕。
1.1 安装zabbix server3.0
安装zabbix3.0所需要EPEL源和zabbix的yum源,如下:
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm 3.2版本 rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm 3.4版本
以上安装完毕后,我们现在来正式安装zabbix3.0,使用如下命令:
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-get
通过上图,我们可以很明显的看出目前zabbix server是3.2.11版本的。
以上安装完毕后,我们现在开始进行zabbix的相关配置。
导入zabbix数据库结构,如下:
[root@zabbix ~]# cd /usr/share/doc/zabbix-server-mysql-3.2.11/ [root@zabbix zabbix-server-mysql-3.2.11]# zcat create.sql.gz | mysql -uroot -pDe123456 zabbix
数据库导入完毕后,我们现在来修改zabbix sever的配置文件,如下:
[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_server.pid DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000
上述配置文件中,我们只需要关注 DBHost、DBName、DBUser、
DBPassword 几项即可。这几项是配置zabbix server连接mysql数据库的参数。
以上修改完毕后,我们再来修改下zabbix.conf文件。如下:
vim /etc/httpd/conf.d/zabbix.conf Alias /zabbix /usr/share/zabbix Options FollowSymLinks AllowOverride None Require all granted php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value always_populate_raw_post_data -1 php_value date.timezone Asia/Chongqing
修改前:
修改后:
其中php_value date.timezone Asia/Chongqing主要是定义php的时区。
以上修改完毕后,我们把把zabbix-server加入开机启动,并启动zabbix-server,如下:
systemctl start zabbix-server.service
systemctl enable zabbix-server.service
最后重启apache,如下:
[root@zabbix ~]# systemctl restart httpd.service
到目前为止,zabbix3.0已经安装完毕。