centOS 6.5下Zabbix RPM安装

## 1、安装环境概述
常用的Zabbix安装有两种:rpm安装和源码安装,本文介绍以rpm安装,源码安装请参照源码安装文档。
Zabbix常用地址如下:
- Zabbix官网:http://www.zabbix.com
- 官方论坛:http://www.zabbix.com/forum
- 代码托管地址:http://sourceforge.net/projects/zabbix/files
- Zabbix社区地址:https://zabbix.org

### 1.1、硬件环境
### 1.2、软件环境
## 2、Zabbix-Server服务器端安装
准备好CentOS 6.5_X64系统,配置IP地址,确保与互联网连接正常。
首先安装Zabbix的官方配置源和epel配置源:
# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
# yum install http://mirror.iprimus.com.au/epel/6/x86_64/epel-release-6-8.noarch.rpm
### 2.1、安装步骤说明
Zabbix需要有LAMP(Linux+Apache+Mysql+PHP)或LNMP(Linux+Nginx+Mysql+PHP)运行环境,我们这里选择的是LAMP环境,所以我们的安装步骤大致如下:
1. 安装LAMP环境
2. 安装配置Zabbix服务端以及客户端
3. 配置防火墙以及Selinux

建议所有的安装不要在root下,应该新建一个用户,然后在此用户下安装Zabbix,下面是创建用户以及用户组的命令:
```
groupadd zabbix
useradd -g zabbix zabbix
```

### 2.2、安装MYSQL数据库服务
#### 2.2.1、卸载MYSQL
因为mysql在linux一般都预装了,但是版本比较低,最好重新安装一个高版本的mysql。

yum remove mysql

yum -y remove mysql-libs-5.1.73-7.el6.x86_64

rpm -qa | grep mysql
#### 2.2.2、安装MYSQL服务
下载地址:http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.7/mysql-5.7.14-1.el6.x86_64.rpm-bundle.tar
用tar命令解压:
# tar -xvf mysql-5.7.14-1.el6.x86_64.rpm-bundle.tar
然后顺序执行安装命令:
# rpm -ivh mysql-community-common-5.7.14-1.el6.x86_64.rpm
# rpm -ivh mysql-community-libs-5.7.14-1.el6.x86_64.rpm
# rpm -ivh mysql-community-libs-compat-5.7.14-1.el6.x86_64.rpm
# rpm -ivh mysql-community-devel-5.7.14-1.el6.x86_64.rpm
# rpm -ivh mysql-community-client-5.7.14-1.el6.x86_64.rpm
# rpm -ivh mysql-community-server-5.7.14-1.el6.x86_64.rpm
执行最后一个的时候,如果出现以下错误信息:
```
error: Failed dependencies:
libaio.so.1()(64bit) is needed by mysql-community-server-5.7.14-1.el6.x86_64
libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-5.7.14-1.el6.x86_64
libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-5.7.14-1.el6.x86_64
libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.14-1.el6.x86_64
```
说明缺少**libaio**和**libnuma**两个依赖包,执行以下命令,安装依赖包即可:
# yum -y install libaio numactl
如果错误中有perl开头的,就安装一下perl的依赖包,命令如下:
# yum -y install perl
安装完依赖包,再次执行`rpm -ivh mysql-community-server-5.7.14-1.el6.x86_64.rpm`即可成功安装。
启动mysql数据库并配置其开机自启动
# service mysqld start 或 systemctl start mysqld
# chkconfig mysqld on 或 systemctl enable mysqld

#### 2.2.3、修改MYSQL初始密码
安装成功以后MYSQL默认初始密码是在**/var/log/mysqld.log**文件中随机生成的,可以通过命令`grep 'temporary password' /var/log/mysqld.log`查看。复制密码,输入命令`mysql -p`然后粘贴刚才复制的密码,即可登录。
登录以后输入命令一下命令都可修改密码(密码是有策略的,必须包括大小写字母、数字以及特殊符号,并且长度不能少于8位):
# set password for 'root'@'localhost' = password('!root2Admin');
# SET' PASSWORD = PASSWORD('!root2Admin');
# ALTER USER 'root'@'localhost' IDENTIFIED BY '!root2Admin';
可以通过命令`show variables like '%password%';`来查看密码策略相关信息。
如果不需要密码策略,在**/etc/my.cnf**文件添加如下配置禁用即可:
# validate_password = off
使用命令`systemctl restart mysqld` 或者`service mysqld restart`重启服务即可生效。

#### 2.2.4、配置MYSQL
#####2.2.4.1、添加远程登录用户
MYSQL默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:
# GRANT ALL PRIVILEGES ON *.* TO 'hokai'@'%' IDENTIFIED BY 'hokai' WITH GRANT OPTION;
#####2.2.4.2、配置默认编码为utf8
修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
```
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
```
重新启动mysql服务,通过命令`show variables like '%character%';`查看数据库编码信息。
默认配置文件路径:
- 配置文件:/etc/my.cnf
- 日志文件:/var/log//var/log/mysqld.log
- 服务启动脚本:/usr/lib/systemd/system/mysqld.service
- socket文件:/var/run/mysqld/mysqld.pid

#####2.2.4.3、创建Zabbix初始化数据库
```
shell> mysql -uhokai -phokai
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> quit;
```
#####2.2.4.4、导入Zabbix-Server数据库
- 在目录**/usr/share/doc/zabbix-server-mysql-3.0.7**下使用命令`gunzip -c create.sql.gz >create.sql`解压**create.sql.gz**;
- 用**zabbix**用户进入MYSQL的**zabbix**数据库,执行命令`source /usr/share/doc/zabbix-server-mysql-3.0.7/create.sql`即可导入zabbix的数据库结构以及数据。

