如何建立强大的网站运维监控体系
一、确定监控指标
1、基础设施监控:主要监控服务器、存储、网络设备、安全设备等硬件设备的运行状态及性能,以及磁盘使用情况、内存使用情况等;
2、网络监控:主要监控网络的吞吐量、延迟、丢包率、端口状态等;
3、应用监控:主要监控应用及服务的运行状态、访问量、响应时间、CPU、内存使用情况等;
4、数据库监控:主要监控数据库的连接数、查询延迟、表空间使用情况等;
5、安全监控:主要监控安全策略规则、安全设备状态、账号安全性等;
6、其他监控:如:日志监控(主要是监控日志安全性)、邮件服务器监控等。
二、确定数据采集源
1、采集硬件设备数据:可以通过SNMP协议采集硬件设备的基本信息;
2、采集网络数据:可以通过NetFlow协议采集网络流量信息;
3、采集应用数据:可以通过程序接口(如API)采集应用的基本信息及性能指标;
4、采集数据库数据:可以通过SQL语句采集数据库基本信息及性能指标;
5、采集安全数据:可以通过安全设备接口采集安全信息;
6、采集其他数据:可以通过日志采集系统(如ELK)采集日志信息,通过邮件服务器采集邮件信息等。
三、确定数据存储方式
1、采用关系型数据库存储:可以采用MySQL、Oracle等关系型数据库存储,可以实现灵活的数据查询;
2、采用NoSQL存储:可以采用MongoDB、Redis等NoSQL数据库存储,可以实现大数据量的存储;
3、采用分布式文件存储:可以采用HDFS(Hadoop分布式文件系统)进行分布式存储,可以实现较大数据量的存储。
四、确定数据处理流程
1、实时处理:可以采用流处理框架(如Spark Streaming)处理实时数据,实现实时监控;
2、批处理:可以采用批处理框架(如Hadoop)处理历史数据,实现离线分析;
3、可视化处理:可以采用可视化分析工具(如Kibana)对数据进行可视化分析,实现可视化监控。
五、确定数据告警方式
1、短信告警:可以采用短信服务(如阿里云短信服务)进行告警;
2、邮件告警:可以采用邮件服务(如阿里云邮件服务)进行告警;
3、语音告警:可以采用语音服务(如阿里云语音服务)进行告警;
4、推送告警:可以采用推送服务(如极光推送)进行告警;
5、其他告警:如微信告警等。
六、确定管理控制方式
1、基于角色的访问控制:可以采用角色访问控制(如LDAP)进行访问控制;
2、基于规则的审计控制:可以采用规则审计控制(如安全日志分析系