自动化运维:Agent
概念
@(自动化运维)[Agent, 帮助]
- 运维的核心:实施维护好目标机器(服务器、网络设备、系统软件等),使之与业务相适应。而自动化运维就是将运维的一系列步骤自动化。在所有步骤过程中,维护目标一般都是挂载在机器上的
agent
来实现,它是目标机器上的一个口子,一个管道,让目标机器完整的融合到运维生态系统里。 Agent
的工作有哪些:- 接收下发资源:比如下发脚本,配置文件,应用程序,库等
- 执行本机任务:定时、不定时的执行一些任务,比如手机采集器软硬件信息等,启停服务,日志分析等。
- 网络服务:比如扫描与目标机器相连的网络设备,推送数据等。
- 其他自定义服务
- 如果做一个适应不同运维环境的
Agent
,称之为Uniagent
(Unique Agent)。除上面agent
基础功能外,还需要提供以下功能,方便自动化运维。- 跨平台:支持主流操作系统,如window,Unix等
- 核心服务+扩展支持:Uniagent 是一个容器,里面内置一些常见的服务,比如执行脚本(perl、python、shell、bat),轮训SNMP网络设备,分析日志等。这里的服务都是以模块(module)的形式存在,因为部署环境不可预知,Uniagent必须提供SDK,方便具体环境的开发人员开发对应的模块,然后载入Uniagent
- 管控中心:Agent必须接受某一个管理,这里称之为Agent Manager,用来收集Agent状态,并反映到一个名为Manager Console的Web应用上来。方便运维人员在Console上下发各种指令,比如安装,卸载服务(模块),启停,安装软件,更改配置等。