系统运维,是一个可小可大的岗位。尤其是自动化运维、和系统复杂度都日益增加的今天,学会管理运维工具,衡量什么时候做什么事情显得更加重要。
首先是日常运维。这里包括:
- 将业务操作问题和基础设施(网络 / 访问策略)问题分离。
- 采取不同方法解决。
- 培养系统用户自行判断、自救的本领。
业务操作问题中,也包括可以复现和一过性(不能复现)的。简单总结如下,具体看各单位 / 部门的合规程度来执行:
- 存在可以复现的问题,应该确认影响的账号 / 菜单模块 的范围;如有尚能正常工作的账号,有条件应在后台排查账号间权限和角色的差异。
- 如确认是个别单据操作失误,导致问题复现、需要指引和规范用户的操作步骤。
- 存在不可复现的问题,如网络宕机、接口报错等超出运维权限导致的故障,应该及时向关联方请求支援。
- 如问题较为复杂,且对应功能尚能运作,应该先协助业务完成操作,再另行排查。
然后是基础设施(网络 / 访问策略)的问题排查。这里不详细展开。但是 windows 平台下,排查下是否错误设置了网络代理 / 网关设置丢失 / 用 ping -t 排查某个地址的网络抖动 / 用 netstat -ano 排查进程占用的端口,就可以找到大多数的根源。
最后是培养系统用户自行判断、自救的本领。用户对线上的业务流程较为熟悉,发现哪里不对劲的 “第一描述” 是需要运维人员引起重视的。在用户提供了描述的情况下,需要结合系统平日的表现判断是某些单据的问题、还是系统模块出错等。利于节约运维人员资源的办法是:
- 如不止一个人用户出现过类似的问题,应该先让他们尝试以前成功过的 1 - 3 个方法,并让用户之间分享这些方法。
- 如果仍不奏效,才带上截图或某个环节的报错信息、来找运维人员解决。
服务器运维主要的工作有三个:硬件和网络排查、软件配置维护、定期巡检。
- 硬件和网络排查常见于非开放源码的系统。特别是各种上古系统、出问题的时候外围设施的锅经常有。在允许的情况下,一般自己动手关机重启、或者弄下网线看下灯亮否。
- 软件配置维护需要熟悉供应商提供的运维 / 开发手册。按照既定步骤开展软件设置、并注意将历次操作产生的问题进行记录,以便还原问题和咨询供应商。当然,一些数据库的常用端口、用户权限配置步骤、服务器日志的位置也要提前掌握。
- 定期巡检其实是上述两项的综合,主要检查服务器是否存在一机多用 / 开放了危险的端口(FTP / 共享目录 / 21 端口等);检查数据库是否有关键业务的慢查询 sql 语句;以及必要的日志清理和迁移,避免生产机器磁盘撑爆。针对用户的反映,重点排查对应模块的系统占用情况和堆栈信息。这部分工作需要掌握常用的集中监控工具、sql 分析工具、Java 等语言的日志分析工具等。
(完)