0
点赞
收藏
分享

微信扫一扫

hualinxu ext zbx 1.3:zabbix 基础概述


目录

​​一、开源监控及对比​​

​​1.1 cacti、nagios、zabbix对比​​

​​1.1.1 cacti​​

​​ 1.1.2 nagios​​

​​1.1.3 zabbix​​

​​1.2 网络监控系统对比​​

​​二、zabbix介绍​​

​​2.1 zabbix基础功能​​

​​2.2 zabbix构架​​

​​2.3 zabbx组件​​

​​2.4 一个完整的zabbix监控组成​​

​​2.5 术语​​

​​2.5.1 主要术语​​

​​2.5.2 其它术语​​

​​2.6 其它概念​​

​​附录一、网络监控系统对比​​

学习zabbix之前,了解一下zabbix概念是很有必要的,我这里就简单说一下。

一、开源监控及对比

目前免费开源的基础监控软件主​​cacti​​​、​​nagios​​​、​​zabbix​​,它的主要区别如下

1.1 cacti、nagios、zabbix对比

1.1.1 cacti

1.重在采集服务器、网络设备的监控数据并绘图
2.依赖于snmp协议
3.不好自定义监控
4.告警支持不友好

cacti小巧,最适合流量监控,比如交换机流量,使用的是rrdtoo保存l数据 ,一种很古老的已经有很简单的时序数据库的功能。

现在还有小部分企业在使用,主流也是监控流量相关的。

 1.1.2 nagios

1.重在监控告警,但zabbix更出色,告警配置web化
2. Nagios添加监控需要更改配置文件
3.无监控历史数据,图形支持差
4.不支持分布式监控(假如北京1000台、.上海1000台、 杭州1000台)

PS:​​nagios​​和它的名字一下“难搞死”,安装非常麻烦,我曾经试过安装它及插件,足足花了3天的时间才搞定,各种问题。

基本上不用 

1.1.3 zabbix

1.所有监控配置都WEB化,WEB采用php开发
2.支持分布式监控
3.支持多种方式数据采集:简单监控、Agent监控、 snmp接口监控、 JMX接口监控
4.告警配置web化:邮件、微信、钉钉、短信
5. Zabbix和Grafana的结合方便监控数据的可视化
6.先搭建zabbix ,在实战中zabbix

PS:现在化的监控,大型基础监控工具。比如携程也是在用它,只是于是基于二次开发的。

1.2 网络监控系统对比

具体的对比详见附录一

 

二、zabbix介绍

2.1 zabbix基础功能

数据采集方式:zabbix agent,agent(active),SNMP,SSH等;

数据存储方式:RDBMS, ​​MySQL​​​, ​​MariaDB​​​, ​​PostgreSQL​​​, ​​SQLite​​​, ​​Oracle​​​ or ​​IBM DB2​​等等

数据展示方式:php,web,gui;

报警功能:支持报警升级;

2.2 zabbix构架

hualinxu ext zbx 1.3:zabbix 基础概述_mysql

2.3 zabbx组件

hualinxu ext zbx 1.3:zabbix 基础概述_php_02

  • Zabbix主要由zabbix server和zabbix agent组成;
  • server端负责从agent端收集监控数据,并存储在数据库中,同时对数据进行分析展示,并触发相关报警;
  • agent端负责监控数据的采集,并发送给server端;(现在zabbix5.0有agent2,go写的,加入了一些新功能)
  • 数据采集方式除了在被监控主机上部署agent程序外,还可通过ICMP/IPMI/SNMP等协议对网络设备进行监控,同时配置web监控方式可以监控web页面的下载速率和响应时间等重要参数,很有参考价值哦;
  • Zabbix proxy是在大规模分布式监控场景中,采用的一种用以分担server端压力的分层结构,Proxy只负责一定区域内的数据采集工作,然后定期将数据一次性发送给server,极大的减轻了server的负载压力,使得可以支持更大规模的监控需求;

2.4 一个完整的zabbix监控组成

hualinxu ext zbx 1.3:zabbix 基础概述_zabbix5.0 基础概述_03

2.5 术语

可以看zabbix5.0官方文档​​DEFINITIONS​​,我这里而只是简单说一下

2.5.1 主要术语

  • Host主机:要监控的网络设备;
  • Host Group主机组:主机的逻辑容器,可包含主机和模板;通常用于给用户或用户组指派监控权限时使用;
  • Item监控项:一个特定监控指标的相关数据,是数据采集的核心,每个item都由key进行唯一标识;
  • Trigger触发器:用于为监控项item所收集的数据定义阈值,触发器的状态在OK和PROBLEM间不断切换;
  • Event事件:触发器的状态转变,新的agent或重新上线的agent的自动注册等,都会产生event;
  • Action动作:指对于特定event实现定义的处理方法,由通知内容、条件、操作这3部分组成;
  • Escalation报警升级:发送警报或执行远程命令的自定义方案;
  • Media Type媒介:发送通知的手段或通道,如Email,Jabber或SMS等;
  • Notification通知:通过选定的media向用户发送的有关某event的信息;

2.5.2 其它术语

  • Remote Command远程命令:预定义的命令,可在被监控主机处于某特定条件下自动执行;
  • Template模板:用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application等;
  • Application应用:一组item的集合;
  • Web scennaria web场景:用于检测web站点可用性的一个或多个HTTP请求;
  • Frontend前端:Zabbix的web接口

2.6 其它概念

UserParameter用户参数:可在被监控端通过设置UserParameter的方式,获得Zabbix预定义的key无法收集到的监控数据

  • 语法格式:UserParameter=<key>,<command>
  • 如:UserParameter=mysql.ping,mysqladmin -uroot ping | grep -c alive
  • server端的调用的key为:mysql.ping ,可获得被监控主机上mysql程序的存活状况
  • 如:UserParameter=memory.usage[*],/bin/cat /proc/meminfo | awk '/^$1:/{print $$2}' ,带参数的UserParameter可批量监控多个同类监控项
  • server端的调用的key为memory.usage[MemFree] ,获得被监控主机剩余内存的数值
  • server端的调用的key为memory.usage[MemTotal} ,获得被监控主机总内存的数值

Macros宏:zabbix基于宏保存预设的文本模式,并在调用时将其替换为其中的文本,可理解为全局变量;

  • 宏的名称只能使用大写字母、数字及下划线;
  • 分为zabbix内置宏和用户自定义宏;
  • 内置的宏,有{HOST.NAME},{HOST.IP},{TRIGGER.NAME},{TRIGGER.DESCRIPTION}等;
  • 用户自定义的宏要使用{$MACRO}这种特殊的格式引用,以区别于zabbix内置的宏;

 

 


举报

相关推荐

0 条评论