二、安装zabbix官方安装帮助页面https://www.zabbix.com/cn/download
1、配置zabbix 软件源
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpmdnf clean all
2、安装zabbix-server和zabbix-agent2

dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent2
3、安装数据库配置mariabd源 /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.6 CentOS repository list - created 2022-06-05 01:39 UTC# https://mariadb.org/download/[mariadb]name = MariaDBbaseurl = https://mirrors.aliyun.com/mariadb/yum/10.6/centos8-amd64module_hotfixes=1gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDBgpgcheck=1
安装数据库、启动、并设置开机启动
dnf clean alldnf install mariadb-serversystemctl enable --now mariadb
4、进行MariaDB数据库初始化mysql_secure_installation
首先是设置密码,会提示先输入密码Enter current password for root (enter for none):<–初次运行直接回车Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车New password: <– 设置root用户的密码Re-enter new password: <– 再输入一次你设置的密码Remove anonymous users? [Y/n] <– 是否删除匿名用户Disallow root login remotely? [Y/n] <–是否禁止root远程登录Remove test database and access to it? [Y/n] <– 是否删除test数据库Reload privilege tables now? [Y/n] <– 是否重新加载权限表
5、初始化并导入zabbix数据库 mysql -uroot -p登录
mariadb> create database zabbix character set utf8mb4 collate utf8mb4_bin;mariadb> create user zabbix@localhost identified by 'password123';mariadb> grant all privileges on zabbix. to zabbix@localhost;mariadb> quit;
导入初始架构和数据,系统将提示您输入新创建的密码
zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
6、配置数据库密码编辑配置文件 /etc/zabbix/zabbix_server.conf
DBPassword=password123
7、配置PHP时区编辑配置文件 /etc/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
8、启动并设置开机启动
systemctl enable --now zabbix-server zabbix-agent2 httpd php-fpm
9、查看是否有缺点信息
cat /var/log/zabbix/zabbix_server.log
10、防火墙开放端口
firewall-cmd --add-port=80/tcp --permanentfirewall-cmd --permanent --add-port=10050-10051/tcpfirewall-cmd --reloadfirewall-cmd --list-portsfirewall-cmd --list-services
11、更换zabbix自带字体,办理中文乱码百度下载Noto Sans S Chinese字体更换掉默认利用的DejaVuSans
cp NotoSansSC-Regular.otf /usr/share/fonts/dejavu/DejaVuSans.ttf
12、调度zabbix缓存/etc/zabbix/zabbix_server.conf
CacheSize=1G
13、调度ping进程数/etc/zabbix/zabbix_server.conf
StartPingers=16
三、做事端配置1、连接到新安装的Zabbix前端: http://server_ip/zabbix
把稳,mariadb也属于mysql数据库类型
2、登录zabbix账号Admin 密码zabbix
前端配置完成
请务必修正密码
四、企业微信推送1、在企业微信 - 我的企业 - 企业信息 - 企业ID
2、创建zabbix机器人运用企业微信后台 - 运用管理 - 运用 - 创建运用
3、查看Agentld和Secret
4、准备zabbix机器人脚本环境
dnf -y install epel-releasednf -y install python2-pippip2 install requests
查询脚本存放位置cat /etc/zabbix/zabbix_server.conf | grep AlertScript可以看到脚本存放在/usr/lib/zabbix/alertscripts目录中
编写脚本 weixin.py并放入上面的目录 ,填入上面得到的三个值
#!/usr/bin/env python2#-- coding: utf-8 --import requestsimport sysimport osimport jsonimport logginglogging . basicConfig ( level = logging . DEBUG , format = ' %(asctime)s , %(filename)s , %(levelname)s , %(message)s ' ,datefmt = ' %a , %d %b %Y %H:%M:%S' ,filename = os . path . join ( '/tmp' , 'weixin.log' ),filemode = 'a' )corpid = 'ww36e'appsecret = '5yFNqeTjrr3I'agentid = 1000002token_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + appsecretreq = requests . get ( token_url )accesstoken = req . json ()[ 'access_token' ]msgsend_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + accesstokentouser = sys . argv [ 1 ]subject = sys . argv [ 2 ]#toparty='3|4|5|6'message = sys . argv [ 2 ] + " \n\n " + sys . argv [ 3 ]params ={"touser" : touser ,# "toparty": toparty,"msgtype" : "text" ,"agentid" : agentid ,"text" : {"content" : message},"safe" : 0}req = requests . post ( msgsend_url , data = json . dumps ( params ))logging . info ( 'sendto:' + touser + ';;subject:' + subject + ';;message:' + message )
授予实行权限chmod +x /usr/lib/zabbix/alertscripts/weixin.py
创建日志文件
touch /tmp/weixin.logchown zabbix:zabbix /tmp/weixin.log
测试脚本,用户名为企业微信通讯录中的用户名,一样平常为拼音全拼,严格区分大小写!
/usr/lib/zabbix/alertscripts/weixin.py 用户名 '标题' '测试成功'
此时企业微信可以收到zaabix运用发来的信息。
5、添加报警媒介zabbix后台 - 管理 - 报警媒介类型名称 weixin类型 脚本脚本名称 weixin.py脚本参数:
{ALERT.SENDTO}{ALERT.SUBJECT}{ALERT.MESSAGE}
6、配置Trigger actions触发动作,启用推送管理员,填写要发送的信息配置 - 动作 Trigger actions - 创建动作
在 动作 中填写名称在 操作 中编辑操作和规复操作
操作发送zabbix管理员组仅发送到微信custom message主题:做事器报警:
告警主机:{HOST.NAME}告警地址:{HOST.IP}监控项目:{ITEM.NAME}监控取值:{ITEM.LASTVALUE}告警等级:{TRIGGER.SEVERITY}当前状态:{TRIGGER.STATUS}告警信息:{TRIGGER.NAME}告警韶光:{EVENT.DATE} {EVENT.TIME}事宜ID:{EVENT.ID}
规复操作关照所有参与者custom message主题:做事器已规复:
告警主机:{HOST.NAME}告警地址:{HOST.IP}监控项目:{ITEM.NAME}监控取值:{ITEM.LASTVALUE}告警等级:{TRIGGER.SEVERITY}当前状态:{TRIGGER.STATUS}告警信息:{TRIGGER.NAME}告警韶光:{EVENT.DATE} {EVENT.TIME}事宜ID:{EVENT.ID}
7、配置Autoregistration actions自动注册,填写要发送的信息在Autoregistration actions自动注册中把稳:自动注册的其他内容不才方linux、windows部分
发送zabbix管理员组仅送到weixinCustom message主题:Linux主机自动注册到zabbix做事器:
主机名:{HOST.HOST}主机IP:{HOST.IP}Agent端口:{HOST.PORT}
8、吸收微信推送职员管理-用户-报警媒介
五、自动注册windows主机平台 - 配置 - 动作 - Autoregistration actions自动注册
创建动作
元数据中的 Linux 为下方脚本里的 HostMetadata=windows 严格区分大小写
操作添加主机添加主机群组关联模板
下载安装agent2客户端https://www.zabbix.com/cn/download_agents最新版本为 Zabbix agent 2 v6.0.5
修正配置 HostMetadata=windowsC:\Program Files\Zabbix Agent 2\zabbix_agent2.conf
重启做事
收到自动注册提示
六、自动注册linux主机zabbix平台自动注册linux与windows方法基本相同,元数据修正为linux
在linux客户端上可以利用自动化脚本安装zabbix agent2客户端
我这里仅放一个centos7/8的安装脚本,内容为卸载agent1安装agent2
#/bin/bashecho "关闭selinux"sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/configsetenforce 0echo "下载zabbix-agent2,卸载agent1"OSVERSION=`cat /etc/redhat-release |awk -F "release " '{print $2}'|awk -F "." '{print $1}'`rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/$OSVERSION/x86_64/zabbix-release-6.0-1.el$OSVERSION.noarch.rpmyum clean allyum remove zabbix-agent -yyum install zabbix-agent2 -yecho "修正zabbix-agent2配置文件"ipaddr=$(ip a show |grep ens|grep inet |awk '{print $2}'|awk -F '/' '{print $1}')zabbix_server='192.168.1.110'hostname=$(hostname)sed -i "s/^Server=127.0.0.1/Server=${zabbix_server}/g" /etc/zabbix/zabbix_agent2.confsed -i "s/^ServerActive=127.0.0.1/ServerActive=${zabbix_server}/g" /etc/zabbix/zabbix_agent2.confsed -i "s/Hostname=Zabbix server/Hostname=${hostname}/g" /etc/zabbix/zabbix_agent2.confsed -i "s/# HostMetadata=/HostMetadata=linux/g" /etc/zabbix/zabbix_agent2.confecho "防火墙放行zabbix-agent端口"firewall-cmd --permanent --add-port=10050-10051/tcpfirewall-cmd --reloadecho "启动zabbix-agent做事"systemctl enable --now zabbix-agent2zabbixagentpid=`ps -ef |grep zabbix_agent2|grep -w 'zabbix_agent2'|grep -v 'grep'|awk '{print $2}'`if [ "$zabbixagentpid" ];thenecho "zabbix agent2 正在运行 "elseecho "zabbix agent2 安装失落败!
!
!
"fi
七、通过SNMP监控交流机1、为zabbix添加SNMPv2模板SNMPv2模板下载https://share.zabbix.com/templates/network-devices-fortigate-template-fortinet-all-discovery/#body
2、交流机配置snmpv2
snmp-agent sys-info version v2csnmp-agent community read publicsnmp-agent community write privatesnmp-agent trap enablesnmp-agent target-host trap address udp-domain 192.168.1.110 params securityname public v2csnmp-agent
3、查找MIBH3C常用MIBhttps://www.h3c.com/cn/Service/Document_Software/TechnicalInfo/PorductMaintanInfo/Switches/DailyMainten/MIBList/
4、安装snmp调试工具并进行测试
dnf -y install net-snmp-utils
snmpwalk为模糊测试
snmpwalk -v 2c -c public 192.168.237.50 .1.3.6.1.4.1.2021.10.1.3
snmpget是zabbix的精准获取办法
snmpget -v 2c -c public 192.168.237.50 .1.3.6.1.4.1.2021.10.1.3
5、举例如S5130 CPU利用率,查询H3C手册为 1.3.6.1.4.1.25506.8.35.18.1.3利用
snmpwalk -v 2c -c public 192.168.237.50 1.3.6.1.4.1.25506.8.35.18.1.3
后返回
SNMPv2-SMI::enterprises.25506.8.35.18.1.3.0 = INTEGER: 16
得知末了多一位.0
利用
snmpget -v 2c -c public 192.168.237.50 1.3.6.1.4.1.25506.8.35.18.1.3.0
得到结果相同,则此项为s5130型号的CPU利用率
在zabbix新建监控项,即可实现CPU利用率记录
新建触发器,即可实现CPU利用率报警前5次报警值均超过80时进行CPU利用率过高报警
终极效果
其他参数:
CPU利用率 1.3.6.1.4.1.25506.8.35.18.4.3.1.4.0.1内存利用率 1.3.6.1.4.1.25506.8.35.18.1.16.0固件版本 1.3.6.1.2.1.1.1.0开机韶光 1.3.6.1.2.1.1.3.0SN 1.3.6.1.4.1.25506.2.6.1.2.1.1.2.2温度 1.3.6.1.4.1.25506.2.6.1.1.1.1.12.212
八、总结功能强大、大略方便、干净卫生