做好自动化运维的必备技能(非常详细)零基础入门到精通,收藏这一篇就够了

187 篇文章 6 订阅
172 篇文章 6 订阅

在运维管理中,基础数据主要涉及四个模块,即配置管理数据库(CMDB)、日志、生产数据库(DB)、以及知识库。这些基础数据模块在构建运维管理体系中扮演着关键的角色,它们相互交织、相互支持,构成了运维管理的基础架构

一、基础数据概况

CMDB,即配置管理数据库,是一个专门用于存储和管理企业IT架构中各种设备的配置信息的数据库。它密切关联于未来IT运维管理标准化和流程化,并支持运维管理平台的运作。在运维管理平台初期或初版中,CMDB更多地偏向于IT资产管理,不考虑公司个人使用的普通PC机。 换句话说,CMDB是一个关键的工具,用于记录和跟踪企业IT基础设施的配置信息,有助于确保设备的合规性、可用性和安全性,同时支持各种运维管理流程的执行。

日志主要记录与服务器和其他设备相关的信息,存储在CMDB中。

数据库(DB)模块则专门管理所有IT系统的数据库信息,包括运维管理系统本身的数据库。鉴于数据库的重要性,DB模块单独设立一个模块来管理生产、测试和开发等不同环境的数据库。数据库的日志由日志模块进行统一管理、监控和备份。

知识库则用于存储日常运维管理中发生的事件、问题以及解决方案,以便为运维管理提供辅助功能。

二、基础数据三要素

基础数据要求必须按照完整、准确、实时三大特性

1.完整性

确保数据采集和整理阶段的完整性至关重要。在这个阶段,必须逐一检查每个设备,确保没有遗漏。任何一个设备的疏漏都可能导致未来出现问题。以最近的勒索病毒为例,及时给服务器升级打补丁是关键。在这种情况下,需要根据服务器清单逐一对照,确保每台服务器都及时升级补丁。如果有遗漏的服务器未及时打补丁,可能会导致病毒入侵,后果将十分严重

首先,在数据采集阶段,我们会安排多人(建议三人以上)同时对IT资产进行采集,这样就会形成三份或以上的IT资产清单。

接下来是相互确认阶段。在这个阶段,我们会彼此核对对比各自梳理的清单,找出其中的差异,并进行集体讨论。通过这个过程,我们将形成一份相对完整且经过三方(或以上)认可的IT资产清单。

最后,三方(或以上)会共同对认可的IT资产清单进行最终确认。这意味着我们将再次检查这份清单,确保它经过了多方讨论确认,并进行了最终的核对。在这个过程中,我们会特别注意及时更新清单,以反映任何新增、变更或删除的IT资产。这样,我们就可以确保最终的IT资产清单相对完整。

2.准确性

确保IT资产清单或CMDB中的数据与实际情况完全一致是非常重要的。为了确保基础数据的准确性,除了在数据采集阶段下功夫外,还需要在运维管理的每个阶段定期对基础数据进行审计。

一般来说,我们会定期进行基础数据的审计,以确保其中的数据是准确无误的。这包括月度小审和半年一次的大审。具体的审计频率可能会根据企业的IT规模和需求而有所不同。通过这些审计,我们可以及时发现并纠正任何基础数据中的错误,以确保系统的准确性和可靠性

3.实时性

基础数据的实时性是确保数据准确性的关键。这意味着每次基础数据发生变动(包括增加、删除、修改),无论大小,都应该在运维操作成功后立即更新。忽视基础数据的实时性会严重损害数据的准确性,增加未来审计过程中的工作量。

在审计过程中,如果发现数据错误率达到一定程度,可能需要重新梳理全部数据,以确保最终的准确和完整。因此,及时更新基础数据是至关重要的,可以避免在审计过程中出现额外的工作量和问题。

CMDB

CMDB总的来说分为:产品线、资产管理、供应商管理三个部分。总的思路是:通过产品线管理IT资产,通过IT资产信息管理硬件或服务提供者,供应商管理。

1.产品线

产品线指的是将整个公司的IT系统和产品按照属性进行归类划分的概念。为了实现产品线的划分,需要先梳理整个公司的IT项目和IT服务。在这里,项目可以理解为每一套IT系统,比如OA、CRM、订单系统、支付系统等。

IT服务主要包括应用服务(如Tomcat、WebLogic、数据库服务等)和基础IT服务(如Nginx、Varnish、Redis等)。通过项目和服务这两个维度来管理IT资产,特别是虚拟机,因为大部分系统和服务都是部署在虚拟机上,而虚拟机的宿主机则是一台台物理主机。

