网络发现(Network Discovery)

**网络发现是zabbix最具有特色的功能之一,它能根据用户实现定义好的规则自动添加监控主机和服务等

-->speed up Zabbix deployment

-->simplify administration

-->use Zabbix in rapidly changing environments without excessive administration

**Zabbix的网络发现功能可基于如下信息进行:

-->IP ranges

-->Availability of external services (FTP,SSH,WEB,POP3,IMAP,TCP,etc)

-->Information received from Zabbix agent

-->Information received from SNMP agent

网络发现:过程阶段

**网络发现通常包含两个阶段: discovery和actions

-->Discovery

*-->Zabbix periodically scans the IP range defined in network discovery reles

*--> Zabbix定期扫描网络发现规则定义的IP地址范围

*-->The frequency of the check is configurable for each rule individually

*每个单独的规则都可配置检查的频率

*-->Each rule has a set of service chekcks defined to be performed for the IP range

*-->每个规则都有一套服务chekcks定义为IP范围内进行

*-->Every check of a service and a host (IP) performed by the network discovery module generates a discovery event.

*-->每一个服务的每一个检查和由网络发现模块执行的主机(IP)生成一个发现事件。

Discovery中的事件:
Service Up
Service Down
Host Up
Host Down
Service Discovered
Service Lost
Host Discovered
Host Lost

Action,网络发现中的事件可以触发action,从而自动执行指定的操作,如:
Sending notifications
Adding/removing hosts
Enabling/disabling hosts
Adding hosts to group
Removing hosts from a group
Linking hosts to/unlinking from a template
Executing remote scripts
-->这些事件的配置还可以基于设备的类型、IP、状态、上线/离线进行配置。

网络发现:接口添加

网络发现中添加主机时会自动创建interface

the services detected

-->例如:如果基于SNMP检测成功,则会创建SNMP接口

如果某服务同时响应给了agent和SNMP,则两种接口都会创建。

如果同一种发现机制(如agent)返回了非唯一数据,则第一个接口被识别为默认,其他的为额外接口。

不同的主机如果返回相同的数据,则第一个主机将被添加,余下的主机会被当做第一个主机的额外接口。

自动注册
Zabbix支持active agent的自动注册(auto-resisitration)功能,通常用于此前故障的agent重新上线的场景,也可基于active agent的自动注册机制添加被动检测,这会通过active agent注册时提供的"ListenIP"和"ListenPort"进行,Server端在收到自动注册请求后以接收到的IP和Port为接口属性。

实现过程如下:

(1)创建模板

(2)创建模板item

(3)创建模板触发器trigger

(4)创建模板视图Graph

(5)创建发现规则

(6)创建发现actions事件实现添加主机

(7)定义一个用户和组用于接受通知及消息

在服务器上创建tom用户:

# useradd tom

(8)定义移除action,只要探测失败,就移除主机:

(9)网络发现:配置active agent自动注册

*-->Configuration-->Actions-->Event source(Autoregistration)-->Create action

此外,还需要配置agent的工作属性,并重启agent

-->zabbix-agentd.conf

ServerActive=172.16.100.2

#指向zabbix server

配置如下:

(10)配置被监控端如下配置:

# cat /etc/zabbix/zabbix_agentd.conf | grep -E '(ServerActive|Server|usage)'
Server=172.16.100.2
ServerActive=172.16.100.2
UserParameter=memory.usage[*],/bin/cat /proc/meminfo | awk '/^$1:/{print $$2}'

配置web页面监控应用

Zabbix还可以进行web站点监控的可用性检测

创建web监控需要先定义一个web方案(scenarios)

-->web方案包括一个或多个HTTP请求或"步骤(step)"

-->步骤(step)的执行过程安装预先定义的顺序进行执行

通过web监控可实时获取如下消息

-->整个web方案中所有的步骤的平均下载速度

-->失败的步骤号

-->失败的报错信息

在web方案的具体步骤中,可以按需要使用如下消息

-->该步骤的下载速度

-->回应时间

-->回应状态码

Zabbix可以检测获取到的HTML页面中是否包含预设的字符串,也可以实现登录和页面点击。

创建web监控方案

**创建web方案的前提需要创建一个适用的应用(application)

可以在"Hosts"或"Templates"上创建应用

如果在"Templates"上创建应用,则需要将此"Templates"链接至要监控的其web的主机上方能使用此"application"

下面创建web监控
首先,在172.16.100.7主机中定义application

Scenario items

方案创建完成后,zabbix将会自动在链接的Application中添加如下监控项

Name Key Type Type of information Status
Download speed for scenario "Web Monitoring". web.test.in[Web Monitoring,,bps] Web monitoring Numeric (float) Enabled
Download speed for step "test" of scenario "Web Monitoring". web.test.in[Web Monitoring,test,bps] Web monitoring Numeric (float) Enabled
Download speed for step "Home" of scenario "Web Monitoring". web.test.in[Web Monitoring,Home,bps] Web monitoring Numeric (float) Enabled
Failed step of scenario "Web Monitoring". web.test.fail[Web Monitoring] Web monitoring Numeric (unsigned) Enabled
Last error message of scenario "Web Monitoring". web.test.error[Web Monitoring] Web monitoring Character Enabled