### 2.3、安装配置PHP
#### 2.3.1、安装PHP
- 检查是否安装了PHP包
# yum list installed | grep php
- 如果有且版本低于5,就移除当前PHP包。
# yum remove php5* 或 yum remove php55w*
- 没有就安装PHP,需要添加第三方的YUM源,此处用到webtatic
# rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
- 查看YUM源上能用PHP安装包
# yum list php* 或 yum list php55w*
- 安装PHP5.5及需要的扩展
# yum install php55w php55w-devel php55w-common php55w-mysql php55w-pdo php55w-opacache php55w-xml php55w-bcmath php55w-gd php55w-mbstring php55w-gettext
- 再次查看PHP版本,以确认安装是否成功
# php -v
- 查看PHP模块命令
# php -m

扫描二维码关注公众号,回复: 4405655 查看本文章

#### 2.3.2、配置PHP
- php.ini文件的配置
```
shell# vim /etc/php.ini
date.timezone = Asia/Shanghai
max_execution_time = 300
post_max_size = 16M
max_input_time = 300
memory_limit = 128M
mbstring.func_overload = 0
```

### 2.4、安装配置Zabbix-Server
#### 2.4.1 安装Zabbix-Server
由于服务器也需要监控,所有服务器上也一并安装Zabbix-Agent:
#yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
几个重要的路径如下:
- /usr/share/zabbix:zabbix的前端php代码
- /usr/lib/zabbix:zabbix的脚本(包括报警脚本和扩展脚本)
- /etc/zabbix:zabbix的配置文件

#### 2.4.2、配置zabbix-server
默认DBName和DBUser参数都为zabbix,不需要改,只需要改DBHost和DBPassword即可,其他为性能优化项,可选。
```
# 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
StartPollers=5
```
注意:LogFileSize默认为1,0为禁止自动循环
启动Zabbix-Server服务并配置其开机自启动
# systemctl start zabbix-server 或 service zabbix-server start
# systemctl enable zabbix-server 或 chkconfig zabbix-server on

#### 2.4.3、配置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-Agent服务并配置其开机自启动
# systemctl start zabbix-agnet 或 service zabbix-agent start
# systemctl enable zabbix-agent 或 chkconfig zabbix-agent on

### 2.5、防火墙、Selinux和权限的设置
#### 2.5.1 防火墙设置
修改防火墙配置文件,在最后位置添加以下规则过滤:
```
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端口~
#### 2.5.2 Selinux设置
因为大部分人对Selinux不是特别熟悉,可以选择关闭Selinux。在实际的生产环境中,大部分是选择关闭Selinux的。
这里有两个辅助命令:
# setenforce 0 #设置为警告模式,只给出提示,不会阻止操作,不用重启服务器既可生效
# getenforce #查看Selinux的状态[Enforcing|Permissive|Disabled]
如果想要直接关闭Selinux,可以直接编辑Selinux的配置文件:
```
shell# vim /etc/selinux/config
SELINUX=disabled
```
#### 2.5.3、apache配置以及权限配置
由于apache是系统默认已经装过的,所有我们这里没有安装,如果系统本身没有安装或者想升级,可以百度自行安装。
apache的默认访问的程序目录为`/var/www/html`下。
将zabbix的前端程序拷贝到apache的程序目录下,然后修改两个地方的权限,代码如下:
# cp -r /usr/share/zabbix /var/www/html/zabbix
# chown -R root.root /var/www/html/zabbix
# chown -R root.root /etc/zabbix/web
如果想修改WEB监听端口,可以修改httpd配置文件:
```
shell# vim /etc/httpd/conf/httpd.conf
Port 9000
ServerName 192.168.1.47:9000
```
启动Apache服务并配置其开机自启动
# systemctl start httpd 或 service httpd start
# systemctl enable httpd 或 chkconfig httpd on


### 2.6、配置WEB界面
打开浏览器,输入`http://zabbix-frontend-hostname/zabbix` (e.g. `http://localhost/zabbix`)出现前台安装界面配置。
- 安装步骤总共6步,分别是:
1.欢迎界面、2.php需求检查、3.MySQL配置、4.zabbix服务端详细信息、5.zabbix安装前信息列表、6.安装完成
如果有哪些配置不对或不符合最低要求,会在这6步中给出错误提示,去配置文件中修改相应配置文件然后重启httpd服务即可。
- 最后一步可能会提示错误**Cannot create the configuration file.**这时候下面会给出解决方案:
*Alternatively, you can install it manually:
1.Download the configuration file
2.Save it as "/etc/zabbix/web/zabbix.conf.php"*
意思是你可以自己手动安装此文件,首先下载配置文件,然后将它放到`/etc/zabbix/web/`下,然后修改文件权限,使用命令`chmod 755 /etc/zabbix/web/zabbix.conf.php`。最后回到WEB界面上点击Finish即可。
- Finish完成以后会出现登陆界面,默认用户名和密码为:**Admin:zabbix**
- Zabbix是支持多语言的,可以为每个用户配置不同的语言环境。单机菜单栏Administration->Users->User name->Language修改用户的语言。虽然Zabbix支持中文,但是不建议使用中文界面,因为中文界面的翻译不准确,会误导我们,建议使用英文界面。

猜你喜欢

转载自www.cnblogs.com/davidchen211/p/10081330.html
今日推荐