zabbix-高级应用(主被动监控、邮件告警、企业微信告警)

news2024/12/23 6:58:15

文章目录

  • zabbix-高级应用
  • 监控路由器交换机
      • SNMP简单网络管理协议
      • 测试案例
        • 配置网络设备
        • 创建主机
        • 创建监控项
        • 测试监控项
  • 自动发现
    • 什么是自动发现Discovery?
    • 配置自动发现
      • 1、创建自动发现规则
      • 2、创建Action动作(发现主机后自动执行什么动作)
      • 3、通过动作,执行添加主机,链接模板到主机等操作
      • 4、测试,创建新的虚拟机(符合发现规则)
  • 主被动监控
    • 1、概述
    • 2、创建被监控主机(主动监控)并修改配置
    • 3、zabbix\_server设置
        • 1)克隆已有模版
        • 2)修改监控项模式
        • 3)添加监控主机
        • 4)为主机添加监控模版
        • 5)查看监控数据
  • 创建拓扑图
  • 邮件告警
      • 事件通知机制
      • 准备邮件收发环境
      • 邮件告警关键配置
        • 1、报警媒介类型(谁负责发送告警邮件、如何发送)
        • 2、报警媒介(告警邮件发送给谁)
        • 3、创建触发器
        • 4、创建动作
      • 验证邮件告警
  • 企业微信告警
  • 监控指标
      • 1、硬件监控
      • 2、系统监控
      • 3、网络监控
      • 4、应用监控
      • 5、业务监控
      • 6、客户端监控

zabbix-高级应用

监控路由器交换机

SNMP简单网络管理协议

SNMP简单网络管理协议,是专门设计用于在IP网络管理、网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。如果我们需要监控打印机、路由器、交换机、UPS等设备,肯定不能使用zabbix_agentd,因为他们不能安装软件的,一般都支持SNMP协议,这样我可以使用SNMP来监控他们。

SNMP版本:

  • SNMP版本1(SNMPV1):第一个版本,不支持任何的认证功能
  • SNMP版本2(SNMPv2):第二个版本,支持简单的认证口令(community)
  • SNMP版本3(SNMPV3):此版本提高了安全性和隐私性

MIB介绍:

MIB (Management Information Base)信息管理库,通常与SNMP相关联,数据库是分层的 (树形
结构的),并且每个条目通过对象标识符 (OID)来寻址,OID(ObjectIDentifiers)对象标识符,用来在MIB库中表示一个对象的指标。

MIB简介 - S300, S500, S1700, S2700, S5700, S6700 V200R021C10 MIB参考 - 华为 (huawei.com)

OID树结构

snmpb下载地址:https://sourceforge.net/projects/snmpb/

测试案例

配置网络设备

华为文档参考:https://support.huawei.com/hedex/hdx.do?docid=EDOC1100021764&id=dc_cfg_snmp_0023_1

[Huawei]sys AR1

[AR1]interface g0/0/0
[AR1-GigabitEthernet0/0/0]ip address 192.168.10.111 24
[AR1-GigabitEthernet0/0/0]q

[AR1]snmp-agent 
[AR1]snmp-agent sys-info version v3
[AR1]snmp-agent group v3  MyGroup  privacy read-view ViewDefault
[AR1]snmp-agent usm-user v3  MyUser   MyGroup  authentication-mode  sha   Huawei@123  privacy-mode  aes128  Huawei@123
[AR1]
// 使用不认证和不加密的方式
[AR1]snmp-agent 
[AR1]snmp-agent sys-info version v3
[AR1]snmp-agent group v3 MyGroup noauth
[AR1]snmp-agent usm-user v3 MyUser MyGroup

创建主机

创建监控项

  • 键值可以随意(中文特殊字符除外),作用:用作触发器引用的唯一字符串
  • OID决定了具体监控的值(注意,从snmpb软件中复制来的在后面加.0)

测试监控项

自动发现

什么是自动发现Discovery?

当zabbix需要监控的设备越来越多时,手动添加监控设备越来越有挑战,此时,可以考虑使用自动发现功能。

自动发现可以实现:发现主机、添加主机、添加主机到组、链接模版等。

配置自动发现

1、创建自动发现规则

2、创建Action动作(发现主机后自动执行什么动作)

3、通过动作,执行添加主机,链接模板到主机等操作

4、测试,创建新的虚拟机(符合发现规则)

要想让被监控的主机的监控项可用,需要再被监控主机上安装zabbx-agent并配置。

