设备监控系统

1. 从运营商接入端理清网络拓扑结构 (边界设备-核心设备-交换机-终端)
2. 使用LLDP发现协议或者结合关停设备地址IP或MAC的方式判断接入的交换机
3. 理清网段、网关、VLAN、DHCP网络资源的划分, 记录为表格文档.
4. 理清每个限制策略 QoS、ACL、Firewall、NAT、的影响范围
5. 网络设备分类编号、接线贴上标签、画拓扑结构图、网络拓扑看板
6. dhcpsnooping 核心链路冗余 设备和链路监控 zabbix speedtest
7. 收集设备信息, 告警通知, 日志记录, 生成监控报表
8. 收集问题, 分析问题, 解决问题, 写记录, 写报告
9. MAC绑定地址认证, 指定主机限速, 行为管控
10. 网络分层分平面 (生产网+办公网+无线网+安防网)

1.硬件监控。
通过SNMP来进行路由器交换机的监控(这些可以跟一些厂商沟通来了解如何做)、服务器的温度以及其他,可以通过IPMI来实现。当然如果没有硬件全都是云,直接跳过这一步骤。
2.系统监控。
如CPU的负载,上下文切换、内存使用率、磁盘读写、磁盘使用率、磁盘inode节点。当然这些都是需要配置触发器,因为默认太低会频繁报警。
3.服务监控。
比如公司用LNMP nginx自带Status模块、PHP也有相关的Status、MySQL的话可以通过percona来进行监控。Redis这些通过自身的info获信息进行过滤等。方法都类似。要么服务自带。要么通过脚本来实现想监控的内容,以及报警和图形功能。
4.网络监控。
如果是云主机又不是跨机房,那么可以选择不监控网络。当然你说我们是跨机房以及如何如何。推荐使用smokeping来做网络相关的监控。或者直接交给你们的网络工程师来做。因为术业有专攻。
5.安全监控。
如果是云主机可以考虑使用自带的安全防护。当然也可以使用iptables。如果是硬件,那么推荐使用硬件防火墙。使用云可以购买防DDOS,避免出现故障导致down机一天。如果是系统,那么权限、密码、备份、恢复基础的方案要做好。web同时也可以使用nginx+waf来实现一个web层面的防火墙。当然也可以使用集成好的openresty。
6.Web监控。
web监控的话题其实还是很多。比如可以使用自带的web监控来监控页面相关的延迟、js响应时间、下载时间、等等。这里我推荐使用专业的商业软件,听云来做这一块。毕竟人家全国各地都有机房。(如果本身是多机房那就另说了)
7.日志监控。
如果是web的话可以使用监控Nginx的500x日志。PHP的ERROR日志。其实这些需求无非是,收集、存储、查询、展示,我们其实可以使用开源的ELKstack来实现。ogstash(收集)、elasticsearch(存储+搜索)、kibana(展示)
8.业务监控。
我们上面做了那么多,其实最终还是保证业务的运行。这样我们做的监控才有意义。所以业务层面这块的监控需要和开发以及总监开会讨论,监控比较重要,如API、等。(需要开会确认)然后通过简单的脚本就可以实现,最后设置触发器即可
9.流量分析。
平时我们分析日志都是拿awk sed xxx一堆工具来实现。这样对我们统计ip、pv、uv不是很方便。那么可以使用百度统计、google统计、商业,让开发嵌入代码即可。当然避免隐私也可以使用piwiki来做相关的流量分析。
10.可视化。
通过screen以及引入一些第三方的库来美化界面,同时我们也需要知道、订单量突然增加、突然减少。或者说突然来了一大波流量,这流量从哪儿来,是不是推广了,还是被攻击了。可以结合监控平来来梳理各个系统之间的业务关系。
11.自动化监控。
如上我们做了那么多的工作,当然不能是一台一台的来加key实现。可以通过Zabbix的主动模式以及被动模式来实现。当然最好还是通过API来实现。
http://open-falcon.com/
https://www.zabbix.com/
https://www.oneapm.com/
https://github.com/librespeed/speedtest
 
点赞