规划节点
IP | 主机名 |
---|---|
192.168.223.14 | zabbix-server |
192.168.223.15 | zabbix-agent |
基础准备
运用VMware Workstation 创建2台虚拟机,使用提供的CentOS-7-x86_64-DVD-1908镜像,内存2G,CPU 2核
部署基础环境及lnmp环境
基础环境部署
更改主机名
# hostnamectl set-hostname zabbix-server
# hostnamectl set-hostname zabbix-agent
关闭防火墙及安全规则
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
测试网络
# ping baidu.com
添加host映射
# vi /etc/hosts
192.168.223.14 zabbix-server
192.168.223.15 zabbix-agent
lnmp环境部署(zabbix服务端)
上传lnmp环境部署包
解压lnmp环境部署源码包
# tar zxvf lnmp1.6-full.tar.gz
一键部署lnmp环境
# cd lnmp1.6-full
修改MySQL数据目录:
# vi lnmp.conf
MySQL_Data_Dir='/data/mysql'
# ./install.sh lnmp #执行脚本
选择MySQL版本:
设置MySQL密码:
选择InnoDB引擎是否开启:
选择PHP版本:
选择不安装内存分配器:
按Enter键开始安装:
部署成功显示:
测试访问网页:
zabbix服务端部署及配置
任务实施
安装依赖包
# yum install -y libevent-devel wget tar gcc gcc-c++ make net-snmp-devel libxml2-devel libcurl-devel
创建zabbix用户
# useradd -s /sbin/nologin zabbix
zabbix-4.0.3.tar.gz传到/usr/local/src目录下解压编译安装
# tar zxvf zabbix-4.0.3.tar.gz #解压源码包
# mkdir /usr/local/zabbix
# mv /usr/local/src/zabbix-4.0.3/* /usr/local/zabbix #迁移到安装目录
# cd /usr/local/zabbix/
# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2
编译完成结果
# make && make install #编译安装
环境变量设置
# vi /etc/profile
export PATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/
# source /etc/profile
# echo $PATH
配置启动脚本
# cp /usr/local/zabbix/misc/init.d/fedora/core/zabbix_server /etc/init.d/
#cp /usr/local/zabbix/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
# vi /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix #zabbix安装目录
# vi /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix #zabbix安装目录
添加权限
# chmod 755 /etc/init.d/zabbix_*
重启虚拟机
启动Zabbix服务及启动状态:
# systemctl start zabbix_server
# systemctl start zabbix_agentd
# systemctl status zabbix_server
# systemctl status zabbix_agentd
登录数据库创建Zabbix用户和导入Zabbix库
Mysql数据库 mysql -h 127.0.0.1 -uroot -p000000
mysql> create database zabbix character set utf8 collate utf8_bin; ##创建Zabbix库和设置格式
mysql> grant all privileges on zabbix.* to zabbix@'127.0.0.1' identified by 'zabbix'; ##创建Zabbix用户并分配权限
mysql> grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';
mysql> flush privileges; ##刷新权限
mysql> set names utf8; ##设置字符集
mysql> use zabbix ##切换到Zabbix库中
把源码/usr/local/zabbix/database/mysql/安装路径下的3个sql文件导入数据库:
mysql> source /usr/local/zabbix/database/mysql/schema.sql
mysql> source /usr/local/zabbix/database/mysql/data.sql
mysql> source /usr/local/zabbix/database/mysql/images.sql
mysql> show tables; ##查看导入的表格
编辑Zabbix server的配置(记得先备份配置文件)
# cp /usr/local/zabbix/etc/zabbix_server.conf{,.bak}
# vi /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBHost=127.0.0.1 ##指定数据库信息(需配合参数 DBSocket 使用)
DBName=zabbix ##服务端连接数据库的库名
DBUser=zabbix ##连接数据库的用户
DBPassword=zabbix ##连接数据库的密码
DBPort=3306 ##指定连接数据库的端口
Timeout=30 ##与AGNET和其它外部设备通信超时设置,单位为秒
LogSlowQueries=3000 ##用于服务端数据库慢查询功能,单位是毫秒
DBSocket=/tmp/mysql.sock ##指定MYSQL的SOCK连接路径
修改zabbix目录的权限
# chown zabbix:zabbix -R /usr/local/zabbix/
重启服务生效
# systemctl restart zabbix_server
zabbix web界面部署
任务实施
配置nginx虚拟主机
# vi /usr/local/nginx/conf/vhost/zabbix.com.conf
server
{
listen 80;
server_name zabbix.com www.zabbix.com;
index index.html index.htm index.php;
root /data/nginx/zabbix; ##Zabbix Web界面数据目录
location ~ [^/]\.php(/|$)
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/nginx/zabbix$fastcgi_script_name;
include fastcgi_params;
}
}
源码安装包路径下的文件cp到Zabbix Web文件目录当中:
# mkdir -p /data/nginx/zabbix
# /etc/init.d/nginx reload ##生效服务
# cp -rf /usr/local/zabbix/frontends/php/* /data/nginx/zabbix
修改php.ini的配置文件
# vi /usr/local/php/etc/php.ini
post_max_size = 32M
max_execution_time = 350
max_input_time = 350
date.timezone = Asia/Shanghai
修改php-fpm.conf的配置文件
# vi /usr/local/php/etc/php-fpm.conf
[www]
listen = 127.0.0.1:9000
重启php-fpm服务:
/etc/init.d/php-fpm restart
检查端口是否启动:
# netstat -lntp | grep php
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 2141/php-fpm: maste
web界面部署安装:
检查安装条件:(根据提示解决不满足条件的问题!)
配置数据库连接信息:
配置Zabbix服务端详细信息:
安装前确认信息:
安装报错:
根据提示下载,并把它放到指定路径/data/nginx/zabbix/conf/zabbix.conf.php
重新刷新界面:
登录界面:(账号:Admin 密码:zabbix)
登录后界面:
zabbix客户端部署
任务实施
下载zabbix客户端安装包
# yum -y install wget
# wget http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.3-1.el7.x86_64.rpm
安装zabbix客户端
# rpm -ivh zabbix-agent-4.0.3-1.el7.x86_64.rpm
备份配置文件:
# cp /etc/zabbix/zabbix_agentd.conf{,.bak}
# egrep -v '^$|#' /etc/zabbix/zabbix_agentd.conf.bak > /etc/zabbix/zabbix_agentd.conf
修改配置文件
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0 ##指定日志文件的大小,单位MB。0表示禁用日志轮转
ListenPort=10050 ##指定监听端口
StartAgents=3 ##Zabbix启动之后开启被动监控的进程数量,如果设置 为0,那么Zabbix被动监控被禁用
ListenIP=0.0.0.0 ##监听IP地址,默认为所有接口
Server=192.168.100.30 ##允许哪个Zabbix server的IP地址监控本机
#ServerActive=192.168.100.30 ##Zabbix 主动监控server的ip地址
Hostname=zabbix agent
Include=/etc/zabbix/zabbix_agentd.d/*.conf ##自定义配置文件
重启生效配置:
# systemctl restart zabbix-agent
查看日志:
# tail -f /var/log/zabbix/zabbix_agentd.log
查看端口10050是否启动:
# netstat -lntp | grep zabbix