LogTool 是一组 Python 脚本,可帮助你找出 Overcloud 节点中问题的根本原因。
OpenStack 在其 Overcloud 节点和 Undercloud 主机上存储和管理了一堆日志文件。因此,使用 OSP 日志文件来排查遇到的问题并不是一件容易的事,尤其在你甚至都不知道是什么原因导致问题时。
如果你正处于这种情况,那么可以使你的生活变得更加轻松!它会为你节省本需要人工排查问题所需的时间和精力。LogTool 基于模糊字符串匹配算法,可提供过去发生的所有唯一错误和警告信息。你可以根据日志中的时间戳导出特定时间段(例如 10 分钟前、一个小时前、一天前等)的这些信息。
LogTool 是一组 Python 脚本,其主要模块在 Undercloud 主机上执行。某些操作模式使用直接在 Overcloud 节点上执行的其他脚本,例如从 Overcloud 日志中导出错误和警告信息。
LogTool 支持 Python 2 和 Python 3,你可以根据需要更改工作目录: LogTool_Python2 or LogTool_Python3 。
操作方式
1、从 Overcloud 日志中导出错误和警告信息
此模式用于从过去发生的 Overcloud 节点中提取 错误 和 警告 信息。作为用户,系统将提示你提供“开始时间”和“调试级别”,以用于提取错误或警告消息。例如,如果在过去 10 分钟内出了问题,你则可以只提取该时间段内的错误和警告消息。
此操作模式将为每个 Overcloud 节点生成一个包含结果文件的目录。结果文件是经过压缩的简单文本文件(),以减少从 Overcloud 节点下载所需的时间。将压缩文件转换为常规文本文件,可以使用或类似工具。此外,Vi 的某些版本和 Emacs 的任何最新版本均支持读取压缩数据。结果文件分为几部分,并在底部包含目录。
LogTool可以即时检测两种日志文件:标准和非标准。在标准文件中,每条日志行都有一个已知的和已定义的结构:时间戳、调试级别、信息等等。在非标准文件中,日志的结构未知。例如,它可能是第三方的日志。在目录中,你可以找到每个部分的“名称–> 行号”例如:
2、从 Overcloud 节点下载所有日志
所有 Overcloud 节点的日志将被压缩并下载到 Undercloud 主机上的本地目录。
3、所有 Overcloud 日志中搜索字符串
该模式“grep”(搜索)由用户在所有 Overcloud 日志上提供的字符串。例如,你可能希望查看特定请求的所有日志消息,例如,“Create VM”的失败的请求 ID。
4、检查 Overcloud 上当前的 CPU、RAM 和磁盘使用情况
该模式显示每个 Overcloud 节点上的当前 CPU、RAM 和磁盘信息。
5、执行用户脚本
该模式使用户可以在 Overcloud 节点上运行自己的脚本。例如,假设 Overcloud 部署失败,你就需要在每个控制器节点上执行相同的过程来修复该问题。你可以实现“替代方法”脚本,并使用此模式在控制器上运行它。
6、仅按给定的时间戳下载相关日志
此模式仅下载 Overcloud 上 “给定的时间戳”的“上次修改时间”的日志。例如,如果 10 分钟前出现错误,则与旧日志文件就没有关系,因此无需下载。此外,你不能(或不应)在某些错误报告工具中附加大文件,因此此模式可能有助于编写错误报告。
7、从 Undercloud 日志中导出错误和警告信息
这与上面的模式 1 相同。
8、在 Overcloud 上检查不正常的 docker
此模式用于在节点上搜索不正常的 Docker。
9、下载 OSP 日志并在本地运行 LogTool
此模式允许你从 Jenkins 或 Log Storage 下载 OSP 日志(例如,
cougar11.scl.lab.tlv.redhat.com
),并在本地分析。
10、在 Undercloud 上分析部署日志
此模式可以帮助你了解 Overcloud 或 Undercloud 部署过程中出了什么问题。例如,在
overcloud_deploy.sh
脚本中,使用选项时会生成部署日志;此类日志的问题是“不友好”,你很难理解是什么出了问题,尤其是当详细程度设置为或更高时,使得日志中的数据难以读取。此模式提供有关所有失败任务的详细信息。
11、分析 Gerrit(Zuul)失败的日志
此模式用于分析 Gerrit(Zuul)日志文件。它会自动从远程 Gerrit 门下载所有文件(HTTP 下载)并在本地进行分析。
安装
GitHub 上有 LogTool,使用以下命令将其克隆到你的 Undercloud 主机:
该工具还使用了一些外部 Python 模块:
默认情况下,SSH 模块通常会安装在 Undercloud 上。使用以下命令来验证是否已安装:
如果需要安装模块,请在 Undercloud 上执行以下命令:
BeautifulSoup
此 HTML 解析器模块仅在使用 HTTP 下载日志文件的模式下使用。它用于解析 Artifacts HTML 页面以获取其中的所有链接。安装 BeautifulSoup,请输入以下命令:
你还可以通过执行以下命令使用 requirements.txt 文件安装所有必需的模块:
配置
所有必需的参数都直接在脚本中设置。默认值为:
用法
此工具是交互式的,因此要启动它,只需输入:
排除 LogTool 故障
在运行时会创建两个日志文件:和
Runtime.log
。请在你要打开的问题的描述中添加两者的内容。
局限性
LogTool 进行硬编码以处理最大 500 MB 的文件。
LogTool_Python3 脚本
在 github.com/zahlabut/LogTool 获取。
本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载者并注明出处:https://jmbhsh.com/xingyeremen/34561.html