Zabbix是一个高度集成的网络监控解决方案,一个简单的安装包中提供多样性的功能。同时Zabbix 是一个企业级的分布式开源监控方案。

刚好我们公司类没有类似服务,之前不常用的服务器宕机2天才被发现。于是我们决定在机房服务器上面部署一套。

部署前准备:

1.关闭防火墙并关闭开机启动

   systemctl stop firewalld.service
   systemctl disable firewalld.service

2. 关闭SELinux安全机制

2.1 临时关闭

 setenforce 0

2.2 永久关闭

 vim /etc/selinux/config
设置SELINUX=enforcing为SELINUX=disabled

3.安装Nginx

Nginx 不在默认的 yum 源中,可以使用 epel 或者官网的 yum 源,本例使用官网的 yum 源。

$ sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

配置yum 源 之后安装 Nginx,非常简单,一条命令。

$yum install nginx

安装之后我们设置开机启动和启动Nginx

#开机启动命令
$ systemctl enable nginx
启动Nginx命令
$ systemctl start nginx

想了解更多Nginx的使用命令可以移步参考下。

3.安装MySQL

# 下载
 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
# 安装 mysql 源
yum localinstall mysql57-community-release-el7-11.noarch.rpm

使用 yum install 命令安装

yum install -y mysql-community-server

在 CentOS 7 下,新的启动/关闭服务的命令是 systemctl start|stop

#启动MySQL
systemctl start mysqld
#设置开机启动MySQL
systemctl enable mysqld
# 重载所有修改过的配置文件
systemctl daemon-reload

修改 root 本地账户密码

mysql 安装完成之后,生成的默认密码在 /var/log/mysqld.log 文件中。使用 grep 命令查看默认密码。

grep 'temporary password' /var/log/mysqld.log
#登录进去之后使用下面命令修改密码
set password for root@localhost = password(‘Abc@123456’);

MySQL默认密码策略是需要大小写+数字+特殊符号哦,不然会报错。

4.安装PHP7.2


#更新PHP yum源
rpm -Uvh https://dl.Fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 源
#安装PHP及扩展 yum install php72w php72w-devel php72w-fpm php72w-gd php72w-mbstring php72w-mysql -y   
php -v #查看版本
PHP 7.2.10 (cli) (built: Sep 15 2018 07:10:58) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

4.1 配置nginx支持PHP:

 vim /etc/php-fpm.d/www.conf 
user = nginx    #将Apache改为nginx

4.2 配置PHP:

 vim /etc/php.ini
expose_php = Off    #隐藏PHP版本
max_execution_time = 300    #监控执行时间
max_input_time = 300    #接收数据等待时间
memory_limit = 128M    #每个脚本占用内存
post_max_size = 16M    #POST数据大小
upload_max_filesize = 2M    #下载文件大小
always_populate_raw_post_data = -1    #可以用$HTTP_RAW_POST_DATA接收post raw data
date.timezone = Asia/Shanghai    #将时区设为上海时区

4.3 配置PHP请求被传送到后端的php-fpm模块,默认情况下php配置模块是被注释掉的:


vim /etc/nginx/conf.d/default.conf
index  index.php index.html index.htm;
location ~ .php$ {
root          /usr/share/nginx/html;
fastcgi_pass  127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_scr ipt_name;
include fastcgi_params;
}

#把fastcgi_param中的/scripts改为$document_root,root是配置php程序用户

4.4 开启服务

 systemctl start php-fpm.service 
systemctl enable php-fpm.service 
systemctl restart nginx

#创建PHP测试首页

 vim /usr/share/nginx/html/index.php 

<?php
phpinfo();
?>

5.安装Zabbix

这里参照Zabbix官方提供的 安装指南 ,现在你的系统环境会自动生成安装配置。

a. 安装 数据库
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# yum clean all
b. Install Zabbix server and agent
# yum install zabbix-server-mysql zabbix-agent
c. Install Zabbix frontend

# yum-config-manager --enable rhel-server-rhscl-7-rpms

编辑配置文件 /etc/yum.repos.d/zabbix.repo and enable zabbix-frontend repository.[zabbix-frontend]
...
enabled=1
...

Install Zabbix frontend packages.# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl

d. 创建初始数据库

在数据库主机上运行以下代码。# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;

导入初始架构和数据,系统将提示您输入新创建的密码。# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

e. 为Zabbix server配置数据库

编辑配置文件 /etc/zabbix/zabbix_server.confDBPassword=password

f. 为Zabbix前端配置PHP

编辑配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf, uncomment and set the right timezone for you.; php_value[date.timezone] = Europe/Riga

g. 启动Zabbix server和agent进程

启动Zabbix server和agent进程,并为它们设置开机自启:

# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

h. 配置Zabbix前端

连接到新安装的Zabbix前端: http://server_ip_or_name/zabbix