CentOS 7 下安装Zabbix 3.0
## 安装前准备
### 1.1 安装依赖包:
```
yum -y install wget net-snmp-devel 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 配置防火墙:
修改防火墙配置文件,在最后位置添加以下规则过滤:
```
shell# vim /etc/sysconfig/iptables
-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 10050:10051 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 10050:10051 -j ACCEPT
-A OUTPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
```
上述端口中,80指的是Apache的web监听端口,10050是Agent端口,Agent采用被动方式,Server主动连接Agent的10050端口;10051是Server的端口,Agent采用主动或Trapper的方式连接Server的10051端口。10050是Agent端口,10051是Server端口~
需要关闭 selinux,一定要关闭这个,开启selinux会引起一连串问题,甚至zabbix的discovery功能也不能正常使用
```
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
```
确认是否修改成功
```
# grep SELINUX /etc/selinux/config
```
然后重启系统即可
```
# reboot
```
### 1.3 搭建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,我们能够满足Zabbix的安装需求即可。
现在开始安装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用户配置密码,并刷新相关权限。(密码设为hokai,只为实验用,生产环境自定义)
Remove anonymous users? 删除匿名用户?
Disallow root login remotely? 禁止root远程登陆
Remove test database and access to it? 删除测试数据库并且和访问它
Reload privilege tables now? 重新载入特权表
以上主要是配置匿名用户、test用户以及root用户远程连接等相关配置,我们全部输入y即可。
mysql初始化完毕后,我们现在来创建zabbix数据库及其用户,使用如下命令:
[root@zabbix ~]# mysql -uroot -phokai -e "create database zabbix default character set utf8 collate utf8_bin;"
[root@zabbix ~]# mysql -uroot -phokai -e "grant all on zabbix.* to 'zabbix'@'%' identified by 'zabbix';"
现在来测试刚刚创建的zabbix用户,是否可以连接mysql数据库,如下:
```
# mysql -uzabbix -pzabbix
MariaDB [(none)]> show databases;
MariaDB [(none)]> quit
```
下面设置Apache的开机自启动并启动apache以及开放80端口,如下:
```
# systemctl enable httpd.service
# systemctl start httpd.service
```
到此LAMP环境搭建完毕,下面开始安装Zabbix.
### 1.4 安装zabbix server3.0
1. 安装zabbix3.0所需要EPEL源和zabbix的yum源,如下:
```
#rpm -ivh https://mirrors.aliyun.com/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
#rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
```
以上安装完毕后,我们现在来正式安装zabbix3.0,使用如下命令:
```
# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-get
```
我们可以很明显的看出目前zabbix server是3.0.14版本的。
安装完毕后,我们现在开始进行zabbix的相关配置。
2. 导入zabbix数据库结构,如下:
```
# cd /usr/share/doc/zabbix-server-mysql-3.0.14/
# zcat create.sql.gz | mysql -uroot -phokai zabbix
```
3. 数据库导入完毕后,我们现在来修改zabbix sever的配置文件,如下:
```
# vi /etc/zabbix/zabbix_server.conf
只需关注以下4项即可:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
```
4. 下面我们再来修改下zabbix.conf文件。
```
vim /etc/httpd/conf.d/zabbix.conf
```
设置`php_value date.timezone Asia/Chongqing`,这个主要是定义php的时区。
5. 我们把把zabbix-server加入开机启动,并启动zabbix-server,然后重启httpd服务如下:
```
# systemctl enable zabbix-server.service
# systemctl start zabbix-server.service
# systemctl restart httpd.service
```
### 1.5 配置Zabbix
打开浏览器,输入`http://zabbix-frontend-hostname/zabbix` (e.g. `http://localhost/zabbix`)出现前台安装界面配置。
- 安装步骤总共6步,分别是:
1. 欢迎界面
2. php需求检查
3. MySQL配置
4. zabbix服务端详细信息
5. zabbix安装前信息列表
6. 安装完成
如果有哪些配置不对或不符合最低要求,会在这6步中给出错误提示,去配置文件中修改相应配置文件然后重启httpd服务即可。
- Finish完成以后会出现登陆界面,默认用户名和密码为:**Admin:zabbix**
- Zabbix是支持多语言的,可以为每个用户配置不同的语言环境。单机菜单栏Administration->Users->User name->Language修改用户的语言。虽然Zabbix支持中文,但是不建议使用中文界面,因为中文界面的翻译不准确,会误导我们,建议使用英文界面。
### 1.6 安装Zabbix-agent
```
# yum -y install zabbix zabbix-agent
```
在安装时如出现如上图所示错误,原因是软件这两个版本不一致,仔细观察发现这两个软件包使用了不同的仓库,把epel的关闭(enabled=0,位于/etc/yum.repos.d/epel.repo)再重装
### 1.7 配置zabbix agent
必须指定zabbix server的IP地址,其他host的连接都否认。
```
# vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=127.0.0.1
```
以上配置完毕后,我们在zabbix web端添加该监控机器时,只需要把honst name与该配置文件中的hostname对应即可。如下:
Server=服务器ip地址
ServerActive=服务器ip地址
Hostname=客户端ip地址
Server被动ServerActive主动
到此zabbix agent就已经安装完毕。
启动Zabbix-Agent服务并配置其开机自启动
```
# systemctl start zabbix-agent
# systemctl enable zabbix-agent
```