运维杂记-监控系统选型(二)
开源监控系统介绍-Zabbix & nightingale
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
最新版5.0ui如下:
Zabbix监控范围
1、服务器状态监控:内存使用情况、磁盘空间、网络流量:网络接口流量、网络出口流量。
2、agent监控:检查客户端可用性、主机名、系统详细信息等、监控程序端口启用。
Zabbix监控对象
数据库: MySQL,MariaDB,Oracle,SQL
应用软件:Nginx,Apache,PHP,Tomcat
集群: LVS,Keepalived,HAproxy,RHCS,F5
虚拟化: VMware,KVM,XEN ,docker,k8s
操作系统:Linux,Unix,Windows性能参数
硬件: 服务器,存储,网络设备 IPMI
网络: 网络环境(内网环境,外网环境) SNMP
Zabbix能够做到什么
支持多种监控方式 Zabbix-agent SNMP IPMI JMX
支持分布式监控、图形界面配置
支持告警模板定制,告警升级自定义触发脚本
Zabbix 监控架构
Zabbix包含组件:
Zabbix Server
Zabbix server 是 agent 程序报告系统可用性、系统完整性和统计数据的核心组件,是所有配置信息、统计信息和操作数据的核心存储器。集成前端web界面展示,后端数据分析。
Zabbix database
Zabbix数据存储服务器,存储所有配置信息及agent采集到的数据
Zabbix Proxy
Zabbix proxy替zabbix收集性能和可用性数据,可选性部署
Zabbix监控数据流
Zabbix数据流向
Zabbix-agent(数据采集) -> Zabbix-server(database)->Zabbix-server(数据分析)->Zabbix-server(web-ui)
Zabbix-server(数据分析)->item(监控项)->trigger(触发器) ->action(动作)->触发告警或相关操作
存在的不足之处
优点
Zabbix 优点
- 开源,无软件成本投入
- Server 对设备性能要求低
- 支持设备多,自带多种监控模板
- 支持分布式集中管理,对私有云环境,有自动发现功能,可以实现自动化监控
Zabbix 缺点
1、传统监控系统,对云原生相关支持较差,云原生,容器相关业务,推荐Prometheus
2、 基础入门资料众多,能实现基础的监控,但是深层次需求需要非常熟悉Zabbix并进行大量的二次定制开发,难度较大,官方主要为二次开发定制收费。
nightingale
滴滴基于小米open-falcon二次开发的开源监控系统,采用go语言编写,目前集成用户资源中心(RDB)、资产管理中心(AMS)、任务执行中心(JOB)、监控告警中心(MON)四套子系统
用户资源中心(RDB)
内置用户、权限、角色、组织、资源的管理。最核心的是一棵组织资源树,树节点的类别和扩展字段可以自定义.
资产管理中心(AMS)
agent安装之后,会自动注册到资产管理系统,自动采集到机器的sn、ip、cpu、mem、disk等信息,每一条资产,都有一个租户的字段,代表资产归属.
任务执行中心(JOB)
用于批量跑脚本,支持shell、python、perl、ruby,历史执行记录都可以通过web页面查看审计。支持一些任务进度控制:暂停点、容忍度、单机超时时间、中途暂停、中途取消、中途Kill等。
监控告警系统(MON)
可以实现根据api,自定义监控指标,监控策略,前端实现告警屏蔽,端口监控,进程监控,日志监控,自定义数据采集,插件机制
这个官方主页有详细介绍,地址 http://n9e.didiyun.com/docs/intro/
不做说明了
###未完待续