[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf 
  Server=127.0.0.1,192.168.10.223  // 添加主控端地址
  ServerActive=127.0.0.1,192.168.10.223  // 添加主控端地址
  
[root@localhost ~]# systemctl restart  zabbix-agent  // 重启服务

主被动监控

1、概述

主动和被动都是对被监控主机而言的。

默认zabbix采用的是被动监控

**被动监控:**Server向Agent发起连接,发送监控的key,Agent接受请求,响应监控数据

**主动监控:**Agent向Server发起连接,Agent请求需要检测的监控项列表,Server响应Agent发送一个items列表,Agent确认收到监控列表,TCP连接完成,会话关闭,Agent开始周期性的收集数据

区别:Server不用每次需要数据都连接Agent,Agent会自己收集数据并处理数据,Server仅需要保存数据即可。

当监控主机达到一定量级后,Zabbix服务器会越来越慢,此时,可以考虑使用主动监控,释放服务器压力。

2、创建被监控主机(主动监控)并修改配置

1)新建一台虚拟机

2)安装zabbix_agent软件

yum  -y  install  zabbix_agent

3)修改配置文件(将其设置为主动模式)

vim /usr/local/etc/zabbix_agentd.conf
  #Server=127.0.0.1  # 注释该行
  StartAgents=0      # 禁止被动监控(有服务进程但没有端口)
  ServerActive=192.168.10.223  # 监控服务器IP(一定要取消127.0.0.1)
  
  Hostname=web_201  # 告诉监控服务器,是谁发的数据信息(一定要和zabbix服务器配置的监控主机名称一致)
  
  RefreshActiveChecks=120  # 默认120秒检测一次

4)添加用户,启动服务,查看状态

useradd zabbix
zabbix_agentd
ps -C zabbix_agentd

3、zabbix_server设置

1)克隆已有模版

2)修改监控项模式

3)添加监控主机

名称必须和被监控端的配置文件中Hostname一致。

IP地址为0.0.0.0,端口为0

4)为主机添加监控模版

5)查看监控数据

创建拓扑图

邮件告警

事件通知机制

当被监控项出现问题时,能及时通知责任人

准备邮件收发环境

快速搭建邮件服务器

[root@localhost ~]# yum -y install postfix  //安装邮件服务器
[root@localhost ~]# systemctl enable postfix --now  //设置开机自启,并启动

安装邮件客户端(收发信工具)

[root@localhost ~]# yum -y install mailx  //安装邮件客户端

邮件告警关键配置

1、报警媒介类型(谁负责发送告警邮件、如何发送)

管理→报警媒介类型→Email

  • 修改为可用的电子邮件,比如本机发送

正确设置可用来发送电子邮件的服务器(这里选用本机自带的邮件服务)信息、发件人电子邮箱地址

2、报警媒介(告警邮件发送给谁)

管理→用户→选择用户XX→报警媒介

  • 比如,可以为用户Admin添加邮件报警,接收通知的邮箱地址为root@zbx.tedu.cn(域名为主机名)

[root@localhost ~]# hostname //通过hostname查看主机名,收件人填写 root@主机名
localhost.localdomain

3、创建触发器

配置→主机→xxx→触发器

  • 指定在xx条件下记录问题
  • 并且可以标记此问题的严重性程度

比如,可以创建2个触发器

  • 登录用户超过5个时,记录为“一般严重”事件
  • 运行任务数超过500个时,记录为“严重事件

4、创建动作

配置→动作→创建动作

  • 比如,示警程度在“一般严重”以上时发送邮件报警

验证邮件告警

模拟用户登录超标,或者运行任务数超标

  • 目标用户会收到电子邮件,在仪表板也会报告此问题

模拟用户登录数超标

在被控主机Zabbix server上同时打开多个命令行终端,也可以使用SecureCRT、Putty等工具远程登录到Zabbix server服务,来模拟超过5个用户登录的情况。

检查root用户收到告警邮件消息

当设置的动作满足条件时,即发起对应的邮件告警操作,用户报警媒介对应的收件人电子邮箱中会收到通知邮件。比如当登录用户数超过5个时,root用户将会收到告警邮件,只需要在主机zbx.tedu.cn上查收邮件即可

同时,通过“监测”–>“仪表板”页面也会看到相应的问题报告,通过单击“动作”下的小图标可以跟踪邮件发送状态。

[root@localhost ~]# who | wc -l     //查看登录⽤户数

企业微信告警

注册企业微信:https://work.weixin.qq.com/wework_admin/register_wx?from=myhome

手机下载企业微信,使用个人微信扫码登录

添加机器人:

  • 操作视频

    1695375530681490.mp4

https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=95bd2577-26d4-4808-b5a3-85692f7d198e

