部署LNMP平台
一.部署Nginx (Zabbix监控管理控制台需要通过Web页面展示出来,并且还需要使用MySQL来存储数据,因此需要先为Zabbix准备基础LNMP环境。)
- 下载Nginx1.17.10
]# wget http://nginx.org/download/nginx-1.17.10.tar.gz
- 下载源码安装相关依赖包
]# yum -y install gcc pcre-devel openssl-devel
- 源码编译安装Nginx
]# tar -xf nginx-1.17.10.tar.gz
]# cd nginx-1.17.10/
]# ./configure --with-http_ssl_module
]# make && make install
- 安装PHP
]# yum -y install php php-mysql php-fpm
- 安装mariadb
]# yum -y install mariadb mariadb-server mariadb-devel
修改Nginx配置文件
二.配置Nginx支持PHP动态网站,因为有大量PHP脚本需要执行,因此还需要开启Nginx的各种fastcgi缓存,加速PHP脚本的执行速度。
- 修改Nginx配置
]# vim /usr/local/nginx/conf/nginx.conf
… …
http{
… …
fastcgi_buffers 8 16k; //缓存php生成的页面内容,8个16k
fastcgi_buffer_size 32k; //缓存php生产的头部信息
fastcgi_connect_timeout 300; //连接PHP的超时时间
fastcgi_send_timeout 300; //发送请求的超时时间
fastcgi_read_timeout 300; //读取请求的超时时间
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
… …
- 启动相关服务
启动Nginx、PHP-FPM、MariaDB服务,关闭SELinux与防火墙。
]# systemctl start mariadb
]# systemctl start php-fpm
]# firewall-cmd --set-default-zone=trusted
]# setenforce 0
]# /usr/local/nginx/sbin/nginx
- 客户端测试LNMP环境
服务器创建PHP测试页面,浏览器访问页面测试网页连通性
]# vim /usr/local/nginx/html/test.php
<?php
$i=33;
echo $i;
?>
]# curl http://192.168.2.5/test.php
部署监控服务器Zabbix Server
三.源码安装Zabbix Server (多数源码包都是需要依赖包的,zabbix也一样,源码编译前需要先安装相关依赖包。)
- 安装相关依赖包
]# yum -y install net-snmp-devel curl-devel libevent-devel
- 下载zabbix4.4.8
]# wget https://cdn.zabbix.com/zabbix/sources/stable/4.4/zabbix-4.4.8.tar.gz
- 源码编译安装zabbix
]# tar -xf zabbix-4.4.8.tar.gz
]# cd zabbix-4.4.8/
]# ./configure --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl
]# make && make install
- 初始化Zabbix
创建数据库,上线Zabbix的Web页面
]# mysql
mysql> create database zabbix character set utf8;
mysql> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';
]# cd database/mysql/
]# mysql -uzabbix -pzabbix zabbix < schema.sql
]# mysql -uzabbix -pzabbix zabbix < images.sql
]# mysql -uzabbix -pzabbix zabbix < data.sql
- 上线Zabbix的Web页面
]# cd frontends/php/
]# cp -r * /usr/local/nginx/html/
]# chmod -R 777 /usr/local/nginx/html/*
- 修改Zabbix_server配置文件,设置数据库相关参数,启动Zabbix_server服务
]# vim /usr/local/etc/zabbix_server.conf
DBHost=localhost
//数据库主机,默认该行被注释
DBName=zabbix
//设置数据库名称
DBUser=zabbix
//设置数据库账户
DBPassword=zabbix
//设置数据库密码,默认该行被注释
LogFile=/tmp/zabbix_server.log
//设置日志,仅查看以下即可
]# useradd -s /sbin/nologin zabbix
//不创建用户无法启动服务
- 启动zabbix服务
]# zabbix_server
]# ss -ntulp |grep zabbix_server
//确认连接状态,端口10051
tcp LISTEN 0 128 *:10051 *:* users:(("zabbix_server",pid=23275,fd=4),("zabbix_server",pid=23274,fd=4)
- 提示:如果是因为配置文件不对,导致服务无法启动时,不要重复执行zabbix_server一定要先使用killall zabbix_server关闭服务后,再重新启动一次。
- 修改Zabbix_agent配置文件,启动Zabbix_agent服务
]# vim /usr/local/etc/zabbix_agentd.conf
Server=127.0.0.1,本机IP //允许哪些主机监控本机
ServerActive=127.0.0.1,本机IP //允许哪些主机通过主动模式监控本机
Hostname=zabbix_server //设置本机主机名
LogFile=/tmp/zabbix_server.log //设置日志文件
UnsafeUserParameters=1 //是否允许自定义key
- 启动监控agent
]# zabbix_agentd
]# ss -ntulp |grep zabbix_agentd //查看端口信息为10050
tcp LISTEN 0 128 *:10050 *:* users:(("zabbix_agentd",pid=23505,fd=4),("zabbix_agentd",pid=23504,fd=4)
- 提示:如果是因为配置文件不对,导致服务无法启动时,不要重复执行zabbix_agentd一定要先使用killall zabbix_agentd关闭服务后,再重新启动一次。
- 浏览器访问Zabbix_server服务器的Web页面
]# firefox http://本机IP/index.php
//第一次访问,初始化PHP页面会检查计算机环境是否满足要求,如果不满足会给出修改建议
//默认会提示PHP的配置不满足环境要求,需要修改PHP配置文件
- 根据错误提示,修改PHP配置文件,满足Zabbix_server的Web环境要求
php-bcmath和php-mbstring
]# yum -y install php-gd php-xml php-bcmath php-mbstring
]# vim /etc/php.ini
date.timezone = Asia/Shanghai //设置时区
max_execution_time = 300 //最大执行时间,秒
post_max_size = 32M //POST数据最大容量
max_input_time = 300 //服务器接收数据的时间限制
memory_limit = 128M //内存容量限制
]# systemctl restart php-fpm
- 修改完PHP配置文件后,再次使用浏览器访问服务器,则会提示如下图所示的提示信息。
注意:这里有一个PHP LDAP是warning状态是没有问题的!
15. 在初始化数据库页面,填写数据库相关参数,如图所示。
16. 在登陆页面,使用用户(admin)和密码(zabbix)登陆,登陆后设置语言环境为中文,如图所示。