解放运维的双手,谈自动化运维管理平台设计(2)
经过产品线划分和项目归类之后,可以一目了然地看到目前公司所有的IT系统.接下来根据每一个项目梳理项目中涉及到的服务器或是虚拟机.然后还需要从另一个维度去梳理:每一台服务器或是虚拟机上面部署的项目,服务(数据库、Tomcat、WebLogic等).经过这一步,可以明确每一个项目涉及哪些服务器或是虚拟机,每一台服务器或虚拟机上又关联多少个项目,部署了多少服务. 虚拟机在哪些宿主机,宿主机又分布在哪些物理机上,而这些物理机又部署在哪个机房的哪个机柜;网络连接是怎样,上行和下行分别是什么,都需要进行梳理和完善,这样可以从硬件层面去关注每一个系统的硬件关联.如果硬件或是网路出现任何问题,可以快速地清楚知道涉及到的系统和影响度. 三、供应商管理每一个公司的IT设备或是系统基本都会有供应商公司的参与.集中统一管理这些供应商的信息,可以在系统出现问题的时候紧急联系供应商,进行协助解决. 生产数据库生产数据库作为基础数据的重要一环,为业务数据监控提供主要途径.我们在监控模块中有一个业务监控,主要依赖业务数据库中的数据,根据业务逻辑进行数据比对,判断业务的实时性和准确性. 一般在监控和备份的时候,数据库都会作为单独的一个主题进行(因为太重要).在基础数据模块,将所有的生产数据库信息进行集中采集,可以很方便地为以后的数据库监控和备份等运维工作提供操作对象参考,以免遗漏. 生产数据库一般按照数据库的类型(MySQL、Oracle、SQL Server等)进行分类管理.数据库的名称一般即业务系统的名称,简单标识,见名知意. 日志数据日志数据是IT系统的重要数据之一,可以很好地反映系统的运行状况,系统出现问题的时候,可以通过反查日志进行查因、排故. 一、系统日志系统日志主要是包括操作系统级别的日志,包括物理机、宿主机、虚拟机等部署有操作系统的系统日志.一般主要关注以下几种日志:系统操作日志、安全日志、定时任务日志等. 系统操作日志可以看到什么用户什么时间登录了哪台操作系统,做了什么操作等;安全日志可以判断系统是否已遭受或是正在遭受攻击,是否有过危险操作等;定时任务日志可以看到部署在系统中的定时任务是否按时准确地执行完成. 系统日志主要反映系统级别的运行情况,一定要做好备份和分析的工作. 二、应用日志应用日志一般分应用服务日志和业务操作日志.应用服务日志指如Tomcat、Nginx运行时候产生的日志等,通过其可以看到应用服务运行的健康情况;业务操作日志主要是业务系统将部分业务操作或是业务错误写到日志中,可能单独一个日志文件也可能集成到应用服务日志中.业务操作日志是进行业务审计,业务监控的重要数据源. 三、数据库日志这个不多说,数据库中的数据往往是企业的核心资产.数据库日志反映着数据库的每一步每一个事务的操作,以及数据库运行的监控状况,进行日志监控和分析时,数据库日志是不可缺少的. 四、设备日志设备日志往往是比较容易忽略的.但设备日志可以直观地反映出设备运行的状况,以及设备出现问题的时候,可以通过日志快速准确地找到原因.如交换机日志、防火墙日志等.通过防火墙日志可以看出系统是否遭受攻击,交换机日志可以看到网络流量是否呈现陡增陡降等突发状况.实时监控和管理设备日志是日志管理的重要工作之一. 知识库在基础数据中,我们单独设立知识库这样一个模块,主要包含事件库、问题库、经典案例库、解决方案库等. 事件库主要是在运维工作中遇到的一些运维事件或是事故,在事件库中详细记录事件的原因和处理过程.如果涉及到需求变更或是需要修改系统进行解决的,此时由事件库进入到问题库. 问题库涉及到问题解决流程,问题解决的过程中,可能涉及到应用变更发布等.通过问题库的统计可以侧面反馈系统的状况. 经典案例库记录了解决经典问题的方式和方法.例如记录了防火墙故障,交换机故障时如何从查找原因到排故到解决的过程,以供解决类似故障处理参考. 解决方案库主要存放一些经典的解决方案如Nginx+Tomcat+Redis的部署方案、MySQL的HA、Oracle的RAC等等解决方案.以便在构建新的系统的时候可以快速地选择解决方案. 基础数据为以后的运维工作做铺垫,基础数据的收集一定要全面,不能遗漏,否则就是以后运维的一个潜在问题点. 监控模块监控模块主要分为以下几个部分: 系统监控主要监控系统层面的健康状况如内存、CPU告警、硬盘存储不足等等,系统层面的监控可以快速反应系统问题,运维工程师可以提前处理可能出现的系统问题. 网络监控通过进行网络监控,包括网络的正常性,是否联通,网络访问量是否陡增陡降等,来监控和预防网络问题带来的故障. 应用监控主要监控应用的可用性如Tomcat的端口、Nginx的端口、错误日志等等.应用出现问题导致应用不可用,都可以通过应用监控及时发现. 数据库监控主要监控数据库的可用性,通过监控数据库状态,日志是否有警告错误,表空间等方面来监控数据库可用与否. 业务数据监控通过业务数据监控以监控系统中是否含有业务逻辑错误的情况.例如:每一笔订单支付成功都应该有对应的支付流水号和物流流水号.通过监控数据库中的数据,来观察是否已经生成支付流水和物流流水. 全链路监控通过全链路监控可以明确地看到业务操作的每一步正确与否. 第三方监控以上6种监控基本都是从公司内部进行监控的,如果是公司级别的网络问题或是服务器大面积故障,可能就难以通过内部监控得到信息,此时需要借第三方云监控进行协助监控,如监控宝、听云等产品. (编辑:ASP站长网) |