alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控

2022-06-27 21:58:18 22点赞 224收藏 15评论

一、环境
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

alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控



alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


注意,mariadb也属于mysql数据库类型

alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控



alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控



alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控



alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


2、登录zabbix
账号Admin 密码zabbix

alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


前端配置完成

alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


请务必修改密码

alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


四、企业微信消息推送
1、在企业微信 - 我的企业 - 企业信息 - 企业ID

alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


2、创建zabbix机器人应用
企业微信后台 - 应用管理 - 应用 - 创建应用

alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


3、查看Agentld和Secret

alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


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}


alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


6、配置Trigger actions触发动作,启用消息推送管理员,填写要发送的信息
配置 - 动作 Trigger actions - 创建动作

alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


在 动作 中填写名称
在 操作 中编辑操作和恢复操作

操作
发送消息
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}


alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控



alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控



alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


7、配置Autoregistration actions自动注册,填写要发送的信息
在Autoregistration actions自动注册中
注意:自动注册的其他内容在下方linux、windows部分

发送消息
zabbix管理员组
仅送到weixin
Custom message
主题:
Linux主机自动注册到zabbix服务器
消息:

主机名:{HOST.HOST}
主机IP:{HOST.IP}
Agent端口:{HOST.PORT}


alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控



alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


8、接收微信推送人员
管理-用户-报警媒介

alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


五、自动注册windows主机
平台 - 配置 - 动作 - Autoregistration actions自动注册

alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


创建动作

元数据中的 Linux 为下方脚本里的 HostMetadata=windows 严格区分大小写

alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


操作
添加主机
添加主机群组
关联模板


alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


下载安装agent2客户端
https://www.zabbix.com/cn/download_agents
最新版本为 Zabbix agent 2 v6.0.5


alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


修改配置 HostMetadata=windows
C:Program FilesZabbix Agent 2zabbix_agent2.conf

alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


重启服务

alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


收到自动注册提示

alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


六、自动注册linux主机
zabbix平台自动注册linux与windows方法基本相同,元数据修改为linux

alma8飞速搭建zabbix6、微信报警、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使用率记录

alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


新建触发器,即可实现CPU使用率报警
前5次报警值均超过80时进行CPU使用率过高报警

alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


最终效果

alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控



alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控


其他参数:

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

八、总结
功能强大、简单方便、干净卫生

alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控



作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

微软 (Microsoft) Office 365 家庭版/个人版 激活密钥 1年订阅 正版办公软件 店铺至尊指导服务+M365家庭版加强版-15个月

微软 (Microsoft) Office 365 家庭版/个人版 激活密钥 1年订阅 正版办公软件 店铺至尊指导服务+M365家庭版加强版-15个月

暂无报价

Micropoint 东方微点 网络版 杀毒软件

Micropoint 东方微点 网络版 杀毒软件

20000元起

Microsoft 微软 OFFICE 365 家庭版 会员

Microsoft 微软 OFFICE 365 家庭版 会员

239元起

《国家地理 每日精选》iOS数字版软件

《国家地理 每日精选》iOS数字版软件

暂无报价

《Picsew》iOS数字版软件

《Picsew》iOS数字版软件

暂无报价

Microsoft 微软 Office 365 个人版

Microsoft 微软 Office 365 个人版

219元起

Microsoft 微软 Office 2019 家庭学生版 密钥

Microsoft 微软 Office 2019 家庭学生版 密钥

189元起

WPS 金山软件 会员季卡

WPS 金山软件 会员季卡

19元起

WPS 金山软件 WPS 超级会员 3年卡

WPS 金山软件 WPS 超级会员 3年卡

399元起

《kirakira+》 iOS软件

《kirakira+》 iOS软件

暂无报价

《DARK SOULS III》(黑暗之魂3 )PC数字版游戏

《DARK SOULS III》(黑暗之魂3 )PC数字版游戏

暂无报价

《扫描全能王付费版》iOS数字版软件

《扫描全能王付费版》iOS数字版软件

暂无报价

WPS 金山软件会员 2年卡

WPS 金山软件会员 2年卡

149元起

《拍照取字 专业版》iOS数字版软件

《拍照取字 专业版》iOS数字版软件

暂无报价

Microsoft 微软 OFFICE 365 个人版 办公软件

Microsoft 微软 OFFICE 365 个人版 办公软件

249元起

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

269元起
15评论

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
224
扫一下,分享更方便,购买更轻松