我在 dot com 工作,我们团队的部分职责是维护生产 Web 应用程序和服务器场。直到最近我们的部门才成立,现在我们有大量的追赶补丁服务器,并实施监控和备份。
为了开始这个怪物,我们将其分解为多个阶段,作为我们第一阶段的一部分,我们正在几台服务器上重新安装操作系统,从旧的 Redhat 8(不是 Fedora 8)操作系统安装更新它们。作为一个 webapp,服务器需要运行 apache 和 php。需要编译到这些程序中的模块被记录在案,并记录了用于编译的旧构建过程。
作为系统管理员,你们希望记录什么,应该记录什么?由于构建过程和文档都需要更新,那么布置需要完成的项目的最佳方式是什么?定义步骤应该是系统管理员工作的一部分,还是技术经理工作的一部分?这是“高级 unix 工程师”与初级工程师资格的一部分吗?如果这样的项目会影响您的绩效评估,您希望以什么标准来评估您在此类项目中的绩效?
编辑:该应用程序正在不断开发中。其中大部分是用 PHP4 编写的,并继续在 PHP4 上运行,但是,作为 Web 服务运行的较新代码以 PHP5 运行。所以在同一个盒子里有一个 php4 和一个 PHP5 安装。每个构建所需的模块都记录在案。系统管理员有那个文档。
如果这是一个独特的问题,您如何衡量问题是出在人身上还是出在问题上?
如果你的一半人被杀/被解雇/等等,你应该记录让你的部门运转所需的一切......如果你需要用新的管理员重建部门,他们应该能够让事情在一个新的位置与您的文档。
在实践中……嘿!是的,对。如果这些文档是在大多数地方创建的,那么如果它们保持最新,那你就很幸运了。
如果您正在管理怪物任务,也许您只需要与您的管理员会面并询问事情进展如何以及尝试了什么。如果在这三周内他只负责处理这个问题而没有得到解决,是因为他没有解决这个问题吗?他试图纠正这个问题是什么?
你不能对这个问题进行微观管理,否则他可能会开始与你对抗。系统管理员需要足够的自由来工作,而不会觉得他的每一步都受到审查。但是,如果项目或任务真的远远落后,那么你有一个合理的担忧。从他那里了解他是否需要一些东西来完成工作,或者他难以克服的问题是什么。
好书:迈克尔·洛普的《管理人类》。
性能应基于解决 IT 问题以满足用户需求的程度,以及服务器和基础架构问题的维护。您不可能将问题简化为“每天解决 X 个问题”或“编写 X 行代码”来衡量每个员工。
也许您可以从团队中的其他人那里获得一些反馈,以了解彼此的表现或主要需求是什么。优秀的技术人员希望与优秀的技术人员一起工作。他们不想与“快乐而善良”但无能的人一起工作。他们会和一个讨厌和他们呆在房间里的脾气暴躁的脾气暴躁的人一起工作,如果这意味着一切正常并且脾气暴躁的人知道他的东西。
旧的东西(遗留)可能很难:
如果我没看错的话,你有旧版本的软件,并试图让它在最近的操作系统上运行。Red hat 8 现在已经 7 岁了,所以我想说应用程序也应该更新(也许这些模块从那时起就没有更新过)。所以这听起来像你说的一团糟。
记录和期望:
这取决于,但你真的应该列出你的总体期望。把你想要的一切都说得很清楚。然后你应该能够相信管理员会跟进并更新你,如果他们因为某种原因不能。您可以与他们联系,并确保他们正在做这些事情。系统管理很奇怪,因为它因职位而异,因此可能需要一些时间才能让他们了解您对他们的期望。
我的建议,沟通!:
我想我们不能告诉你这些是否是困难的问题。开发人员与系统管理员的距离不应该那么远,因此,如果您遇到问题,请让您信任的开发人员与管理员坐下来帮助他解决这些问题。该开发人员应该能够提供一些反馈。
关于更新一切:
一些可能有用也可能没用的想法:
我想说的是,如果您的系统管理员无法在 3 周后完成自定义操作系统安装,则要么他/她不称职,要么您以某种方式使他/她感到困惑,从而导致无休止的延迟。在您描述的场景中,基本/基础工作流应该是:管理和/或部署团队提出需求和依赖项列表。这些要求将包括时间框架、可伸缩性、容错性、稳健性、可用性阈值等。依赖关系将涵盖需要在服务器上运行的应用程序,以及支持这些应用程序所需的软件。除非您对软件和软件版本有非常具体的已知需求,否则系统管理员可能会处理后者。无论哪种方式,都应该记录在案,并有适当的批准流程,以便“
从你所说的来看,听起来这个人甚至没有测试构建以查看是否一切正常。在理想的环境中,将有一组测试脚本,以便可以通过运行所述脚本来验证构建是否正确。他们不仅会验证功能,还会验证是否包含正确的软件版本(这包括系统和应用程序库)。在较大的环境中,让整个团队专门进行性能测试的情况并不少见,因此,一旦部署了服务器及其安装的应用程序,您就可以确定它的功能和扩展能力以及,如果不是更好的话而不是在实验室或临时环境中。那是另一件事:登台环境是关键。
我不介意系统管理员是否花时间仔细研究事物,以便当服务器投入生产时,它可以完美运行。我以前认识一个这样做的人。不是他无能;相反,他意识到部署失败的严重性,因此他花了一点额外的时间来确保 100% 确保一切都是洁净的。到目前为止,他的声誉几乎无可挑剔,我会将他推荐给任何系统管理团队。然而,在琐碎任务上的反复失误应该引发橙色(尚未红色)标志。一个基本的系统管理员应该知道他的操作系统和常用的应用程序库,这样在构建系统时,他/她的脑海中很少有关于使用哪个操作系统以及部署哪些库和应用程序的问题。至于为一组自定义应用程序构建自定义服务器,我大约需要 1-2 天才能完成基本安装和配置(加上性能调整、强化等)。之后,这将取决于需要安装什么。软件需求的数量越多,构建、安装和测试所需的时间就越多,也许这就是阻碍您的系统管理员的原因。不过,我不能肯定地说,因为你没有提供足够的信息。是什么阻碍了您的系统管理员。不过,我不能肯定地说,因为你没有提供足够的信息。是什么阻碍了您的系统管理员。不过,我不能肯定地说,因为你没有提供足够的信息。
我希望这会有所帮助。
迈克尔
上面的答案很好。我特别想从 Bart 的帖子中强调这一点:
这对于某些业务实践来说绝对是至关重要的,它应该是一个要求,而不是一个选项。如果“唯一知道重要系统 XYZ 的人”对你辞职,或者不得不被解雇怎么办?人就是人——这些事情确实会发生。记录主要系统和流程、任何特殊要求、警告、哪些服务器负责什么。这至少是最基本的——大多数体面的管理员会将较小的细节作为他们工作的一部分。
然而,正如上面所呼应的,在“现实生活”中,您确实很幸运能够创建这些文档,更不用说最新和正确的了。如果可能的话,IMO 值得将管理员从项目中拉出来并让他赶上它的文档。
希望事情顺利。
这家伙可能吓坏了,因为根据您对事物运作方式的简短解释,您的 IT 环境听起来像是一场噩梦。
我愿意打赌,你的 SA 从开发人员/业务部门类型的人那里得到的指示也很糟糕。找人坐在提交请求的人和工作的人之间。让他们拒绝没有意义的请求并记录正在做的事情。
爱因斯坦说:“疯狂就是一遍又一遍地做同样的事情,却期待不同的结果”
我为初创公司做了很多系统管理员工作,我不得不说旧文档比没有文档更糟糕。我无法计算我查看现有系统文档的时间,以了解事物是如何拼接在一起的,只是发现系统已经完全重新架构。
当系统管理员离开公司并且他们的最后一项任务是记录系统时,通常会出现这种情况。一只脚走出门,所产生的信息质量往往很差。如果没有立即更换系统管理员(通常情况下),系统通常由最不称职和/或初级开发人员管理(因为他有时间)。这意味着系统可能会不同步、未记录,并且——在更糟糕的情况下——会因机器而异(对于一个与其他不同的 Web 应用程序集群来说,这是一个真正的痛苦)。
我讨厌 wiki 语法,但我喜欢系统文档驻留在 wiki 中,所以我至少有一个时间戳和谁记录了什么和何时记录的名称。MediaWiki 安装很容易设置并且非常适合系统内容。
至于你的sr有多好。sysadmin 是,很难说。我们很多人都很糟糕,我们很多人只是在做我们的工作。我们都有糟糕的日子。
不久前,我花了很多时间(比如几天)试图让 Ganglia 在 64 位机器上编译,结果发现它是链接中的一个错误。我敢肯定,在那些人眼里,我看起来像个彻头彻尾的白痴……
大多数高级 根据我的经验,系统管理员是非常好的编码人员。弄清楚编译选项以使事情正常工作应该不是问题,除非它是不明显的。听起来您的系统管理员拥有完成这项工作所需的一切,但魔鬼在细节中。
我的建议——直截了当地问问题是什么。并查看其他人建议的“管理人类”一书——非常好。