在创建触发器和告警时可以利用这些监控项,例如:

-->{host:web.test.fail[www.samlee.com].last(0)}#0

-->{host:web:test.in[www.samlee.com,,bps].last(0)}<10000

最后查看数据示意图如下:

可以看到页面的响应速度和下载速度
创建web监控的trigger,表达式为主页最后一次的响应码不等于200就触发事件:

以上为Zabbixzabbix发现_自动注册及web页面状态监控所有内容。

转载于:https://blog.51cto.com/gzsamlee/1868999

自动化运维工具之Zabbix发现_自动注册及web页面状态监控(四)相关推荐

  1. 44学习自动化运维工具 Chef 的基本用法,包括厨师编写、节点管理

    Chef是一种自动化运维工具,它允许您定义基础设施的状态,并根据需要管理这些状态.在这里,我们将学习Chef的基本用法,包括如何编写和管理Cookbook和Node. 安装Chef 在使用Chef之前 ...

  2. mysql 自动化运维工具_部署MySQL自动化运维工具inception+archer

    *************************************************************************** 部署MySQL自动化运维工具inception+ ...

  3. python开发web运维工具_【实战小项目】python开发自动化运维工具--批量操作主机...

    有很多开源自动化运维工具都很好用如ansible/salt stack等,完全不用重复造轮子.只不过,很多运维同学学习Python之后,苦于没小项目训练,本篇演示用Python写一个批量操作主机的工具 ...

  4. 自动化运维工具SaltStack详细部署

    2019独角兽企业重金招聘Python工程师标准>>> 自动化运维工具SaltStack详细部署 2014-12-28 17:30:34 标签:saltstack 原创作品,允许转载 ...

  5. 简单介绍自动化运维工具clip

    Clip是一款自动化运维工具,适用于海量服务器的管理场景,可以降低系统误操作风险,提高工作效率等.Clip将传统的IP管理纬度替换为String管理纬度,管理方式的改变使海量运维时更加的便捷.可靠与高 ...

  6. mysql 自动化运维工具_MySQL使用工具Inception实现自动化运维

    MySQL使用工具Inception实现自动化运维 发布时间:2020-05-27 17:11:14 来源:51CTO 阅读:180 作者:三月 下面一起来了解下MySQL使用工具Inception实 ...

  7. 自动化运维工具Puppet(管理资源)

    接上文<自动化运维工具Puppet>http://kaliarch.blog.51cto.com/8966921/1973736 利用模块与模版管理agent端资源 一.模块管理 环境安装 ...

  8. 自动化运维工具Ansible详细部署

    一.基础介绍 ================================================================================= 1.简介 ansibl ...

  9. 自动化运维工具Ansible实战(一)简介和部署

    一.Ansible的介绍 Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点.实现了批量系统配置 ...

最新文章

  1. 非常全面的AutoML资源,看这个就够了!
  2. Service Worker
  3. java输入字符数组_JAVA中怎样把用户输入的字符串存入数组中?
  4. [Objective-C] Copy 和 MutableCopy
  5. mysql索引无效且sending data耗时巨大原因分析
  6. 北海市计算机等级考试,2021上半年北海市计算机二级报名时间|网上报名入口【已开通】...
  7. C++基础04-类基础
  8. 斗地主AI算法——第八章の被动出牌(2)
  9. 阿里巴巴矢量图标库批量添加图标
  10. ZigBee协议栈点播
  11. 未来机器人背景的AI人工智能PPT模板
  12. 最长重复子字符串:123321||12321
  13. wd ex2 ultra mysql_西部数据My Cloud EX2网络存储器驱动
  14. ZJYYC LSH去年买了个表(也是LZY去年买了个表) DFS
  15. Q200 EX.查看写入和预计使用寿命
  16. LCD屏幕,IPS屏幕,TFT屏幕,SLCD屏幕和AMOLED手机屏幕介
  17. 【论文翻译】3461 AdderSR Towards Energy Efficient Image Super-Resolution(个人粗略翻译)
  18. 大数据基础之Hive(四)—— 常用函数和压缩存储
  19. Java工程师学快速Python(4)----- I/O与异常处理
  20. fullCalendar改造计划之带农历节气节假日的万年历

热门文章

  1. QTP模拟鼠标和键盘事件整理
  2. ECSHOP 如何删除商品列表页 购买弹出 商品属性框后面的价格
  3. 在线文本中英文数字清除工具
  4. Python3爬虫数据入数据库---把爬取到的数据存到数据库,带数据库去重功能
  5. 微服务架构的核心要点和实现原理解析
  6. Python rsa 加密
  7. java调用百度地图API依据地理位置中文获取经纬度
  8. django学习笔记:AdminSite界面配置
  9. CDH hive的安装
  10. python 版本控制及django,git的使用