产品线的划分通常不仅根据业务分类,还需要划分一些基础产品线,比如信息安全产品线(管理信息安全、网络安全等系统和设备)和基础服务产品线(如Nginx反向代理大部分系统、Varnish缓存Web静态资源等)。

另外,需要单独制定运维优先级等级,其中运维等级的制定不能简单地定义为多少级,而应该根据每套系统的特性进行运维优先级打分,确保不同系统的运维优先级不同。这样在出现大面积故障时,可以根据优先级解决问题,确保关键系统的稳定运行。

2.资产管理

资产管理主要有以下几个方面

  1. 机房管理: 包括多个机房的基础信息整理存储,如带宽、位置、值班电话等,以及机房内的硬件设备信息(如机架、机柜、交换机、路由器等)和环境设备(如空调、UPS电源、环境监测系统)管理。

  2. 安全设备管理: 主要包括防火墙、入侵防御系统(IPS)、Web应用防火墙(WAF)、虚拟专用网络(VPN)等网络安全设备的管理。企业信息安全至关重要,安全设备的管理在运维管理中作为一个独立的模块进行管理,以保护企业数据信息安全。

  3. 服务器管理: 假定企业实现了虚拟化,大部分系统和服务都部署在虚拟机上,而虚拟机又是部署在物理机上的。因此,服务器管理需要分别管理物理机和虚拟机,并确保它们之间的密切关联。需要清楚记录虚拟机部署在哪台或哪几台物理机上的信息。

在资产管理的每个节点上,可以根据产品线中定义的运维优先度等级标注相应的等级分值。这样可以在出现大规模故障时,有选择、有重点、有顺序地逐一解决问题,确保运维工作的高效性和优先级的合理性。

3.供应商管理

供应商管理主要涉及记录由第三方企业提供的IT系统或设备的服务信息,包括供应商的具体信息、值班电话、硬件备件库等。与此同时,各个模块之间相互关联密切:

  • 产品线管理包含了项目和服务的信息,可以了解哪些项目和服务属于哪些供应商提供。

  • 虚拟机和物理机的管理涉及到了机房管理,需要清楚哪些物理机部署了哪些虚拟机,而这些物理机又在哪些机房中以及机房中的具体位置。

  • 安全设备的管理关联到了网络架构和物理机的位置,需要了解安全设备与物理机的网络架构以及物理机上部署的项目和服务。

  • 故障管理方面,需要做到一旦出现某一环节的故障,能够迅速查明受影响的所有系统和服务,这就需要多维度的查询和管理。

因此,在CMDB中,信息相互交织,需要多维度地查询和管理,构建出一张完整的总体架构图。这张架构图不仅展现各个部分的基础信息,还描述了它们之间的所有依赖关系,以做到坏一点而知全面。这样的架构图能够帮助运维团队更加全面地理解系统的结构和依赖关系,从而更有效地应对故障和问题。

日志

日志记录确实是了解系统或设备运行情况、追踪问题产生原因、还原问题过程以及预测可能发生问题的重要方式之一。通过分析日志,可以获取以下信息:

  1. 运行情况: 日志记录了系统或设备的各种活动、事件和状态变化,包括启动、关闭、资源利用情况等,从而可以全面了解它们的运行情况。

  2. 问题追踪: 当系统或设备出现问题时,日志记录了问题发生的时间、地点、原因等信息,有助于定位问题并了解导致问题的根本原因,从而采取适当的解决措施。

  3. 问题还原: 通过分析日志,可以还原问题发生的整个过程,从问题出现到解决的过程中的各个步骤和事件,帮助深入理解问题的发生和演变过程。

  4. 预测问题: 一些日志信息可以用于预测系统可能要发生的问题或故障,比如系统安全日志可以提供有关潜在网络攻击的信息,帮助及时采取预防措施。

1.系统日志

系统日志主要指的是操作系统生成的日志,通常存储在/var/log目录下,包括系统操作日志、系统安全日志、定时任务日志等。这些日志对于运维管理和安全审计都非常重要。

通常,默认的操作系统日志可能无法完全满足需求,因此需要对系统参数进行修改,以增强日志功能,例如:

  1. 修改history命令参数: 可以为history命令添加时间戳和IP地址等信息,使得历史命令记录更加详细和有用。

  2. 长期保留历史日志: 需要确保系统日志能够长期保留,以便后续的审计和分析。可以设置日志轮转策略,定期将旧日志归档或压缩,以节省存储空间。

  3. 对日志文件进行处理: 可以限制用户对日志文件的操作权限,例如禁止用户清空日志文件,只允许追加(append)日志信息,以保证日志的完整性和可追溯性。

