zabbix server:zabbix软件实现监控的核心程序,主要功能是与zabbix proxies和agents进行交互、触发器计算、发送告警通知;将数据集中存储等
zabbix agent:部署在监控对象上,主动监控本地资源和应用的程序
zabbix proxy:帮助zabbix server收集数据,分担zabbix server的负载的程序
主机:任何一台想要监控的网络设备
主机组:包含主机和模板,一般用于给不同用户组的主机分配权限时
监控项:想要接收主机的特定数据
触发器:被用于定义问题阈值和“评估”监控项接收到的数据的逻辑表达式
事件:单次发生的需要注意的事情,例如触发器的状态改变或发现有监控代理自动注册
异常:处于“异常”状态的触发器
动作:对事件作出反应的预定义的操作,有操作和条件组成
媒介:发送告警通知的手段
模板:可以被应用于主机上的实体(监控项,触发器,图形,聚合图形,应用,LLD,web场景)的集合,适用于批量修改
Zabbix进程-server
zabbix服务器起作用的三个不同的组件:
1、zabbix 服务器
2、web 前端
3、数据库存储
zabbix的所有配置信息都存储在服务器和web前端进行交互的数据库中。如果在web前端新增一个监控项时,会被添加到数据库的item表中,zabbix服务器会每分钟查询item表中活动列表,接着将它存储在zabbix服务器中的缓存里,这也就是为什么在zabbix前端所做的任何修改最大花费2分钟才能显示在最新的数据段的原因。
Zabbix server支持的平台:
Linux、Solaris、AIX、HP-UX、Mac OS X、FreeBSD、OpenBSD、NetBSD、SCO Open Server、Tru64/OSF1
Zabbix进程-agent
Zabbix agent部署在监控的目标上,主动监测本地的资源和应用(硬件驱动,内存,处理器统计等)
Zabbix agents可以执行被动和主动两种检查方式。
在passive check 模式中agent应答数据请求,Zabbix server(或者proxy)询问agent数据,如CPU 的负载情况,然后Zabbix agent回送结果。
Active checks 处理过程将相对复杂。 Agent必须首先从Zabbix sever索取监控项列表以进行独立处理,然后周期性地发送新的值给server。
执行被动或主动检查是通过选择相应的监测项目类型来配置的。item type. Zabbix agent处理监控项类型有’Zabbix agent’和’Zabbix agent (active)’。
Zabbix agent支持的平台:
Linux、IBM AIX、FreeBSD、NetBSD、OpenBSD、
HP-UX、Mac OS X、solaris:9,10,11、
Windows:支持2000后所有桌面和服务器版
Zabbix进程-proxy
Zabbix Proxy是一个可以从一个或多个受监控设备收集监控数据,并将信息发送到Zabbix sever的进程,基本上是代表sever工作的。 所有收集的数据都在本地进行缓存,然后传送到proxy所属的Zabbix sever。
部署Proxy是可选的,但是可能非常有益于分散单个Zabbix sever的负载。 如果只有proxy收集数据,sever上的进程就会减少CPU消耗和磁盘I / O负载。
Zabbix proxy是完成远程区域、分支机构、没有本地管理员的网络的集中监控的理想解决方案。
Zabbix proxy需要使用独立的数据库。可以使用SQLite, MySQL, PostgreSQL. 使用Oracle或IBM DB2数据库时会有一定风险和限制(例如在低等级发现规则中的 返回值 )
Zabbix进程-Sender
Zabbix sender 是一种命令行应用,它可以将性能数据发送到Zabbix server进行处理。 该应用通常用在长时间运行的用户脚本,用于定期发送可用性和性能数据。
运行举例:
zabbix_sender -z “Zabbix server” -s "Linux DB3" -k db.connections -o 43
z - Zabbix server 主机 (IP 地址也可以使用)
s - 受监控主机的技术名称(与Zabbix前端注册的相同)
k - 监控项的值
o - 要发送的值
注意: 包含空格的选项,必须被双引号括起来。
Zabbix进程-get
Zabbix get 是一种命令行应用,它可以用于与Zabbix agent进行通信,并从agent哪里获取所需的信息 该应用通常被用于Zabbix agent故障排除。
举例:
zabbix_get -s ohmtest -p 10050 -k system.cpu.load[all,avg1]
-s --host <host name or IP> 指定主机名或主机的IP地址.
-p --port <port number> 指定主机上运行代理的端口号. 默认端口10050.
-I --source-address <IP address> 指定源IP地址.
-k --key <item key> 指定需要获取值的监控项.
-h --help 帮助提示.
-V --version 显示版本号.
Zabbix进程-java gateway
从Zabbix 2.0版本开始,以Zabbix守护进程的形式原生支持监控JMX程序出现了,它被称为Zabbix Java gateway。Zabbix gateway 是用Java语言写成。
Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy。
当在Java gateway上的一个监控项值更新了,Zabbix server或agent将连接Java gateway请求查询该值,Java gateway会依次检索并传回到server或proxy。 同样的,Java gateway不会缓存任何值。