理论部分:
Zabbix 介绍:
Zabbix 由 Alexei Vladishev 创建,目前由其成立的公司—— Zabbix SIA 积极的持续开发更新维护, 并为用户提供技术支持服务。
Zabbix 支持主动轮询(polling)和被动捕获(trapping)。Zabbix所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问。基于 Web 的前端页面确保您可以在任何地方访问您监控的网络状态和服务器健康状况。适当的配置后,Zabbix 可以在监控 IT 基础设施方面发挥重要作用。无论是对于有少量服务器的小型组织,还是拥有大量服务器的大企业而言,同样适用。
zabbix两大模式:
zabbix主动模式和被动模式配置在于agent客户端配置不同
主动模式:zabbix agent客户端主动发送信息给zabbix server端
被动模式:zabbix server定时的通过连接zabbix agent客户端的10050端口进行通信,获取agent客户端信息
在配置文件里修改:
StartAgents=1 #开启被动模式
StartAgents=0 # 关闭被动模式,开启主动模式,此时agent客户端不会监听10050端口
ServerActive=10.0.0.64 #zabbix server端的ip
注意:zabbix6.0必须要MySQL8.0或更高版本和PHP7.2.5或更高版本,不能超过PHP8.0
实验部分:
准备环境
两台centos7,zabbix6.0.5.tar.gz,lnmp
实验步骤
先上传必要的包百度网盘 提取码8wqu
搭建本地时间服务器
#下载ntp
yum install -y ntp
#修改配置文件
sed -i '/^server/ s/^/#/g' /etc/ntp.conf
cat <<END>> /etc/ntp.conf
restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap
server 192.168.100.1
server 127.127.1.0
fudge 127.127.1.0 stratum 5
END
#重启ntp
systemctl restart ntpd
systemctl enable ntpd
安装依赖包
yum -y install libxml2 libxml2-devel
将zabbix依赖包移动到/mnt/
修改yum仓库,注释掉原有的,添加zabbix
清除缓存
yum clean all
再次安装依赖
yum -y install net-snmp net-snmp-devel libcurl-devel libevent libevent libevent-devel curl curl-devel mysql-devel perl-DBI httpd gcc* net-snmp libssh2 libssh2-devel mysql-community-server mysql php72w-cli php72w-common php72w-gd php72w-ldap php72w-mbstring php72w-mysqlnd php72w-xml php72w-bcmath mod_php72w
查看各个l版本
开启MySQL和httpd
#开启并设置开机自启
systemctl enable mysqld --now
systemctl enable httpd --now
MySQL8.0以上版本有初始密码,他的密码在/var/log/mysqld.log
登录mysql并修改密码
Enter输入初始密码
New 输入新的密码,mysql8.0的密码必须有字母大小写,数字,字符,这里我写的是Nihao123!
confirm是确认密码
mysql -u root -p
#输入密码
Nihao123!
查一下数据库内容
解压zabbix-6.0.5.tar.gz
#解包
tar xf zabbix-6.0.5.tar.gz
#进入zabbix6.0.5
cd zabbix-6.0.5
#配置
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
#编译安装
make &&make install
创建用户
#创建组账号
groupadd zabbix
#创建用户
useradd -r -g zabbix zabbix
进入mysql进行授权
#进入mysql
mysql -uroot -pNihao123!
#创建zabbix库
create database zabbix character set utf8 collate utf8_bin;
#进入zabbix
use zabbix
#设置来源路径,可以理解为导入数据库
source /root/zabbix-6.0.5/database/mysql/schema.sql;
source /root/zabbix-6.0.5/database/mysql/images.sql;
source /root/zabbix-6.0.5/database/mysql/data.sql;
#创建zabbix用户
create user zabbix@'192.168.100.%' identified by "Nihao123!";
#授权
grant all on zabbix.* to zabbix@'192.168.100.%' with grant option;
#刷新
flush privileges;
zabbix-server配置
#创建日志文件
mkdir /usr/local/zabbix/logs
#修改属主和属组
chown zabbix:zabbix /usr/local/zabbix/ -R
#编辑zabbix-server的配置文件
vim /usr/local/zabbix/etc/zabbix_server.conf
#删除注释行和空行
:%g/^#/d
:%g/^$/d
#修改
LogFile=/usr/local/zabbix/logs/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBHost=192.168.100.6
DBName=zabbix
DBUser=zabbix
DBPassword=Nihao123!
DBSocket=/var/lib/mysql/mysql.sock
Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1,192.168.100.6
zabbix-agent配置
#编辑agent配置文件
vim /usr/local/zabbix/etc/zabbix_agentd.conf
:%g/^#/d
:%g/^$/d
#修改
#运行的PID文件
PidFile=/tmp/zabbix_agentd.pid
#输入zabbix_server主机的ip地址
Server=192.168.100.6
#输入本机的主机名
Hostname=server.zabbix.com
#指定日志文件
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
#开启附加配置文件目录
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
启动查看
/usr/local/zabbix/sbin/zabbix_server
/usr/local/zabbix/sbin/zabbix_agentd
netstat -utpln |grep 10051
netstat -utpln |grep 10050
设置web
#将UI页面移动到/var/www/html/zabbix
mv /root/zabbix-6.0.5/ui /var/www/html/zabbix
#设置属主和属组
chown -R apache:apache /var/www/html/zabbix/
chown -R apache:apache /var/lib/php/session
#编辑PHP配置文件
vim /etc/php.ini
#878行添加
date.timezone = Asia/Shanghai
#656行修改
post_max_size = 16M
#368行修改
max_execution_time = 300
#378行修改
max_input_time = 300
重启httpd服务
systemctl restart httpd
浏览器访问(注意防火墙):
在浏览器访问192.168.100.6/zabbix
这里选择中文
全是OK就下一步,如果有不是OK的如没有达到最低要求的,到/etv/php.int中修改相应的参数
数据库主机写本机ip,密码写在数据库授权的密码
如果连不上,如下图:
#修改配置文件
vi /etc/my.cnf
#在mysqld中插入一行
[mysqld]
default-authentication-plugin=mysql_native_password
#重启mysqld
systemctl restart mysqld
#进入mysql
mysql -u root -pNihao123!
#进入mysql库
use mysql
#修改授权
ALTER USER 'zabbix'@'192.168.100.%' IDENTIFIED WITH mysql_native_password BY 'Nihao123!';
#刷新权限
flush privileges;
做完以上配置,刷新页面即可
主机名称随便写
下一步
默认账号是Admin
密码是zabbix
到这里就安装完成了
想修改语言的话,在 User settings下的profile中
还有一个小bug,就是图形里有乱码,解决方法
在/var/www/html/zabbix/assets/fonts中,将原有的.ttf文件改名,再将自己准备的.ttf文件上传到此目录,并把名称改为原有.ttf的名称
授权
刷新浏览器页面,就已经不乱码了