网络性能监控系统
2017-08-10
说明
- 分为配置管理系统、agent、transfer、规则库、报警系统、Dashboard等多个模块
- 兼容zabbix和nagios等多种报警来源。
架构
配置管理:
增加监控, 提供联动接口,和CMDB数据一致, 端口数据由客户端自动采集入库。
agent
客户端分为两种:
npms-agent: 从配置管理中心获取最新监控数据,并根据实例监控情况上报。如果无法获取最新数据, 维持原数据。
scagent: 采集端口实例上报, 支持端口和实例名两种方式上报。
[PortCollect]
Enabled = true
Interval = 300
Port = 80, 443
Program = memcached, mysql, redis, nginx
transfer
收集监控信息,并兼容zabbix、nagios等第三方和我们自己的监控数据。
规则库
采集到报警信息后,会进入到规则库收敛聚合, 避免网络风暴。
配置示例:
[Rule]
;最大报警次数
MaxCount = 3
;统计间隔
Interval = 30
;是否抄送领导
CCLeader = true
;恢复时是否通知
NotificationRecoveries = true
;忽略第一次net报警
IgnoreNet = false
;通知时段,如7-23, 多个时段用逗号分隔
NotificationPeriod = 7-12, 13-23
;报警通知时间递增
NotificationTimeInc = true
;递增系数
IncCoef = 2
;主机聚合
HostCheck = true
;IDC聚合
IdcCheck = false
报警系统
整合了报警、统计、绩效、信息配置等多个模块。目前报警途径主要是短信、微信和我们公司自己开发的聊天APP。
Dashboard
数据库选择
这里我们选择的是influxdb, 因为是社区版,目前计划开发一套数据同步系统。