都说运维太难?一文说说故障自愈的那些事儿
背景
最近晚上23:00甚至是凌晨总收到告警通知:磁盘可用量低于20%,这个时候不得不爬起来处理告警。当然这里要提醒大家:对于小问题,运维也绝不要抱着侥幸的心理,因为只有痛过才知道。
-
在告警机器上设置定时任务;
-
编写脚本压缩日志或清理磁盘空间;
故障自愈
1.前提
为满足故障自愈通过自动化手段处理故障,我们必须提前制定一系列的流程规范:
-
目录管理规范
标准的目录结构,接入故障自愈后可以用一套自动化脚本管理所有文件资源;
-
应用标准规范
标准应用规范,接入故障自愈后可以用一套自动化脚本管理所有应用;
-
监控告警规范
标准的监控告警规范,通过告警通知,无论是运维团队或自愈平台,都能通过告警通知更快速的定位问题;
-
标准的故障处理流程
2.监控平台
监控平台作为整个故障自愈的源头,必须满足快速准确定位故障的要求,因此就需要在多个维度提供可靠的监控。
-
硬件监控维度
此类监控故障自愈一般无法接入,仅作为辅助手段帮我们及时发现问题;
-
基础监控维度
基础监控主要是对CPU、内存、磁盘等资源使用情况进行监控,接入故障自愈后可发送占用资源的top10进程及自定义的磁盘清理策略;
-
应用监控维度
应用监控主要是对应用状态进行监控,如健康检查、端口、其他自定义告警,接入故障自愈后可对应用进行重启;
-
中间件维度
3.故障自愈平台
(1)多告警源
-
Zabbix -
Nagios
-
Open Falcon
-
Prometheus
-
等等
当然除了满足与监控工具对接,还要兼具REST API等方式接入。
(2)统一数据源
试想一个场景,通过监控平台发送的告警通知,我们可以快速定位到业务、应用、IP,那么故障自愈平台如何接入这些资源呢?因此我们就需要一个统一的数据源,为监控平台、故障自愈平台等上层应用提供可靠的权威数据源,此时 CMDB 就可以担任如此重要的角色。
在 ITIL 体系里,CMDB 是构建其它流程的基石,为应用提供了各种运维场景的配置数据服务。它是企业 IT 管理体系的核心,通过提供配置管理服务,以数据和模型相结合映射应用间的关系,保证数据的准确和一致性;并以整合的思路推进,最终面向应用消费,发挥配置服务的价值。
-
运维团队内部的认可 -
按部门、角色对基础设施的职责划分 -
CMDB的管理规范 -
CMDB如何按组织架构对环境、部门、业务、应用等情况划分 -
如何更合适的纳管物理机、虚拟机、网络设备、数据库、中间件等资源 -
CMDB如何为架构提供数据支撑
(3)故障处理
-
Ansible、SaltStack等自动化运维工具 -
中控机通过ssh远程执行命令
(4)结果通知
-
邮件通知 -
微信通知 -
钉钉通知 -
短信通知 -
电话通知 -
等等
总结
▲扫码图片二维码,查看更多▲
发表评论