2.应用日志

应用日志主要分为两部分:记录应用服务的健康运行情况以及记录业务操作的具体日志。

  1. 健康运行情况日志: 这部分日志记录了应用服务的健康状态,包括CPU、内存等资源的使用情况,以及应用服务的运行状况。通过监控这些日志,可以及时发现应用服务的异常情况,如资源占用过高、性能异常等,从而采取相应的措施进行调整和优化。

  2. 业务操作日志: 这部分日志记录了业务操作的具体细节,包括用户的操作行为、请求参数、响应结果等信息。业务操作日志对于业务审计提供了主要依据,可以帮助跟踪用户的行为和业务流程,了解业务操作的情况,发现潜在的问题和异常。

有些系统会将业务操作日志写入数据库中,这种做法也是常见的。无论业务操作日志存储在何处,都是不可缺少的,它为业务审计和问题追查提供了重要的依据。通过分析应用日志,特别是结合健康运行情况和业务操作日志,可以更全面地了解应用服务的运行情况,并及时发现和解决问题,确保系统的稳定性和可靠性。

3.数据库日志

数据库日志主要用于反馈数据库的运行情况,通过监控和管理数据库的日志,可以及时了解数据库的运行状态,并在出现问题时进行及时解决。数据库日志通常包括以下内容:

  1. 系统日志(System Logs): 记录了数据库引擎启动、关闭、异常终止等系统级事件,以及数据库服务的运行状态信息。

  2. 事务日志(Transaction Logs): 记录了数据库中的事务操作,包括事务的提交、回滚、数据更改等情况,用于恢复和回滚数据。

  3. 错误日志(Error Logs): 记录了数据库引擎的错误和警告信息,包括数据库连接错误、SQL语法错误、数据库引擎错误等。

通过监控数据库日志,可以及时发现数据库运行中的异常情况,如性能下降、资源利用率异常、错误报告等,并根据日志信息采取相应的措施进行调整和优化。此外,结合数据库系统自带的监控工具和视图(如Oracle的v$视图、MySQL的performance_schema等),可以更全面地了解数据库的运行情况和性能状况,有助于预防可能出现的问题。

虽然数据库的一些信息可能不直接存在于日志中,而是存储在数据库系统的表中,但这些信息仍然可以作为数据库日志的一部分进行管理和监控。综合利用数据库日志和系统视图等工具,可以实现对数据库的全面监控和管理,保障数据库系统的稳定性和可靠性。

4.设备日志

设备日志通常是一个容易被忽视的地方,但实际上它们可以反映设备的运行情况,提供关键的运维信息。交换机故障、防火墙故障等设备问题往往会导致系统和服务的大面积故障,因此设备日志的收集、分析和监控预警非常重要。常见的设备日志包括:

  1. 交换机日志: 交换机日志记录了网络设备的运行状态、端口状态变化、链路状态变化、异常事件等信息。通过分析交换机日志可以快速定位网络问题、故障原因,并进行及时处理和维护。

  2. 防火墙日志: 防火墙日志记录了防火墙的网络访问控制情况、安全事件、攻击行为等信息。通过分析防火墙日志可以及时发现潜在的网络安全威胁,采取相应的防御措施,保护网络安全。

  3. 网络安全设备日志: 包括入侵检测系统(IDS)、入侵防御系统(IPS)、Web应用防火墙(WAF)等设备的日志,记录了网络安全事件、攻击行为、安全策略违规等信息。通过分析这些日志可以识别恶意行为和安全威胁,及时采取措施保护网络安全。

综上所述,设备日志的收集、分析和监控预警对于确保网络设备的稳定运行和保障网络安全至关重要。通过及时处理设备日志中的异常情况,可以有效地预防系统和服务的大面积故障,提高系统的可靠性和安全性。

在CMDB中梳理的IT基础设施的基础上,对日志进行分类收集、管理、分析和监控,配着监控管理模块的系统,就已经可以达到多方位监控IT系统,保障IT系统的安全稳定。

DB

在基础数据管理中,数据库作为一个独立的模块存在,并且根据不同的环境进行严格划分,包括生产数据库、测试数据库和开发数据库。这样的划分有助于确保不同环境下的数据不会相互混淆,从而避免测试数据误入生产环境或者生产数据被用于测试环境,保障了数据的安全性和可靠性。