在zabbix服务器编辑脚本vim /usr/lib/zabbix/alertscripts/webhook.py

将api_url替换成自己的webhook

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import requests
import json
import sys
import os

headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = " https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=95bd2577-26d4-4808-b5a3-85692f7d198e "
def msg(text):
    json_text= {
     "msgtype": "text",
        "text":{
            "content": text
        },
    }
    print(requests.post(api_url,json.dumps(json_text),headers=headers).content)

if __name__ == '__main__':
    text = sys.argv[1]
    msg(text)
[root@zbx ~]# chmod a+x /usr/lib/zabbix/alertscripts/webhook.py
[root@zbx ~]# chown zabbix:zabbix /usr/lib/zabbix/alertscripts/webhook.py

添加媒介类型

测试

成功接收到

监控指标

要监控些什么?

1、硬件监控

服务器:风扇转速,cpu温度,主板温度、内存状态、电源状态、RAID磁盘阵列状态,磁盘状态,网卡状态。

防火墙、交换机、路由器或UPS等。

2、系统监控

基础监控:cpu使用率,内存使用率,磁盘(和inode)使用量率,磁盘io使用率

其他监控(linux):/etc/passwd文件、打开文件描述符的最大数量(如:open too many files错误),最大进程数,用户登录数。

3、网络监控

网络流量情况,丢包率,错包率,连接数等等。

4、应用监控

MySQL,Redis,Java,nginx等

数据库监控:数据库连接数、当前运行的线程、QPS、TPS、并行处理的会话数、缓存命中率、主从延时、锁状态、慢查询

Nginx:活跃连接数、等待连接数、丢弃连接数、请求量、耗时、5xx错误率

消息队列:连接数、队列数、生产速率、消费速率、消息堆积量

缓存:成功连接数、阻塞连接数、已使用内存、内存碎片率、请求量、耗时、缓存命中率

Tomcat:最大线程数、当前线程数、请求量、耗时、错误量、堆内存使用情况、GC次数和耗时

5、业务监控

核心业务的监控,例如:登录,注册,下单,支付等等。

日志监控:访问日志、错误日志

业务指标:比如PV、订单量等

6、客户端监控

用户行为信息,业务返回码,客户端性能,运营商,版本,操作系统等。

全国移动,联通,电信用户访问情况监控(第三方工具SmokePing,监控宝,阿里云站点监控等)

ioS,安卓,微信小程序(阿里云的ARMS)

抛开生产实际环境说监控都是扯淡

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2112440.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python画笔案例-037 绘制彩色格子台阶

1、绘制彩色格子台阶 通过 python 的turtle 库绘制彩色格子台阶,如下图: 2、实现代码 绘制彩色格子台阶,以下为实现代码: """彩色格子台阶.py """ import turtle from random import randomturtle…

小杨做题c++

题目描述 为了准备考试,小杨每天都要做题。第1天,小杨做了a道题;第2天,小杨做了b道题;从第3天起,小杨每天做的题目数量是前两天的总和。 此外,小杨还规定,当自己某一天做了大于或等于m题时,接下…

KRTSt内嵌Lua脚本

