Chinaunix首页 | 论坛 | 博客
  • 博客访问: 632283
  • 博文数量: 102
  • 博客积分: 7242
  • 博客等级: 少将
  • 技术积分: 1440
  • 用 户 组: 普通用户
  • 注册时间: 2005-06-06 14:59
文章分类

全部博文(102)

文章存档

2011年(1)

2010年(12)

2009年(6)

2008年(83)

分类: LINUX

2008-08-11 11:47:27

Func:系统管理员的终极利器
我们经常需要编写内容重复的脚本,使用大同小异的正则表达式,解析花样百出的各种命令输出。我们为了实现操作审计,建立了命令行监控系统,但实际上只能起到事后追查责任的作用。我们想要监控所有新增系统,但完全依靠人执行的制度流程,难免会出现疏漏。

这些令系统管理员头疼不已的问题,可能已经有了终极解决方案。Red Hat 最近正式发布的 Fedora 统一网络控制器 Func(Fedora Unified Network Controller ),就是为了解决这一系列统一管理监控问题,而设计开发的系统管理基础框架。

Func 有一个长长的功能特性列表,大致要点如下:

 • Func 可以让你在主控机上一次管理任意多台服务器,或任意多个服务器组。
 • Func 基于 Certmaster()建立了 Master - Slaves 主从 SSL 证书管控体系,可以将证书自动分发到所有受控服务器。新装服务器也可以在 Kickstart 文件中自动安装 Func,自动注册到主控服务器。
 • Func 命令行可以直接发送远程命令或者远程获取数据。
 • Func 开发者已经完成了大多数常用任务模块的开发:CommandModule、FileTrackerModule、JBossModule、 IPtablesModule、HardwareModule、MountModule、NagiosCheck、NetappModule、 NetworkTest、ProcessModule、ServiceModule、SysctlModule、RebootModule、 RpmModule、VirtModule、YumModule 等等,这些模块的作用都可以顾名思义,或者参考: /wiki/ModulesList 。
 • 任何人都可以通过 Func 提供的 Python API 轻松编写自己的模块,以实现具体功能扩展。而且任何 Func 命令行能完成的工作,都能通过 API 编程实现。
 • Func 通讯基于 XMLRPC 和 SSL 标准协议。

为了测试 Func,我使用三台测试服务器搭建了一个简单环境:

 • Master:  blade-4
 • Minions(Slaves): blade-5/6

参照安装文档:/wiki/InstallAndSetupGuide ,完成 Master 和 Minions 相应的安装配置工作,然后就可以开始动手尝试了:

 • 查看当前有哪些服务器注册到主控机: func '*' ping
 • 查看所有服务器的硬件信息: func '*' call hardware info
 • 查看所有服务器上的 80 端口是否开启: func '*' call networktest isportopen localhost 80
 • 查看 blade-5 上的系统负载: func 'blade-5' call command run /usr/bin/uptime
 • 启动 blade-6 上的 httpd 服务: func 'blade-6' call service start httpd
 • 在所有服务器上统一挂载某个存储目录: func '*' call mount xxx:/yyy/zzz /path/to/dir

不必再手工维护新增服务器列表,不必再与 ssh 纠缠不清,不必再重新发明轮子,一切尽在 Func !
阅读(907) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~