精华内容
下载资源
问答
  • 光纤交换机接口功率监控需求...根据如上场景,本人设计并实施了一个小小的项目:通过采集程序定时采集交换机光纤接口收、发功率,将采集的数据结构,写入postgresql数据库,再通过grafana对采集的数据进行图形展示

    自动化运维工具(光纤交换机接口功率监控)

    需求

    物理服务器通过光纤接入到网络或存储交换机,交换机接口功率不定时出现功率过低或过高的情况,导致服务器至交换机连接中断。

    交换机接口功率不稳定,并未达到报警阀值,所以未产生任何报警信息。( 可能导致功率不稳定的原因很多:网卡、光纤线、光模块、交换机端口等等等等。)

    根据如上场景,本人设计并实施了一个小小的项目:通过程序定时采集交换机光纤接口收、发功率,将采集的数据结构化,写入postgresql数据库,再通过grafana对采集的数据进行图形化展示,对有故障隐患的端口进行特殊颜色展示,方便运维工程师尽早发现问题。

    成果

    先来看看成果。(使用 python + 开源工具 完成)
    这是Grafana的截图,异常的接口功率通过特殊颜色展示,阀值可以自定义。每条记录包含设备名称、管理IP、接口编号、收发功率和采集时间。
    每1小时采集一次数据,运维人员可定期查看。如发现异常可以及时处理。
    在这里插入图片描述

    设计思路及架构

    思路很重要。
    首先,数据采集。即从目标设备或系统中采集出需要的数据。
    其次,数据结构化。定时获取相关数据后进行清洗、过滤、结构化处理。整理成流行的json,例如:
    在这里插入图片描述
    然后,将数据写入pg数据库。
    最后,使用pg做数据源,通过Grafana,将采集的数据进行图形化展示。
    我在上面的流程中增加了kafka集群。利用统一的接口,将数据传递流式化。至于mq的其他好处,我会在其他文章里详细说明。

    总体架构如下:
    在这里插入图片描述

    如上架构,统一了数据处理流程及数据传输接口。
    再深入思考一下,这个项目相当于建立了一个运维自动化工具模板,可以把实施工作进行模块化分解,并能将其他分散的工具整合到一个统一的架构体系中,避免形成 “孤岛”,为后续统一运维平台、运维数据仓库的建设打下良好基础。

    示例代码

    代码中变量名、ip地址、用户名、密码、表名称和字段名都为示例,可根据需求进行修改。
    程序目录结构如下:
    在这里插入图片描述
    program是主程序。
    consumer是消费者程序,读取mq数据并通过sql写入pg。
    class内封装有数据采集、结构化、mq生产者函数。

    注:代码适用于Cisco存储及网络交换机,其余厂商设备需要调整数据处理相关内容。

    7k_int_consumer.py

    import json
    from kafka import  KafkaConsumer
    import psycopg2
    
    consumer = KafkaConsumer('7k_intpower', group_id= 'a', bootstrap_servers='192.168.103.230:9092')
    print('consumer success')
    print(consumer.topics()) # 打印所有topic
    
    conn= psycopg2.connect(database="network",user="postgres",password="123.abc",host="192.168.103.194",port="5432")
    cur= conn.cursor() #创建指针对象
    cur.execute("select * from device_info;")
    
    for msg in consumer:
        recv_dict= eval(msg.value.decode('utf-8'))
        cur.execute("INSERT INTO intpower (topic, top_offset, device_ip, interface, tx_power, rx_power, time) VALUES ("+"'"+str(msg.topic)+"'"+ ','+ str(msg.offset)+ \
        	','+"'"+ recv_dict['device']+"'"+ ','+"'"+str(recv_dict['interface'])+"'"+ ','+recv_dict['txpower']+','+recv_dict['rxpower']+','+"'"+recv_dict['timestamp']+\
        	"'"+ ");")
        conn.commit()
    cur.close()
    conn.close()
    

    7k_int_program.py

    from db.intpower_class import intPower
    import schedule
    import multiprocessing as mp
    import time
    
    def task_intpower():
    	func_int, ip= intPower().func_getIntPower, '192.168.249.35 192.168.249.36 192.168.249.3 192.168.249.4'
    	pool= mp.Pool(processes= 4)
    	
    	for ip in ip.split():
    		pool.apply_async(func_int, args= (ip, ))
    	pool.close()
    	pool.join()
    
    if __name__ == '__main__':
        schedule.every(3600).seconds.do(task_intpower)
        while True:
            schedule.run_pending()
            time.sleep(1)
    

    intpower_class.py

    import time, datetime, paramiko
    from kafka import KafkaProducer
    import json
    
    class intPower(object):
    	"""docstring for int_power"""
    	def __init__(self):
    		pass
    
    	def func_getIntPower(self, ip):
    		user, passwd= 'network', '123.abc'
    		timestamp= datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    		ssh_client = paramiko.SSHClient()
    		ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    		ssh_client.connect(hostname=ip, username=user, password=passwd)
    		print("登录成功 " + str(ip)+ ' 正在抓取信息... '+ timestamp)
    		msg = lambda x: json.dumps(x).encode('utf-8')
    		command = ssh_client.invoke_shell()
    		command.send('terminal length 0\n')
    		command.send("sh interface transceiver details\n")
    		time.sleep(5)
    		command.send('terminal length 30\n')
    		command.send("exit\n")
    		output_list = command.recv(655350).decode('utf-8').split('Ethernet')
    		ssh_client.close
    		interface_list= [inter_info for inter_info in output_list if 'transceiver is present' in inter_info]
    		interface_list2= [i.split('\r\n') for i in interface_list]
    		tx_list= [k for j in interface_list2 for k in j if 'Tx Power' in k]
    		rx_list= [k for j in interface_list2 for k in j if 'Rx Power' in k]
    		tx_list2= [k.split() for k in tx_list]
    		rx_list2= [k.split() for k in rx_list]
    		producer= KafkaProducer(bootstrap_servers='192.168.103.230:9092')
    		if len(interface_list2)== len(tx_list2)== len(rx_list2):
    			for n in range(len(rx_list2)):
    				res_dict= {
    					'interface': interface_list2[n][0],
    					'txpower': tx_list2[n][2],
    					'rxpower': rx_list2[n][2],
    					'device': ip,
    					'timestamp': timestamp
    				}
    				producer.send('7k_intpower', msg(res_dict))
    			producer.close()
    		else:
    			print('收发接口数量不一致!')
    
    

    关于kafka集群、pg和grafana搭建与部署内容暂时省略。

    后记

    各模块作用如下:
    采集程序:定期采集数据并进行结构化处理,数据生产者。

    kafka:数据流传输平台,提供统一的数据传输接口。具有一定的数据持久化功能。

    消费者程序:从kafka消费数据,并写入pg。

    pg数据库:数据持久化仓库,数据源。

    grafana:数据图形化展示平台。前端,用户直接看到的内容。

    简要说明:
    数据结构化:观察采集的“show”信息的规律,将端口编号、发送功率、接收功率分别整理为list数据结构。之后,针对每个端口,生成一条json数据,发送至kafka集群。

    多进程或多线程:如果设备较多,可针对每台设备开辟一条进程或线程进行操作,提高效率。

    PG:数据库建表时,设备ip数据类型为“inet”,时间为“timestamp”。

    Grafana:查询数据库时会用到联结查询。

    有问题欢迎讨论交流!私信、微信、邮件都可以。个人微信:
    在这里插入图片描述
    邮箱:episode5763@163.com

    展开全文
  • 自动化运维要点

    千次阅读 2017-08-29 13:22:59
    Source什么是自动化运维自动化运维是指将IT运维中日常的、大量的重复性工作自动化,把过去的手工执行转为自动化操作。自动化是IT运维工作的升华,自动化运维不单纯是一个维护过程,更是一个管理的提升过程,是IT运维...

    Source

    什么是自动化运维

    自动化运维是指将IT运维中日常的、大量的重复性工作自动化,把过去的手工执行转为自动化操作。自动化是IT运维工作的升华,自动化运维不单纯是一个维护过程,更是一个管理的提升过程,是IT运维的最高层次,也是未来的发展趋势。

    传统运维管理方式存在的问题

    目前许多企业的IT运维已经实现从人工运维到计算机管理,但延展咨询在同客户的交流中发现其中很多企业的IT运维管理还只是处在「半自动化」的运维状态。因为这种IT运维仍然是等到IT故障出现后再由运维人员采取相应的补救措施。这些传统式被动、孤立、半自动式的IT运维管理模式经常让IT部门疲惫不堪,主要表现在以下三个方面:

    • 运维人员被动、效率低

      在IT运维过程中,只有当事件已经发生并已造成业务影响时才能发现和着手处理,这种被动「救火」不但使IT运维人员终日忙碌,也使IT运维本身质量很难提高,导致IT部门和业务部门对IT运维的服务满意度都不高。目前绝大多数的企业IT运维人员日常大部分时间和精力是处理一些简单重复的问题,而且由于故障预警机制不完善,往往是故障发生后或报警后才会进行处理,,使到IT运维人员的工作经常是处于被动「救火」的状态,不但事倍功半而且常常会出现恶性连锁反应。

    • 缺乏一套高效的IT运维机制

      目前许多企业在IT运维管理过程中缺少自动化的运维管理模式,也没有明确的角色定义和责任划分,使到问题出现后很难快速、准确地找到根本原因,无法及时地找到相应的人员进行修复和处理,或者是在问题找到后缺乏流程化的故障处理机制,而在处理问题时不但欠缺规范化的解决方案,也缺乏全面的跟踪记录。

    • 缺乏高效的IT运维技术工具

      随着信息化建设的深入,企业IT系统日趋复杂,林林总总的网路设备、伺服器、中间件、业务系统等让IT运维人员难以从容应对,即使加班加点地维护、部署、管理也经常会因设备出现故障而导致业务的中断,严重影响企业的正常运转。出现这些问题部分原因是企业缺乏事件监控和诊断工具等IT运维技术工具,因为在没有高效的技术工具的支持下故障事件很难得到主动、快速处理。

    自动化运维迫在眉睫

    尽管IT运维管理的技术在不断进步,但实际上很多IT运维人员并没有真正解脱出来,原因在于目前的技术虽然能够获取IT设备、伺服器、网路流量,甚至资料库的警告信息,但成千上万条警告信息堆积在一起更本没法判断问题的根源在哪里。另外,目前许多企业的更新管理绝大多数工作都是手工操作的。即使一个简单的系统变更或更新往往都需要运维人员逐一登录每台设备进行手工变更,当设备数量达至成百上千时,其工作量之大可想而知。而这样的变更和检查操作在IT运维中往往每天都在进行,占用了大量的运维资源。因此,实现运维管理工作的自动化对企业来说已迫在眉睫。

    现在随着IT运维管理工作的复杂度和难度的大大增加,仅靠过去几个「运维英雄」或「技术大拿」来包打天下已经行不通了,企业开始需要运用专业化、标准化和流程化的手段来实现运维工作的自动化管理。因为通过自动化监控系统能及时发现故障隐患,主动的告诉用户需要关注的资源,以达到防患于未然。例如,全天候自动检测与及时报警能实现IT运维的「全天候无人值守」,大大降低IT运维人员的工作负担。而且,通过自动化诊断能最大限度地减少维修时间,提高服务质量。因此, 对于越来越复杂的IT运维来说,将纯粹的人工操作变为一定程度的自动化管理是一个重要发展趋势。

    首先,IT运维流程自动化能够提高流程的可控性,可以基于业务需求来制定个性化的流程,使企业领导有机会看见他们的业务流程,对企业流程有一个深刻的分析和理解,进而改造和优化流程。

    其次,IT运维流程的自动化能提高透明度。因为随着业务需求的变化可能会有多个版本出现,手工流程的不透明将会给流程定制和优化带来相当大的困难,而自动化流程可以使用户能够一目了然的看到整个流程的各个节点运转情况,自动化工具潜移默化地提升业务保障能力。

    再者,运维系统实行了自动化监控以后,通过工具自动监控对人的工作是一种减负,也是一种降低成本的表现。

    自动化运维管理的具体内容

    IT运维已经在风风雨雨中走过了十几个春秋,如今它正以一种全新的姿态摆在我们面前–自动化,这是IT技术发展的必然结果。现在IT系统的复杂性已经客观上要求IT运维必须能够实现数字化、自动化维护。所谓IT运维管理的自动化是指通过将日常IT运维中大量的重复性工作(小到简单的日常检查、配置变更和软体安装,大到整个变更流程的组织调度)由过去的手工执行转为自动化操作,从而减少乃至消除运维中的延迟,实现「零延时」的IT运维。

    简单的说,自动化运维是指基于流程化的框架,将事件与IT流程相关联,一旦被监控系统发生性能超标或宕机,会触发相关事件以及事先定义好的流程,可自动启动故障响应和恢复机制。自动化工作平台还可帮助IT运维人员完成日常的重复性工作(如备份、杀毒等),提高IT运维效率。同时,IT运维的自动化还要求能够预测故障、在故障发生前能够报警,让IT运维人员把故障消除在发生前,将所产生损失减到最低。

    自动化运维的工具

    对于企业来说,要特别关注两类自动化工具:一是IT运维监控和诊断优化工具;二是运维流程自动化工具。这两类工具主要应用于:

    • 监控自动化,是指对重要的IT设备实施主动式监控,如路由器、交换机、防火墙等;
    • 配置变更检测自动化,是指IT设备配置参数一旦发生变化,将触发变更流程转给相关技术人员进行确认,通过自动检测协助IT运维人员发现和维护配置。
    • 维护事件提醒自动化,是指通过对IT设备和应用活动的时时监控,当发生异常事件时系统自动启动报警和响应机制,第一事件通知相关责任人。
    • 系统健康检测自动化,是指定期自动地对IT设备硬体和应用系统进行健康巡检,配合IT运维团队实施对系统的健康检查和监控。
    • 维护报告生成自动化,是指定期自动的对系统做日志的收集分析,记录系统运行状况,并通过阶段性的监控、分析和总结,定时提供IT运维的可用性、性能、系统资源利用状况分析报告。
    好雨云帮ACP · 自动化运维
    
    https://www.goodrain.com/autoOM.html
    
    自动化运维把周期性、重复性、规律性的工作交给平台去处理,通过标准化、自动化、架构化、过程优化来降低运维成本、提高运维效率。云帮ACP提供从基础架构到应用的全栈自动化运维,安全、稳定、强大。

    建立高效自动化运维管理的步骤

    • 建立自动化运维管理平台

      自动化运维管理建设的第一步是要先建立IT运维的自动化监控和管理平台。通过监控工具实现对用户操作规范的约束和对IT资源进行实时监控,包括伺服器、资料库、中间件、存储备份、网路、安全、机房、业务应用和客户端等内容,通过自动监控管理平台实现故障或问题综合处理和集中管理。例如,在自定义周期内进行自动触发完成对IT运维的例行巡检,形成检查报告。包括自动运行维护,以完成对系统补丁的同步分发与升级、数据备份、病毒查杀等工作。

    • 建立故障事件自动触发流程,提高故障处理效率

      所有IT设备在遇到问题时要会自动报警,无论是系统自动报警还是使用人员报的故障,应以红色标识显示在运维屏幕上。然后IT运维人员只需要按照相关知识库的数据,一步一步操作就可以。因此,企业需要事先建立自动工单式流程管理,当设备或软体发生异常或超出预警指标时会触发相关的事件,同时触发相关工单处理流程给相关IT运维人员。 IT运维人员必须在指定时间内完成流程所规定的环节与工作,以提高IT运维响应问题的效率。

    • 建立规范的事件跟踪流程,强化运维执行力度

      自动化运维管理建设时,首先需要建立故障和事件处理跟踪流程,利用表格工具等记录故障及其处理情况,以建立运维日志,并定期回顾从中辨识和发现问题的线索和根源。事实上许多实践也证明,建立每种事件的规范化处理和跟踪指南,可以减少IT运维操作的随意性和强化运维的执行力度,在很大程度上可降低故障发生的概率。同时,用户还应可以通过自助服务台、电话服务台等随时追踪该故障请求的处理状态。

    • 设立IT运维关键流程,引入优先处理原则

      设立IT运维关键流程,引入优先处理原则是指要求CIO定义出IT运维的每个关键流程,不仅仅是定义流程是什么,还包括要指出每个关键流程对企业有什么影响和意义。同时,在设置自动化流程时还需要引入优先处理原则,例行的事按常规处理,特别事件要按优先顺序次序处理,也就是把事件细分为例行事件和例外关键事件。
      总之,实现IT运维的自动化管理是指通过将IT运维中日常的、大量的重复性工作自动化,把过去的手工执行转为自动化操作。自动化是IT运维工作的升华,自动化运维不单纯是一个维护过程,更是一个管理的提升过程,是IT运维的最高层次,也是未来的发展趋势。

    展开全文
  • 自动化运维

    千次阅读 2019-05-28 21:22:46
    一、传统运维方式简介 传统的IT运维仍然是等到IT故障出现后再由运维人员采取相应的补救措施...二、自动化运维简介 IT运维已经在风风雨雨中走过了十几个春秋,如今它正以一种全新的姿态摆在我们面前,运维自动化是IT...

    一、传统运维方式简介
    传统的IT运维仍然是等到IT故障出现后再由运维人员采取相应的补救措施。这种被动、孤立、半自动式的IT运维管理模式经常让IT部门疲惫不堪,主要表现在以下三个方面。
    (1)运维人员被动、效率低。
    (2)缺乏一套高效的IT运维机制
    (3)缺乏高效的IT运维技术工具。

    二、自动化运维简介
    IT运维已经在风风雨雨中走过了十几个春秋,如今它正以一种全新的姿态摆在我们面前,运维自动化是IT技术发展的必然结果,现在IT系统的复杂性已经客观上要求IT运维必须能够实现数字化、自动化维护。
    运维自动化是指将IT运维中日常的、大量的重复性工作自动化,把过去的手工执行转为自动化操作。自动化是IT运维工作的升华,IT运维自动化不单纯是一个维护过程,更是一个管理的提升过程,是IT运维的最高层次,也是未来的发展趋势。

    三、运维自动化的具体内容
    日常IT运维中大量的重复性工作(小到简单的日常检查、配置变更和软件安装,大到整个变更流程的组织调度)由过去的手工执行转为自动化操作,从而减少乃至消除运维中的延迟,实现“零延时”的IT运维。
    简单地说,IT运维自动化是指基于流程化的框架,将事件与IT流程相关联,一旦被监控系统发现性能超标或宕机,会触发相关事件以及事先定义好的流程,可自动启动故障响应和恢复机制。
    3.1、建立高效的IT自动化运维管理
    建立高效的IT自动化运维管理的步骤主要包括以下几点。
    (1)建立自动化运维管理平台。
    IT运维自动化管理建设的第一步是要先建立IT运维的自动化监控和管理平台。通过监控工具实现对用户操作规范的约束和对IT资源进行实时监控,包括服务器、数据库、中间件、存储备份、网络、安全、机房、业务应用和客户端等内容,通过自动监控管理平台实现故障或问题综合处理和集中管理。
    (2)建立故障事件自动触发流程,提高故障处理效率。
    所有IT设备在遇到问题时要会自动报警,无论是系统自动报警还是使用人员报的故障,应以红色标识显示在运维屏幕上。然后IT运维人员只需要按照相关知识库的数据,一步一步操作就可以。
    (3)建立规范的事件跟踪流程,强化运维执行力度。
    需要建立故障和事件处理跟踪流程,利用表格工具等记录故障及其处理情况,以建立运维日志,并定期回顾从中辨识和发现问题的线索和根源。
    (4)设立IT运维关键流程,引入优先处理原则。
    设置自动化流程时还需要引入优先处理原则,例行的事按常规处理,特别事件要按优先级次序处理,也就是把事件细分为例行事件和例外关键事件。
    3.2、IT自动化运维工具
    对于企业来说,要特别关注两类自动化工具:一是IT运维监控和诊断优化工具;二是运维流程自动化工具。这两类工具主要应用于如下场景:
    (1)监控自动化:是指对重要的IT设备实施主动式监控,如路由器、交换机、防火墙等。
    (2)配置变更检测自动化:是指IT设备配置参数一旦发生变化,将触发变更流程转给相关技术人员进行确认,通过自动检测协助IT运维人员发现和维护配置。
    (3)维护事件提醒自动化:是指通过对IT设备和应用活动的实时监控,当发生异常事件时系统自动启动报警和响应机制,第一时间通知相关责任人。
    (4)系统健康检测自动化:是指定期自动地对IT设备硬件和应用系统进行健康巡检,配合IT运维团队实施对系统的健康检查和监控。
    (5)维护报告生成自动化:是指定期自动地对系统做日志的收集分析,记录系统运行状况,并通过阶段性的监控、分析和总结,定时提供IT运维的可用性、性能、系统资源利用状况分析报告。
    3.3、IT自动化运维体系
    一个完善的自动化运维体系包括系统预备、配置管理以及监控报警三个环节,每个环节实现的功能也各不相同,具体功能如下:
    (1)系统预备类。
    •□ 自动化安装操作系统;
    •□ 自动初始化系统;
    •□ 自动安装各种软件包。
    (2)配置管理类。
    •□ 自动化部署业务系统软件包并完成配置;
    •□ 远程管理服务器;
     配置文件、自动部署Jenkins、网站代码变更回滚。
    (3)监控报警类。
    •□ 服务器可用性、性能、安全监控;
    •□ 向管理员发送报警信息。

    展开全文
  • 一、基础数据概况CMDB中文是配置管理数据库,存储与管理企业IT架构中设备的各种配置信息,与未来的IT运维管理标准和流程紧密关联,并且支持流程的运转。运维管理平台创建初期或初版中的CMDB更多是偏向IT资产管理...

    万丈高楼平地起,高楼稳不稳取决于地基是否扎实。基础数据便是运维管理这座高楼的地基。

     

    首先介绍一下我们在运维管理中所涉及到的基础数据有哪一些。请看下图:


    基础数据大致分为CMDB、日志、生产DB、知识库四个模块。

    一、基础数据概况

    CMDB中文是配置管理数据库,存储与管理企业IT架构中设备的各种配置信息,与未来的IT运维管理标准化和流程化紧密关联,并且支持流程的运转。运维管理平台创建初期或初版中的CMDB更多是偏向IT资产管理,我们在这里定义的IT资产管理,暂时抛除公司个人使用的普通PC机。

    日志主要存储CMDB中涉及到服务器或是其它设备的日志信息。

    DB主要是所有IT系统的数据库信息,包括运维管理系统本身的数据库。由于数据库的重要性,所以在基础数据中单独一个模块管理数据库,包括生产数据库、测试数据库、开发数据库。数据库的日志放在日志模块进行统一管理,监控和备份。

    知识库主要存储日常运维管理中发生的事件、问题以及一些经典问题的解决和常用的解决方案,主要起到运维管理辅助的功能。

    二、基础数据三要素

    基础数据要求完整、准确、实时,这三个特性缺一不可。

    1.完整性

    完整性,要求在数据采集整理阶段,要一一梳理,不能有遗漏。任何一个设备的疏漏都将会导致未来出现问题。例如最近的勒索病毒在防范上需要给服务器升级打补丁,这个时候就是根据服务器清单一一对照,升级。如果有遗漏落下的服务器未及时打补丁而导致病毒入侵,后果将很严重。那么,如何做到完整性呢?大致可以分为以下几步:

     

    首先数据采集阶段多人(推荐三人以上)同时对IT资产进行采集,那么在数据采集完成后,将会有三份或以上的IT资产清单。

    接下来就是相互确认阶段。相互check对比两方的清单和自己梳理的清单,找到不一样的地方,大家在一起开会进行讨论。经过这个阶段,会产生一份相对完整且三方(或以上)认可的IT资产清单。

    最后就是三方(或以上)一同针对认可的IT资产清单进行最终check,确保最后的清单,是经过多方讨论确认,并最终又check过的IT资产清单。此时这份IT资产清单,相对比较完整。另外在梳理、讨论和check的过程中,针对新增、变更、删除的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.资产管理

    资产管理主要有以下几个方面。首先是比较大的机房管理。有的企业可能会有多个机房,每个机房的基础信息,如带宽、位置、值班电话等都需要加以整理存储用来管理机房信息。机房中的机架、机柜、交换机、路由器等硬件信息,机房的空调、UPS电源、环境监测系统等都属于机房管理的范畴。

    • 安全设备管理。安全设备管理这里主要包含防火墙、IPS、WAF、VPN等网络设施。企业信息安全非常重要,在运维管理中也把安全作为一个单独的模块进行管理。通过购买安全硬件设备和安全服务,不断学习和研究,从而保护好企业数据信息。

    • 服务器管理。这里假定企业实现了虚拟化,大部分系统和服务都部署在虚拟机,而虚拟机是部署在物理机上。服务器管理分物理机和虚拟机分开管理,同时又密切关联。虚拟机在哪一台或几台物理机需记录清楚。

    根据产品线中定义的运维优先度等级,在资产管理中的每一个节点标注上相应的等级分值,以便出现大规模故障,有选择、有重点、有顺序地逐一解决问题。

    3.供应商管理

    供应商管理主要是管理由第三方企业提供的IT系统或设备的服务信息。记录供应商的具体信息、值班电话、硬件备件库等信息。

    以上几个模块单独管理,但是又密切相连。如产品线包含哪些项目,包含哪些服务,这些项目和服务部署在哪些虚拟机上,虚拟机又在哪一些物理机上,物理机分布在哪些机房和在机房中的具体位置,物理机在机房中的网络位置和网络架构如何,经过哪些安全设备等等。

    反过来需要知道某一些机房有哪一些物理机,物理机位置,安全设备,以及安全设备与物理机的网络架构等,物理机上又有哪些虚拟机上部署了哪一些项目和服务等。系统和服务属于哪些供应商提供,供应商又提供了哪些系统、设备或服务器等。都要多维度进行管理。要求做到某一环节的故障,一查就知道所有受影响的系统和服务。CMDB中的信息相互交织,多维度查询和管理,构建出一张完整的总体架构图,通过总体架构图除了展现出各个部分的基础信息外,还描述了所有的依赖关系,做到坏一点而知全面。

    四、日志

     

    通过日志可以比较准确全面地知道系统或是设备的运行情况,可以返查问题产生的原因,还原问题发生的整个过程。通过日志也可以提前预测系统可能要发生的问题或是故障,如系统安全日志,如果网络攻击会在系统安全日志中有一定的体现。

    1.系统日志

    系统日志主要指的是操作系统的日志,主要在/var/log下的各种日志信息。包含系统操作日志、系统安全日志、定时任务日志等。系统日志是运维管理安全模块中审计的重要依据。一般默认的操作系统日志不能满足要求,需要对系统的参数进行修改,如为history命令加上时间戳、IP,并且长久保留历史等功能。并且对日志文件进行处理,不允许用户进行清空命令,只能append。

    2.应用日志

    应用日志主要记录应用服务的健康运行情况以及业务操作的具体日志两部分。应用监控运行情况反应应用服务的健康状态,如果应用占用CPU或是内存过高或是忽高忽低不定,都可以通过分析应用日志结合业务操作日志得出结论。业务操作日志可以为业务审计提供主要依据。有一些系统喜欢把业务操作日志写到数据库中,这个也是需要注意的。不过不管在哪个地方,要求是不可缺少的,它为以后业务审计和问题返查提供依据。

    3.数据库日志

    数据库日志主要反馈数据库的运行情况。通过监控和管理数据库的日志,及时了解数据库的运行情况,遇到问题及时解决等。可以通过数据库日志结合数据库系统自带的数据库如Oracle的系统视图v$开头,MySQL的performance_schema等。虽然数据库的一些信息不是存在日志中而是在数据库里面,但是也可以作为数据库日志的一部分进行管理和监控,已便我们及时知道数据库的监控状况,从而预防可能出现的问题。

    4.设备日志

    设备日志一般是一个比较容易忽略的地方,但设备日志往往可以反映设备的运行情况。交换机故障,防火墙故障等设备故障都可能引起大面积的系统和服务故障。所以设备日志一定要收集,分析和监控预警。常用的设备日志有交换机日志、防火墙日志、网络安全设备日志等。

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

    五、DB

     

    由于数据和数据库的重要性,在基础数据中,数据库作为单独的模块存在,根据环境划分为:生产数据库、测试数据库、开发数据库。严格区分三种环境的数据库,避免测试数据到生产环境,生产数据到测试环境等。另外数据库中数据也为业务监控提供数据依据。通过查询数据库中的数据,依据业务逻辑进行判断是否有错误或是遗漏的数据。

    六、知识库

     

    知识库在整个运维管理中是一个辅助功能,主要为运维提供事件管理、问题管理。很多朋友可能会疑惑为什么把事件库和问题库放在知识库这里,这些不是应该在CMDB中吗?这里稍微解释一下,其实本人也并不太清楚这种办法是否可行。在CMDB模块中更多是偏向IT资产管理,为以后的运维操作提供运维范围和运维目标。而事件(主要指运维过程中遇到的所有的运维事件)和问题(需要进行变更发布才能解决的事件升级)更多是在IT资产之上,是解决IT资产的过程中遇到的事件和问题。如果把CMDB作为IT运维的基础管理对象和范围目标的话,事件和问题应该单独出来。也许在后面的运维管理中,逐渐强化CMDB的功能,会把事件库和问题库回归到CMDB模块中。

    知识库中还包含经典案例库,主要是解决一些常遇故障、经典问题的解决方法的整理和归档。

    解决方案库只要是一些常用的或是探索中的解决方案,例如:Nginx+Tomcat+Redis部署方案,FastDFS分布式文件服务器方案等。

    文档库主要用来存储运维管理过程中执行的运维标准和规范以及运维的流程规范,常用的一些规范举例:

     

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

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

    总结

    基础数据在整个运维管理中起到基础、奠基的重要作用,也是做运维管理平台的第一步和以后每一步的重要依据。一定要舍得投入时间、人力等来建立起完整、准确、实时的基础数据。打好地基,以后运维的每一步都将有条不紊地循序渐进,终将建设成属于运维的高楼大厦。

    作者:战学超,青航数据架构师。曾任职于NEC软件、海尔B2B平台巨商汇,负责企业数据平台构建、B2B电商平台数据管理与搭建。拥有丰富DBA、系统运维架构经验,擅长数据库、数据平台搭建、私有云部署、自动化运维等。

    来源:http://www.yunweipai.com/archives/19490.html

    8月云计算免费训练营

    时间

    8月23日 - 8月29日 (为期5天,24/25日休息)

    课程内容

    • 什么是Linux、云计算、虚拟化;

    • KVM虚拟化实战;

    • Linux操作系统由来;

    • 企业级Linux服务器安装方案;

    • 破解Linux系统密码;

    • Linux命令行格式;

    • Linux下目录和文件管理;

    • FTP服务器演示;

    • Web服务器演示;

    • DNS服务器演示;

    • 初识网络工程;

    • Linux云计算行业发展前景等等。

    地点达内全国各中心校区,就近选择。

    讲师:行业大咖,技术大牛面授课程。

    免费报名方式长按下方二维码即可免费申请

     

    *本次免费训练营异常火爆,座位有限,各位童鞋抓紧时间,先报先得。

    PS:记得查收小编送你的免费大礼包呦~

    福利 | 一万多套PPT模板等你免费来拿!无条件领取!

    免费送 | 1000多套简历模板免费拿,附赠简历制作教程!

    免费领 | 《Shell脚本 100例》电子书免费拿,运维必备干货~

    ▼▼点击【阅读原文】,22大互联网热门课程任选免费学

    展开全文
  • 万丈高楼平地起,高楼稳不稳取决于地基是否扎实。基础数据便是运维管理这座高楼的地基。 首先介绍一下我们在运维管理中所涉及到的基础数据有...
  • 盛大自动化运维

    2017-08-28 14:15:00
    第一个方面是我们来看一下,为什么要做自动化运维体系,就是解决“3W”里面的为什么以及是什么,Why和What的问题。 第二个方面是我们看一下,目前盛大游戏各个运维子系统是怎样工作的,是怎样设计、运行和处理问题...
  • PAGE 20 云计算时代的自动化运维走向 云计算时代的自动化运维用通俗的话讲就是应用的自动化部署第一个关键词是自动化自动化代表高效率低成本第二个关键词是应用部署即不涉及讲物理基础设施的运维如机房基建能源消防...
  • 最近在学习Python语言,想着通过一些实际应用来学习可以回事理解,所以想到批量配置管理企业内部的思科交换机。 python是一门解释性语言比较高级有很多的基础库和第三方开发库,现在开发环境也比较热门。 环境:...
  • 什么是自动化运维自动化运维是指将IT运维中日常的、大量的重复性工作自动化,把过去的手工执行转为自动化操作。自动化运维不单纯是一个维护过程,更是一个管理的提升过程,是IT运维的最高层次,也是未来的发展...
  • 当你把自动化运维这个话题抛给不同的角色,他们的反应也一定是不一样的,程序员眼中的自动化运维可能是可以自助申请资源,可以点点点的进行应用发布;应用运维人员眼中的自动化运维可能是自动的监控每个应用的状态有...
  • 搭建ansible自动化运维1、什么是ansible自动化运维1.1Ansible基本介绍1.2 Ansible的功能1.3 Ansible产品特色1.4、Ansible自动化运维原理2、 部署Ansible控制端2.1、环境准备2.2、安装Ansible软件2.3、对ansible安装...
  • 摘要: Linux/Unix技术丛书 Linux集群和自动化运维 余洪春 著 图书在版编目(CIP)数据 Linux集群和自动化运维/余洪春著. —北京:机械工业出版社,2016.8 (Linux/Unix技术丛书) ISBN 978-7-111-54438-8 I. ...
  • 本工具未网络自动化运维工具,能够批量打开关闭端口,批量绑定MAC地址,批量查看交换机路由器状态,是IT运维的好帮手,通常在网络管理特别严格的环境里面可以使用。
  • 运维与自动化运维概括 一:运维工作内容分类:个人理解级别从低到高 1).机房运维(负责服务器上下架、IP配置与划分、服务器打标签、机房定期巡检、服务器故障报修、服务器硬件监控) 2).基础设施运维(系统...
  • 自动化运维工具解放IT运维

    千次阅读 2013-12-26 10:23:06
    何谓自动化运维,即在最少的人工干预下,结合运用脚本与第三方工具,保证业务系统7*24小时高效稳定运行。这应该是所有业务系统运维终极目标。  我们对运维的要求通常是: 1、事前预警  在故障出现之前,管理...
  • Python 自动化运维实现ssh 远程登录管理设备 案例
  • 自动化运维工作总结

    2017-05-09 14:10:33
    自动化运维 系统&应用 1版本迭代自动化 使用jenkins+maven进行管理部署. 目前使用SVN. maven (重要&紧急) 2 服务管理的自动化 服务管理目前使用SaltStack批量执行命令. Saltstack目前配置以root权限执行.(替代...
  • 360网络自动化运维

    千次阅读 2017-11-14 00:00:00
    本文带来的就是360公司网络自动化运维的一些理念,希望这些设计理念可以帮到需要的小伙伴。 PS:丰富的一线技术、多元化的表现形式,尽在“HULK一线技术杂谈”,点关注哦! 网络自动化 关于网络自动化,有的看法...
  • 自动化运维之设备健康检查

    千次阅读 2015-12-21 21:29:43
     面对数量巨大而且种类繁多的网络设备,必须使用自动化运维工具来加快健康巡检的精确度和效率。本文讨论的就是使用python自动化运维脚本对大量设备的进行健康检查。  本次健康检查的内容很简
  • 谈起自动化运维,现在已经成为运维工作最热门的词语,关于运维自动化本人早在2012年就已经接触了BMC的ITSM系统,将ITIL运维管理体系和自动化运维工具的有效的结合大幅度的提高了运维工作效率。下图为HP提的统一运维...
  • 我们为什么需要自动化运维? 传统的IT运维管理仍然是等到IT故障出现后再由运维管理人员采取相应的补救措施。这种被动、孤立、半自动式的IT运维管理管理模式经常让IT部门疲惫不堪,主要表现在以下三个方
  • 自动化部署及配置(Cobbler/Kickstart) 红帽发布的网络安装服务器套件Cobbler可以说是一大Linux装机利器,可以快速的建立网络安装环境,据说比Kickstart还要好用。 分布式集中化管理(Puppet/Salt/Ansible) ...
  • 自动化运维其实也算是老生常谈,一谈谈了十几年,但却一直没有质的提升。数据中心的运维工作反而变得越来越繁重与复杂,当然这和这些年数据中心巨大的变化紧密相关,数据中心承载的各种应用越来越多,运维工作也变得...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,982
精华内容 3,592
关键字:

交换机自动化运维