zabbix
Zabbix是由Alexei Vladishev开发的一种网络监视、管理系统,基于Server-Client 架构。可用于监视各种网络服务、服务器和网络机器等状态。
使用各种Database-end如 MySQL, PostgreSQL, SQLite, Oracle 或 IBMDB2储存资料。Server端基于C语言、Web管理端frontend则是基于PHP所制作的。
Zabbix可以使用多种方式监视。可以只使用Simple Check 不需要安装Client端,亦可基于SMTP或HTTP …各种协议定制监视。
在客户端如UNIX,Windows 中安装Zabbix Agent之后,可监视 CPU Load、网络使用状况、硬盘容量等各种状态。而就算没有安装Agent在监视对象中,Zabbix也可以经由SNMP、TCP、ICMP、利用lPMI、SSH、telnet 对目标进行监视。
Zabbbix自带的ltem足够满足普通小公司的监控需求,对于大公司也可以设定自定义的ltem自动生成报表,也有API可以和其他系统集成。
zabbix server,服务端,收集数据,写入数据
●zabbix agent,部署在被监控的机器上,是一个进程,和zabbix server进行交互,以及负责执行命令
●Host, 服务器的概念,指zabbix监控的实体, 服务器,交换机等
●Hosts, 主机组
●Applications, 应用
●Events, 事件
●Media, 发送通知的通道
●Remote command,远程命令
●Template, 模板
●Item, 对于某一个指标的监控,称之为Items, 如某台服务器的内存使用状况,就是一个item监控项
●Trigger, 触发器,定义报警的逻辑,有正常,异常,未知三个状态
●Action, 当Trigger符合设定值后,zabbix指定的动作,如发个邮件给运维,说服务器有问题了
prometheus
特点
Prometheus 相比于其他传统监控工具主要有以下几个特点:
- 具有由 metric 名称和键值对标识的时间序列数据的多维数据模型
- 有一个灵活的查询语言
- 不依赖分布式存储,只和本地磁盘有关
- 通过 HTTP 的服务拉取时间序列数据
- 也支持推送的