alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控
一、环境
zabbix所在服务器系统为alma8,zabbix6要求的mariadb版本为10.5-10.6,同时zabbix提供了zabbix-selinux-policy来配置selinux,所以安装中也不再要求关闭selinux。
二、安装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.rpm
dnf 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 = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.6/centos8-amd64
module_hotfixes=1
gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
安装数据库、启动、并设置开机启动
dnf clean all
dnf install mariadb-server
systemctl 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 --permanent
firewall-cmd --permanent --add-port=10050-10051/tcp
firewall-cmd --reload
firewall-cmd --list-ports
firewall-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-release
dnf -y install python2-pip
pip2 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 logging
logging . 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=' + appsecret
req = requests . get ( token_url )accesstoken = req . json ()[ 'access_token' ]msgsend_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + accesstoken
touser = sys . argv [ 1 ]subject = sys . argv [ 2 ]#toparty='3|4|5|6'message = sys . argv [ 2 ] + " nn " + 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.log
chown 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管理员组
仅送到weixin
Custom 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=windows
C:Program FilesZabbix Agent 2zabbix_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/config
setenforce 0
echo "下载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.rpm
yum clean all
yum remove zabbix-agent -y
yum install zabbix-agent2 -y
echo "修改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.conf
sed -i "s/^ServerActive=127.0.0.1/ServerActive=${zabbix_server}/g" /etc/zabbix/zabbix_agent2.conf
sed -i "s/Hostname=Zabbix server/Hostname=${hostname}/g" /etc/zabbix/zabbix_agent2.conf
sed -i "s/# HostMetadata=/HostMetadata=linux/g" /etc/zabbix/zabbix_agent2.conf
echo "防火墙放行zabbix-agent端口"
firewall-cmd --permanent --add-port=10050-10051/tcp
firewall-cmd --reload
echo "启动zabbix-agent服务"
systemctl enable --now zabbix-agent2
zabbixagentpid=`ps -ef |grep zabbix_agent2|grep -w 'zabbix_agent2'|grep -v 'grep'|awk '{print $2}'`
if [ "$zabbixagentpid" ];then
echo "zabbix agent2 正在运行 "
else
echo "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 v2c
snmp-agent community read public
snmp-agent community write private
snmp-agent trap enable
snmp-agent target-host trap address udp-domain 192.168.1.110 params securityname public v2c
snmp-agent
3、查找MIB
H3C常用MIB
https://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.0
SN 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
八、总结
功能强大、简单方便、干净卫生
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
水月鏡花
校验提示文案
苏言论
大妈真的越来越强,购物达人、技术宅人、专业达人一个不错过。
校验提示文案
修车的黑马胖子
校验提示文案
戒饕
校验提示文案
guoduo
校验提示文案
繁星119
校验提示文案
kxbs
校验提示文案
njack
校验提示文案
热心市民石先生
校验提示文案
嘉语
校验提示文案
ccniubi
校验提示文案
mxssc3k
校验提示文案
我修改不了昵称
校验提示文案
abcdocker运
校验提示文案
拱白菜的老猪
校验提示文案
拱白菜的老猪
校验提示文案
abcdocker运
校验提示文案
我修改不了昵称
校验提示文案
mxssc3k
校验提示文案
ccniubi
校验提示文案
嘉语
校验提示文案
热心市民石先生
校验提示文案
njack
校验提示文案
kxbs
校验提示文案
繁星119
校验提示文案
水月鏡花
校验提示文案
guoduo
校验提示文案
戒饕
校验提示文案
苏言论
大妈真的越来越强,购物达人、技术宅人、专业达人一个不错过。
校验提示文案
修车的黑马胖子
校验提示文案