高清的交换机监控
作者:王忘杰
一、环境
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] New password: Re-enter new password: Remove anonymous users? [Y/n] Disallow root login remotely? [Y/n] Remove test database and access to it? [Y/n] 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
八、总结
功能强大、简单方便、干净卫生
闾牧琦3429高清监控系统的各种交换机怎么选择 -
蔡春胀19541729993 ______ 千兆铁壳交换机,大牌子的都行,实际录像机很多是不到100兆的.
闾牧琦342916路300万像素监控需要多大转发率的交换机 -
蔡春胀19541729993 ______ 高清监控,就用24口全千兆交换机即可.背板带宽可以不用去计算.确保接口速率是千兆的就行了!
闾牧琦3429高清网络摄像机怎么设置远程监控 -
蔡春胀19541729993 ______ 高清网络摄像机设置远程有3种方式: 1、网络摄像机是和硬盘录像机链接,这时只要设置录像机的远程就可以,通过手机或者电脑就可以观看录像机的所有画面.一般像海视嘉的录像机都有 二维码,只要扫描安装软件,在添加硬盘录像机的序列号就可以. 2、高清网络摄像机直接连接路由器,不通过录像机.那么就需要下载网络摄像机的APP到手机,然后添加网络摄像机的序列号就OK. 3、网络摄像机直接连接路由器,不存储,那么手机下载APP就可以,只要保证网络摄像机正常工作,就可以实现远程监控.
闾牧琦3429波粒网络高清摄像机怎样做手机远程监控!! -
蔡春胀19541729993 ______ 网络摄像机的安装与远程监控步骤: 1、首先把网络摄像机安装好,通过网线连接到交换机,网络摄像机连接的好处就是不需要每条网线都必须要统一在一个交换机上(比如:需要在远处装一个摄像机,如果要装十个摄像机那么传统摄像机是必...
闾牧琦3429数字监控摄像头选择什么交换机 -
蔡春胀19541729993 ______ 普通监控摄像机是不能直接接到交换机的. 要把监控图像通过交换机上网,你可以选择: 1、带有网络功能的嵌入式录像机,或者采集卡+pc组成一台录像机 2、网络摄像机或者摄像机+网络视频服务器
闾牧琦34293个数字摄像机+数字录像机+显示器+交换机,在没有宽带情况下可以用吗?是不是只要有数字录像机就不需 -
蔡春胀19541729993 ______ 展开全部1、朋友,首先肯定的告诉你,监控系统分模拟监控和数字监控(及网络高清监控),模拟监控可以不用交换机,数字监控必须用交换机.2、供电问题,如果你用POE供电的网络摄像机,则必须同时配POE供电的交换机,这样的话摄...
闾牧琦3429求推荐高清网络监控系统 -
蔡春胀19541729993 ______ 1. 目前主流网络高清摄像机都能白天黑夜高清,品牌推荐海康威视,包括以下其他产品均推荐海康威视,不解释. 2. 监控范围无死角,只能根据现场设计安装位置,选择不同的镜头,增加摄像机数量来实现. 3. 用硬盘存储90天以上,结合你下面说的50路,需要硬盘容量在90-100T,这个可以用4台16路录像机,也可以用磁盘阵列来实现. 4. 有线连接都能实现,无线连接目前不适用——传输不稳定,易受干扰,不推荐无线,一定要用无线的话推荐利用网桥传输. 5. 纯监控系统,安装起来都不会很麻烦,放放线就好了. 6. 50路不是问题,500路也能实现,就是花钱增加设备
闾牧琦3429监控怎么连接电脑 - 监控摄像头和电脑连接图解
蔡春胀19541729993 ______ 监控摄像头和电脑连接图解1.如果是配备有USB接口的摄像头只需要将USB接入电脑,并下载相应的驱动和视频软件即可查看使用,或者是在聊天软件中调用;2.如果是监...
闾牧琦3429安装8路720P高清网络摄像机对电脑配置和网络交换器有啥要求? -
蔡春胀19541729993 ______ 现在的一般配置的家用电脑都可以胜任,网络最少得4M,才能说比较稳定.如果想外网看实时视频的话那就不要用电信的宽带, 电信的宽带上传很小的,肯定不能看高清晰的实时视频.联通和移动的宽带不像电信的宽带把上传给弄很低.
闾牧琦3429网络监控需要什么设备?怎么安装 -
蔡春胀19541729993 ______ 网络摄像机+摄像机支架 网络摄像机又称IPC,IP Camera,是视频图像采集的主要设备,网络摄像机与模拟摄像机的主要区别是清晰度,网络摄像机的分辨率较高,可以达到高清效果,网络摄像机的分辨率有100万像素,130万像素,200万像素...