KRTSt内嵌Lua脚本 Lua 简介 Lua是一门强大、高效、轻量、可嵌入的脚本语言。它支持多种编程架构:过程编程、面向对象编程(OOP)、函数式编程、数据驱动编程及数据描述。 Lua结合了简洁的过程语法和强大的数据描述结构(基于关联数…

什么是网络准入控制系统?网络准入控制系统七大品牌介绍!

在当今信息化时代,企业网络安全面临着前所未有的挑战。网络准入控制系统(NAC, Network Access Control)作为一种重要的网络安全技术,扮演着守护企业网络安全大门的关键角色。网络准入控制系统通过对接入网络的设备进行身份验证、安…

为什么现在不建议去电力设计院?终于有人把电力设计院说清楚了!

作者:电气哥 最近电气哥收到了许多面临就业的同学特别是硕士同学有关于电力设计院的咨询,那么现在电力设计院到底还值不值得去?电气哥带你来分析一下电力设计院的前世今生。 01 电力设计院的前世今生 曾经,在我国的大基建时代&…

java设计模式--(行为型模式:策略模式、命令模式、责任链模式)

6,行为型模式 行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。 行为型模式分为类行为模式和对象行为模式,前者采用继承…

keepalived和lvs高可用集群

keepavlied和lvs高可用集群搭建 主备模式: 关闭防火墙和selinux systemctl stop firewalld setenforce 0部署master负载调度服务器 zyj86 安装ipvsadm keepalived yum install -y keepalived ipvsadm修改主节点配置 vim /etc/keepalived/keepalived.conf! Conf…

鹰眼雾炮适合在哪些场合使用

朗观视觉鹰眼雾炮由于其独特的功能和优势,适合在多种场合使用,主要包括但不限于以下几个方面: 建筑工地:建筑工地是粉尘污染的主要来源之一。鹰眼雾炮可以有效降低施工过程中的扬尘,改善工地及周边空气质量&#xff0c…

南卡科技“满分之选”全新开放式耳机发布,打造超越Pro的极致体验!

在音频技术的不断革新中,南卡品牌以其深厚的声学底蕴和对创新的不懈追求,再次为市场带来惊喜。今天,我们自豪地宣布,南卡OE Pro2开放式蓝牙耳机正式亮相,它不仅代表了南卡在开放式耳机领域的技术巅峰,更是对…

基本和复合逻辑运算

目录 基本逻辑运算 与运算 或运算 非运算 复合逻辑运算 与非运算 或非运算 异或运算 同或运算 基本逻辑运算 与运算 两个都为1才为1,否则为0,类似于编程语言里的&。 有0出0,全1出1。 逻辑表达式就是AB,可以省略中间的点。 逻辑符…

TimescaleDB-3 超表的维护

数采系统上线半年多了,产生了大概2亿条记录,这些数据其实是有时效性的,用来生成的二次数据可以永久保存,这种时序数据没有多大价值,又非常占用空间,所以定期清理超表的trunk是必要的 --1、查看分区表以及…

好用的AI编程助手[豆包]

欢迎来到 Marscode 的世界!这里将为你揭秘 Marscode,它的独特之处、应用领域等相关精彩内容等你来探索。 一、打开VS Code 二、选择 Extensions,搜索marscode 三、点击安装 四、点击使用 五、输入需要编写的代码 六、根据自己的需求修改代码 MarsCode 注…

Pytorch多GPU分布式训练代码编写

Pytorch多GPU分布式训练代码编写 一、数据并行 1.单机单卡 模型拷贝 model.cuda() 原地操作 数据拷贝(每步) datadata.cuda() 非原地操作 基于torch.cuda.is_available()来判断是否可用 模型保存与加载 torch.save 来保存模型、优化器、其他变量tor…

spring security 中的授权使用

一、认证 身份认证,就是判断一个用户是否为合法用户的处理过程。Spring Security 中支持多种不同方式的认证,但是无论开发者使用那种方式认证,都不会影响授权功能使用。因为 SpringSecurity 很好做到了认证和授权解耦。 二、授权 授权&#x…

红黑树的旋转

红黑树的基本性质 红黑树与普通的二叉搜索树不同,它在每个节点上附加了一个额外的属性——颜色,该颜色可以是红色或黑色。通过引入这些颜色,红黑树能够维持以下 5 个基本性质,以确保树的平衡性: 每个节点是红色或黑色…

C++入门10——stack与queue的使用

目录 1.什么是stack? stack的使用 2.什么是queue? queue的使用 3.priority_queue 3.1 什么是priority_queue? 3.2 priority_queue的使用 1.什么是stack? 在官网中,对stack有这样的介绍: Stacks are a type o…

一台电脑对应一个IP地址吗?‌探讨两台电脑共用IP的可能性

在当今数字化时代,‌IP地址作为网络世界中的“门牌号”,‌扮演着至关重要的角色。‌它负责在网络上唯一标识每一台设备,‌使得数据能够在庞大的互联网中准确无误地传输。‌然而,‌对于IP地址与电脑之间的对应关系,‌许…

uni-appH5项目实现导航区域与内容区域联动效果

一、需求描述 将导航区域与内容区域实现联动,即点击导航区域,内容区滚动到对应位置,内容区滚动过程中根据内容定位到相对应的导航栏。 效果如下: 侧边导航与内容联动效果 二、功能实现思路分析汇总: 三、具体代码 1…

Matplotlib通过axis()配置坐标轴数据详解

坐标轴范围设置 axis()可以直接传入列表[xmin,xmax,ymin,ymax]进行范围设置, 分别可以使用plt.axis()或者画布对象.axis()进行配置 import numpy as np import matplotlib.pyplot as pltx np.linspace(0, 20, 100) y x*2 plt.plot(x, y, r) plt.axis([0,30,0,100]) plt.sa…

【精选】文件摆渡系统:跨网文件传输的安全与效率之选

文件摆渡系统可以解决哪些问题? 文件摆渡系统(File Shuttle System)主要是应用于不同网络、网段、区域之间的文件数据传输流转场景, 用于解决以下几类问题: 文件传输问题: 大文件传输:系统可…