此外,数据库中的数据也为业务监控提供了重要的数据依据。通过对数据库中的数据进行查询和分析,根据业务逻辑进行判断,可以发现数据是否存在错误或者遗漏的情况。例如,可以检查业务流程中的关键数据是否完整、准确,是否符合预期的规则和要求,以及是否存在异常情况。通过及时发现并解决数据的错误或者遗漏,可以确保业务流程的正常运行和数据的准确性,提高系统的稳定性和可靠性。

知识库

在运维管理中,知识库起着辅助功能,主要为运维团队提供事件管理和问题管理的支持。将事件库和问题库放在知识库中的决策可能令人感到困惑,因为通常这些内容会被归类到配置管理数据库(CMDB)中。然而,将事件和问题库单独置于知识库中有其理由。

在CMDB模块中,更多关注的是IT资产管理,为运维操作提供运维范围和目标。而事件和问题管理则更多是在IT资产管理之上,解决IT资产过程中遇到的事件和问题。因此,将事件和问题库单独拆分出来,有助于更好地管理和解决运维过程中的具体问题。

可能随着运维管理的发展,CMDB的功能会逐渐强化,事件库和问题库会被重新整合到CMDB模块中。但目前,将它们置于知识库中是一个合理的临时解决方案。

此外,知识库中还包含经典案例库和解决方案库。经典案例库用于整理和归档常遇故障和经典问题的解决方法,而解决方案库则收集了一些常用或是正在探索中的解决方案,如特定软件的部署方案等。

另外,文档库用来存储运维管理过程中执行的运维标准、规范和流程规范。这些文档可以包括运维操作手册、流程图、规范文件等,有助于规范运维流程和确保运维工作的高效执行。

文档库也包括一些企业或是部门的规章制度,与供应商的合同条文等。主要是涉及到IT系统文档的一个存放和查阅的地方。

运维标准和运维流程的文档一定是必不可少的。因为运维自动化的前提就是运维的标准化和流程化。如果没有明确的标准和规范的流程,运维自动化就只能一直停留在测试环境的假想空间中。

总结

基础数据在整个运维管理中扮演着基础和奠基的重要角色,它是建立运维管理平台的第一步,也是后续每一步的重要依据。建立完整、准确、实时的基础数据是至关重要的,需要投入充足的时间、人力和资源来完成。

基础数据就像是建筑的地基,打好了地基才能够确保建筑物稳固耐久。同样,建立完善的基础数据能够确保运维管理工作的顺利进行。只有当基础数据准确无误、实时更新时,运维团队才能够准确把握系统和设备的情况,及时发现问题并加以解决。

一旦建立了完善的基础数据,运维工作将会更加有条不紊,有序进行。基础数据为运维团队提供了可靠的参考和依据,使得他们能够更加高效地进行工作。最终,通过不断地积累和完善基础数据,运维团队将会建设出属于自己的高楼大厦,为企业的稳定运营和发展提供坚实的支持。因此,建立完善的基础数据是运维管理工作的关键一步,也是实现运维目标的重要保障

为了帮助大家更好的学习网络安全,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

  • 13
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python自动化运维是现代企业中的必备技能,可以用于管理和维护IT基础设施,提高工作效率,降低生产成本。想要从入门精通Python自动化运维需要掌握以下几个方面: 1. Python程序语言基础:可以通过学习基本的Python语法和语法结构,掌握基本的变量、函数、类等概念,以及流程控制语句、文件操作等基本知识。 2. 熟悉Python模块:Python模块是一个编写好的Python程序,可以被其他程序调用。了解Python模块的使用方法以及官方库和第三方库的使用方法对于Python自动化运维至关重要。 3. 熟悉自动化工具:自动化工具可以简化自动化脚本的编写和运行。有Linux系列的Ansible、Saltstack、Chef等自动化工具,Windows平台的Puppet、PowerShell等。 4. 熟悉操作系统和网络:系统和网络是自动化运维的理论和实践基础。熟悉Linux、Windows等操作系统和网络协议,以及相关工具的使用是必不可少的。 5. 学会自己动手编写脚本:通过实践编写自己的脚本,掌握Python编程技巧,提高自己的自动化运维技能,从而成为自己公司或者组织中的Python自动化运维专家。 总之,Python自动化运维是一项必备技能,学习Python的基础语法和Python模块的使用,熟练掌握自动化工具和操作系统网络知识,并通过实践编写自己的自动化脚本,从入门精通需要不断练习和积累。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值