用Python脚本发现OpenStack Overcloud中的疑问
发布时间:2024-11-15 02:20:48点击:
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 失掉。