01、zabbix简介

1.1、监控简介

  企业服务器对用户提供服务,作为运维工程师最重要的事情就是保证该服务正常稳定的运行,需要实时监控服务、服务器的运行状态,并且有故障及时去处理,

  监控网站无需人工时刻去访问WEB网站或登录服务器去检查,可以借助开源监控软件例如zabbix、cacti、nagios、ganglia等来实现对网站的7x24小时的监控,并且做到有故障及时报警通知SA解决

  本章向各位介绍企业级分布式监控zabbix入门、zabbix、监控原理、zabbix安装实战、zabbix批量监控客户端、监控MySQL、web关键字及微信报警等。

1.2、zabbix监控简介

  zabbix是一个机遇web界面的提供分布式系统监控的企业级的开源解决方案,zabbix能监视各种网络参数,保证服务器系统的安全稳定的运行,并提供灵活的通知机制以让SA快速定位解决存在的各种问题。

1.3、zabbix分布式监控系统的优点

1)支持自动发现服务器和网络设备

2)支持底层自动发现

3)分布式的监控体系和集中式的web管理

4)支持主动监控和被动监控模式

5)服务器支持多种操作系统:linux、solaris、HP-UX、AIX、FreeBSD、OpenBSD、MAC等

6)Agent客户端支持多种操作系统:linux、solaris、HP-UX、AIX、FreeBSD、OpenBSD、MAC、Windows等

7)基于SNMP、IPMI接口方式也可以监控agent

8)安全的用户认证及权限配置

9)基于WEB的管理方法,支持自由的自定义事件和邮件发送

10)支持高水平API二次开发、脚本监控、自定义KEY定义、自动化运维整合调用

1.4、zabbix监控组件及流程

zabbix监控组件主要由三大件组成,分别是zabbix server端、zabbix proxy、agent客户端,其中zabbix server 端包括:WEB GUI、Database、zabbix_server

zabbix监控完整流程包括:agentd安装在被监控的主机上,agent负责定期收集客户端本地各项数据,并且发送到zabbix_server端,zabbix_server收到数据,将数据存储到数据库中,用户基于zabbix WEB可以看到数据在前端展现图像。

当zabbix监控某个具体的项目,改项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:邮件、微信报警或者执行命令等操作。如下为zabbix完整监控系统,各个部分负责的工作:

1)zabbix server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行

2)Database Storage:专用于存储所有配置信息,以及存储由zabbix收集到的数据

3)Web interface:zabbix的GUI接口,通常与server运行在同一台主机上

4)Proxy:通常用于分布式监控环境中,代理server收集部分被监控端的监控数据并统一发往server端

5)zabbix agent:部署在被监控主机上,负责收集本地数据并发往server端或proxy端

zabbix监控部署在系统中,会包含常见的四个程序:zabbix_server、zabbix_get、zabbix_agentd、zabbix_proxy、zabbix_sender等。四个程序启动后分别对应四个进程,如下为每个进程的功能:

1)zabbix_server:zabbix服务端守护进程,其中zabbix_agent、zabbix_get、zabbix_sender、zabbix_proxy的数据最终均是提交给zabbix_server

2)zabbix_agentd:客户端守护进程,负责收集客户端数据,例如收集CPU负载、内存、硬盘使用情况等

3)zabbix_get:zabbix数据获取工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令

4)zabbix_sender:zabbix数据发送工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。由于我们在脚本执行完毕之后,使用sender主动提交数据

5)zabbix_proxy:zabbix分布式代理守护进程,分布式监控架构需要部署zabbix_proxy

1.5、zabbix监控方式及数据采集

zabbix分布式监控系统监控客户端的方式常见有三种,分别是agent方式、snmp、ipmi方式,三种方式特点如下:

1)agent:zabbix可以基于自身zabbix_agent客户端插件监控os的状态,例如CPU、内存、硬盘、网卡、文件等。

2)snmp:zabbix可以通过简单网络管理协议(SNMP)协议监控网络设备或者Windows主机等,通过设定snmp的参数将相关监控数据传送至服务器端,交换机、防火墙等网络设备一般都支持snmp协议。

3)ipmi:智能平台管理接口IPMI即主要应用于设备的物理特性,包括:温度、电压、电扇工作状态、电源供应以及机箱入侵等。IPMI最大的优势在于无论OS在开机还是关机的状态下,只要接通电源就可以实现对服务器的监控

zabbix监控客户端分为主动监控与被动监控,主动模式以客户端为参照,zabbix监控客户端默认为被动模式,可以修改为主动模式,只需要再客户端配置文件中添加。可以关闭被动模式的方法:在配置文件中加入StartAgents=0,即为关闭被动模式。主被动监控模式区别如下:

1)zabbix主动模式:agent主动请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy,zabbix_agent首相向serveractice配置的IP请求获取active items,获取并提交active items数据值server或者proxy;

2)zabbix被动模式:server向agent请求获取监控项的数据,agent返回数据,server打开一个TCP连接,server发送请求agent ping,agent接收到请求并响应,server处理接收到的数据。

1.6、zabbix监控概念

zabbix监控系统包括很多监控概念,掌握zabbix监控概念能对zabbix监控快速的理解,如下为zabbix蝉蛹术语及解释:

  • 主机(host): 被监控的网络设备,可以写IP或者DNS;
  • 主机组(host group): 主机组用于管理主机,可以批量设置权限;
  • 监控项(item): 具体监控项,items值由独立的keys进行识别;
  • 触发器(trigger): 为某个items设置触发器,达到触发器会执行action动作;
  • 事件(event): 例如达到某个触发器,称之为一个事件;
  • 动作(action): 对于特定事件事先定义的处理方法,默认可以发送信息及发送命令;
  • 报警升级(escalation): 发送警报或执行远程命令的自定义方案,如隔5分钟发送一次警报,共发送5次等。
  • 媒介(media): 发送通知的方式,可以支持Mail、SMS、Scripts等;
  • 通知(notification): 通过设置的媒介向用户发送的有关某事件的信息;
  • 远程命令                达到触发器,可以在被监控端执行命令;
  • 模板(template): 可以快速监控被监控端,模块包含:item、trigger、graph、screen、application;
  • web场景(web scennario)用于检测web站点可用性,监控HTTP关键词;
  • web前端(frontend): Zabbix的web接口;
  • 图形(graph) 监控图像;
  • 屏幕(screens) 屏幕显示;
  • 幻灯(slide show) 幻灯显示。
原文地址:https://www.cnblogs.com/hackerlin/p/12605204.html