短信报警
邮件报警
8、报警处理
一般报警后我们故障如何处理,首先,我们可以通过告警升级机制先自动处理,比如Nginx服务down了,可以设置告警升级自动启动Nginx. 但是如果一般业务出现了严重故障,我们通常根据故障的级别,故障的业务,来指派不同的运维人员进行处理. 当然不同业务形态、不同架构、不同服务可能采用的方式都不同,这个没有一个固定的模式套用.
9、面试监控
在运维面试中,常常会被问到监控相关的问题,那么这个问题到底该如何来回答,我针对本文给大家提供了一个简单的回答思路.
- 硬件监控.?通过 SNMP 来进行路由器交换机的监控(这些可以跟一些厂商沟通来了解如何做)、服务器的温度以及其他,可以通过IPMI来实现.当然如果没有硬件全都是云,直接跳过这一步骤.
- 系统监控.?如 CPU 的负载,上下文切换、内存使用率、磁盘读写、磁盘使用率、磁盘 inode 使用率.当然这些都是需要配置触发器,因为默认太低会频繁报警.
- 服务监控.?比如公司用的 LAMP 架构,nginx 自带 Status 模块、PHP也有相关的 Status、MySQL 可以通过 percona 官方工具来进行监控、Redis 这些通过自身的 info 获取信息进行过滤等.方法都类似.要么服务自带.要么通过脚本来实现想监控的内容,以及报警和图形功能.
- 网络监控.?如果是云主机又不是跨机房,那么可以选择不监控网络.当然你说我们是跨机房以及如何如何.推荐使用smokeping来做网络相关的监控.或者直接交给你们的网络工程师来做,因为术业有专攻.
- 安全监控.?如果是云主机可以考虑使用自带的安全防护.当然也可以使用 iptables.如果是硬件,那么推荐使用硬件防火墙.使用云可以购买防 DDoS,避免出现故障导致 down 机一天.如果是系统,那么权限、密码、备份、恢复等基础方案要做好.web 同时也可以使用 Nginx+Lua 来实现一个web层面的防火墙.当然也可以使用集成好的Openresty.
- Web监控.?web 监控的话题其实还是很多.比如可以使用自带的 web 监控来监控页面相关的延迟、js响应时间、下载时间等等.这里我推荐使用专业的商业软件,监控宝或听云来实现.毕竟人家全国各地都有机房.(如果本身是多机房那就另说了)
- 日志监控.?如果是 web 的话可以使用监控 Nginx 的50x、40x的错误日志,PHP 的 ERROR 日志.其实这些需求无非是,收集、存储、查询、展示,我们其实可以使用开源的 ELKstack 来实现.Logstash(收集)、elasticsearch(存储+搜索)、kibana(展示)
- 业务监控.?我们上面做了那么多,其实最终还是保证业务的运行.这样我们做的监控才有意义.所以业务层面这块的监控需要和开发以及总监开会讨论,监控比较重要的业务指标,(需要开会确认)然后通过简单的脚本就可以实现,最后设置触发器即可 .
- 流量分析.?平时我们分析日志都是拿 awk sed xxx 一堆工具来实现.这样对我们统计ip、pv、uv不是很方便.那么可以使用百度统计、 google 统计、商业,让开发嵌入代码即可.为了避免隐私也可以使用 piwik 来做相关的流量分析.
- 可视化.?通过 screen 以及引入一些第三方的库来美化界面,同时我们也需要知道,订单量突然增加、突然减少.或者说突然来了一大波流量,这流量从哪儿来,是不是推广了,还是被攻击了.可以结合监控平台来梳理各个系统之间的业务关系.
- 自动化监控.?如上我们做了那么多的工作,当然不能是一台一台的来加 key 实现.可以通过 Zabbix 的主动模式以及被动模式来实现.当然最好还是通过 API 来实现.
总结
(编辑:辽源站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|