Zabbix-agent主被动
主动、被动模式是对于zabbix-agent端来说的。主动模式指zabbix-server提供一份监控清单,zabbix-agent主动把监控取值项传给zabbix-server。被动模式指zabbix-server主动去zabbix-server端取监控值。
通过web前端可以看到主动模式的最新取值都是同一时间的取到的,可以理解成agent端先缓存数据,然后一并传给server端的,这样可以提高传输性能。所以,推荐使用主动模式。
被动模式
创建监控项的时候默认是Zabbix客户端(Passive)
vi /etc/zabbix/zabbix_agentd.conf
# 被动模式只要修改Server
Server=192.168.66.100
主动模式
修改配置文件
vi /etc/zabbix/zabbix_agentd.conf
# 主动模式配置
ServerActive=192.168.66.100
Hostname=92.168.66.101-active # 本机hostname
# 重启zabbix-agent
systemctl restart zabbix-agent.service
前台配置
创建监控项的时候类型改成Zabbix客户端(主动式),Hostname定义的名称必须和前台web定义的主机名称一致,不然取不到值。
自动发现
zabbix-server通过ip访问每个agent的10050端口来实现批量添加。因此需要有两个条件,安装zabbix-agent,修改配置文件Server,且10050端口开放。web前台需要配置2处。
配置自动发现规则:
配置:触发动作
添加完成
自动注册
可以类比Zabbix-agent主被动模式, 自动发现是Zabbix-server端去轮询访问agent端,自动注册是zabbix-agent端主动去给server端发送请求。同样的,自动注册的性能高于自动发现,推荐使用。
zabbix-agent端
# 修改配置文件/etc/zabbix/zabbix_agentd.conf
grep -Ev '^$|#' /etc/zabbix/zabbix_agentd.conf # 截取部分
Server=192.168.66.100
ServerActive=192.168.66.100
Hostname=192.168.66.101-shop
HostMetadata=web-shop
前台web界面端
主机数据源需要根据agent配置文件中
刷新一下主机就可以了
版本升级(Zabbix4.0升级到5.0)
https://www.zabbix.com/documentation/5.0/manual/installation/upgrade_notes_500
通过官方升级文档得知,升级zabbix5.0要求:
1、php7.2以上版本
2、最低数据库版本已提高至:
- MySQL 5.5.62
- MariaDB 10.0.37
- PostgreSQL 9.2.24
- Oracle 11.2
# 备份zabbix
mkdir -p /home/bak/zabbix_bak
cp /etc/zabbix/zabbix_server.conf /home/bak/zabbix_bak
cp /etc/zabbix/zabbix_agentd.conf /home/bak/zabbix_bak
cp /etc/zabbix/web/zabbix.conf.php /home/bak/zabbix_bak
cp –R /usr/share/doc/zabbix-* /home/bak/zabbix_bak
# 备份数据库
mkdir -p /home/bak/mariadb
mysqldump -uroot -p --all-databases > /home/bak/mariadb/db.sql
cp /etc/my.cnf /etc/my.cnf.bak
# 卸载zabbix老版本
rpm -e zabbix-release && yum remove -y zabbix-web-* httpd
# 下载国内zabbix5.0源
rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# 替换zabbix的yum源
sed -i.bak 's#http://repo.zabbix.com#https://mirrors.tuna.tsinghua.edu.cn/zabbix#g' /etc/yum.repos.d/zabbix.repo
# yum缓存更新
yum clean all && yum makecache
# 升级
yum install -y zabbix-server zabbix-agent
# 安装zabbix前端包
yum install -y centos-release-scl scl-utils-build
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
# 配置php
vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
# 启动、开机自启
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
刷新页面就可以看到升级了,升级期间可能会造成部分数据未入库。
web检测
web检测的主要功能是通过模拟curl去发起http请求来判断web界面的一些情况,通过相应的状态码来判断web界面的可用性,从而达到监控的作用。
创建web检测
设置监控场景
设置监控步骤,主要包括get请求,post请求两类,如下
get请求:
post请求
# 请求地址和请求内容
http://192.168.66.100/zabbix/index.php
name=Admin&password=zabbix&autologin=1&enter=Sign+in