背景 链接到标题 通常情况下,一个公司内部都会有监控报警平台去支撑业务主机的稳定运行,比如 Nagios,Zabbix 或者 Prometheus 等其他工具。 这些工具,无论是 push 模式还是 pull 模式,都基于一个前提:主机是可访问的,或者说 agent/exporter 是可正常工作的。
如果运维人员在面对一台处于异常状态的主机,应该如何收集该主机的当前状态及相应日志呢?
企业级产品通常会内置工具用来采集异常状态信息,比如:
DELL 服务器如果出现了未知错误,拨打 400 询问问题, 一线客服会告诉你,打开 iDRAC 界面,点击“收集日志” 选项,会自动收集并下载节点信息 如果你是 RedHat RHEL 用户,主机出现异常状态,红帽技术支持工程师进行初始分析时,通常会使用 sosreport 工具 简介 链接到标题 sosreport 命令是一个工具,用来收集 RHEL 系统上的配置信息、系统信息和诊断信息。比如:正在运行的内核版本、已加载的模块,以及系统和服务的配置文件。同时,sosreport 支持用户自己编写 Plugin ,用于收集自己想要收集的服务日志及命令结果。
使用 链接到标题 sosreport 提供了 sosreport 命令行,用户可以直接执行该命令收集信息,默认收集所有 Plugin 信息。
执行流程 链接到标题 通过 which 命令查看提供 sosreport 命令行的文件,可以看到指向 sos.sosreport.main。
root@yiran-30-250:~/project/sos master ✔ $ which sosreport /usr/sbin/sosreport root@yiran-30-250:~/project/sos master ✔ $ cat /usr/sbin/sosreport #!/usr/bin/python import sys try: from sos.