Zabbix基本概念
Zabbix是一个高度集成的监控解决方案
可以实现企业级的开源免费分布式监控
Zabbix通过C/S模式采集监控数据
Zabbix通过B/S模式实现Web管理
Zabbix监控拓扑
监控服务器可以通过LNMP获取Agent采集的数据
数据可以写入MySQL、Oracle等数据库中
服务器使用LNMP实现Web前端管理
被监控主机需要安装Agent
常见的网络设备须支持SNMP
安装前准备
监控服务器环境
— 关闭防火墙
[root@CentOS7-test ~]# systemctl stop firewalld
[root@CentOS7-test ~]# systemctl disable firewalld
— 关闭SELinux
[root@CentOS7-test ~]# setenforce 0
[root@CentOS7-test ~]# vim /etc/selinux/config
部署Zabbix监控平台
安装LNMP环境
源码安装Zabbix
安装监控主机,修改基本配置
初始化Zabbix监控Web页面
修改PHP配置文件,满足Zabbix需求
部署LNMP环境
Zabbix监控管理控制台需要通过Web页面展示出来,并且还需要使用数据库来存储数据,因此需要先为Zabbix准备LNMP环境
[root@zabbix ~]# yum -y install gcc pcre-devel openssl-devel //安装依赖包
[root@zabbix lnmp_soft]# tar -xf nginx-1.12.2 //解压源码包
[root@zabbix lnmp_soft]# cd nginx-1.12.2 //进入源码包
[root@zabbix nginx-1.12.2]# ./configure //检测环境
[root@zabbix nginx-1.12.2]# make && make install //编译并安装
[root@zabbix ~]# /usr/local/nginx/sbin/nginx //启动服务
安装mariadb mariadb-server mariadb-devel php php-mysql php-fpm
[root@zabbix lnmp_soft]# yum -y install mariadb mariadb-server mariadb-devel php php-mysql
[root@zabbix ~]# yum -y install php-fpm //使用阿里源安装php-fpm
启动服务
[root@zabbix ~]# systemctl start mariadb //启动数据库服务
[root@zabbix ~]# systemctl enable mariadb //设置服务开机自启
[root@zabbix ~]# systemctl start php-fpm //启动php-fpm服务
[root@zabbix ~]# systemctl enable mariadb //设置服务开机自启
配置nginx支持PHP动态网站
配置nginx支持PHP动态网站,应为有大量的PHP脚本需要执行,因此还需要开启nginx的各种fastcgi缓存,加速PHP脚本的执行速度
[root@zabbix ~]# vim /usr/local/nginx/conf/nginx.conf
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;
}
[root@zabbix ~]# /usr/local/nginx/sbin/nginx -s reload //重新加载服务
创建php测试页面
创建php测试页面,测试联通性
[root@zabbix ~]# vim /usr/local/nginx/html/test.php
<?php
$x=hello;
echo $x;
?>
浏览器访问测试test.php页面
http://192.168.234.99/test.php
安装Zabbix依赖包
源码安装zabbix,需要提前安装zabbix需要的依赖包
安装依赖包
[root@zabbix ~]# yum -y install net-snmp-devel curl-devel libevent-devel
源码安装Zabbix
源码包在lnmp_sfot目录下
[root@zabbix ~]# cd lnmp_soft/
[root@zabbix lnmp_soft]# ls
zabbix-3.4.4.tar.gz //版本3.4
[root@zabbix lnmp_soft]# tar -xf zabbix-3.4.4.tar.gz //解压源码包
[root@zabbix lnmp_soft]# cd zabbix-3.4.4 //进入源码包路径
检测环境,指定安装功能
[root@zabbix zabbix-3.4.4]# ./configure --enable-server \ //zabbix服务端软件
> --enable-agent \ //zabbix被监控端软件
> --with-mysql=/usr/bin/mysql_config \ //配置mysql_config路径
> --with-net-snmp \ //zabbix通过snmp监控其他设备
>--with-libcurl //zabbix通过curl连接http、ftp等服务
[root@zabbix zabbix-3.4.4]# make //编译
[root@zabbix zabbix-3.4.4]# make install //安装
授权Zabbix数据库权限
创建数据库,并支持中文字符集
[root@zabbix ~]# mysql
MariaDB [(none)]> create database zabbix character set utf8;
创建访问数据库用户和密码
MariaDB [(none)]> grant all on zabbix.* to zabbix@"localhost" identified by "zabbix";
导入数据库表文件,注意导入顺序
[root@zabbix lnmp_soft]# cd zabbix-3.4.4/database/mysql/ //进入目录
[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < data.sql
上线zabbix的Web页面
将zabbix的PHP的Web页面拷贝导/usr/loca/nginx/html/
[root@zabbix ~]# cd lnmp_soft/zabbix-3.4.4/frontends/php
[root@zabbix php]# cp -r * /usr/local/nginx/html/
[root@zabbix php]# chmod -R 777 /usr/local/nginx/html/*
配置zabbix_server设置数据库相关参数
修改zabbix_server配置文件,设置数据库相关参数
[root@zabbix php]# vim /usr/local/etc/zabbix_server.conf
DBHost=localhost //数据库主机,默认该行被注释
DBName=zabbix //数据库名称
DBUser=zabbix //数据库账户
DBPassword=zabbix //数据库密码,默认该行被注释
LogFile=/tmp/zabbix_server.log //日志文件位置
[root@zabbix php]# useradd -s /sbin/noloing zabbix //创建用户
[root@zabbix php]# zabbix_server //启动服务
[root@zabbix php]# ss -anptul | grep zabbix //查看服务状态
tcp LISTEN 0 128 *:10051
提示:如果是因为配置文件不对,导致服务无法启动时,不要重复执行zabbix_server, 一定要先使用killall zabbix_server关闭服务后,再重新启动一次。
配置zabbix_agent
修改zabbix_agent配置文件,启动zabbix_agent服务
[root@CentOS7-test ~]# vim /usr/local/etc/zabbix_agentd.conf
Server=127.0.0.1,192.168.0.24 //允许那些主机监控本机
LogFile=/tmp/zabbix_server.log //日志文件位置
ServerActive=127.0.0.1,192.168.0.24 //允许那些主机通过主动模式监控本机
Hostname=zabbixserver //设置本机主机名
UnsafeUserParameters=1 //是否允许自定义Key,默认值位0,改成1,该行默认被注释
[root@zabbixserver ~]# zabbix_agentd //启动服务
[root@zabbixserver ~]# ss -anptul | grep zabbix_agent //查看服务状态
tcp LISTEN 0 128 *:10050
提示:如果是因为配置文件不对,导致服务无法启动时,不要重复执行zabbix_agentd, 一定要先使用killall zabbix_agentd关闭服务后,再重新启动一次
访问zabbix的Web页面
浏览器访问测试:192.168.234.99/index.php
第一次访问,初始化PHP页面会检查计算机是否满足要求,如果不满足会给出修改建议
默认会提示PHP的配置不满足环境要求,需要修改PHP配置文件
根据错误提示,修改PHP配置文件,满足Zabbix_server的Web环境要求
安装zabbix需要软件包
[root@zabbixserver ~]# yum -y install php-gd php-xml php-bcmath php-mbstring
修改php.ini文件满足zabbix条件
修改/etc/php.ini文件
[root@zabbixserver ~]# vim /etc/php.ini
post_max_size = 32M //数据最大容量
max_execution_time = 300 //最大执行时间300秒
max_input_time = 300 //服务器接收数据的时间限制
date.timezone =Asia/Shanghai //时区改成中国/上海,默认该行被注释
重启php-fpm
[root@zabbixserver ~]# systemctl restart php-fpm
访问zabbix的Web界面
初始化数据页面
登录页面
默认用户(admin)密码(zabbix)登陆
登录并设置中文