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
一条评论 “Centos7下部署Zabbix监控系统”
不错,搭建指南!