|
|
51CTO旗下网站
|
|
移步端
  • 用Python剧本发现OpenStack Overcloud中的问题

    LogTool 是一组 Python 剧本,可帮助你找出 Overcloud 重点中问题的基本点原因。

    笔者:Arkady Shtempler 来源:Linux中华| 2020-02-13 18:25

    LogTool 是一组 Python 剧本,可帮助你找出 Overcloud 重点中问题的基本点原因。

    OpenStack 在伊 Overcloud 重点和 Undercloud 长机上存储和保管了一堆日志文件。故此,采用 OSP 日志文件来排查遇到的题材并不是一件容易的事,尤其在你甚至都不知晓是什么原因导致问题时。

    如果你正处于这种情景,这就是说 LogTool 可以行使你的存在变得更加轻松!他会为你节省资金需要人工排查问题所需的年华和生命力。LogTool 基于模糊字符串匹配算法,可提供过去发生之一切唯一错误和警示信息。你可以根据日志中的时间戳导出特定时间段(例如 10 分钟前、一度小时前、一角前等)的那些信息。

    LogTool 是一组 Python 剧本,他首要模块 PyTool.py 在 Undercloud 长机上实施。少数操作模式使用直接在 Overcloud 重点上实施的任何脚本,例如从 Overcloud 日志中导入错误和警示信息。

    LogTool 支持 Python 2 和 Python 3,你可以根据要求更改工作目录:LogTool_Python2 or LogTool_Python3

    借鉴方法

    1、副 Overcloud 日志中导入错误和警示信息

    此模式用于从过去发生之 Overcloud 重点中索取 错误警告 消息。表现用户,系统将唤起你提供“起来时间”和“调整级别”,以用于提取错误或警告消息。例如,如果在过去 10 分钟内出了问题,你则可以只提取该时间段内的错误和警示消息。

    此操作模式将为每个 Overcloud 重点生成一个包含结果文件的目录。结果文件是经由压缩的简短文本文件(*.gz),以调减从 Overcloud 重点下载所需的年华。名将削减文件转换为常规文本文件,可以运用 zcat 或类似工具。另外,Vi 的少数版本和 Emacs 的其他最新版本均支持读取压缩数据。结果文件分为几部分,并在底层包含目录。

    LogTool 可以即时检测两种日志文件:专业和非标准。在专业文件中,每条日志行都有一度已知的和已定义之组织:时光戳、调整级别、消息等等。在非标准文件中,日志的组织未知。例如,他可能是第三方的日记。在目录中,你可以找到每个部分的“名称 –> 列号”例如:

  • 原始数据 - 副正规 OSP 日志中索取的错误/警告消息: 这部分包含所有提取的错误/警告消息,没有其他修改或更改。该署信息是 LogTool 用于模糊匹配分析的原始数据。
  • 统计信息 - 每个标准 OSP 日志的错误/警告信息数量: 在此部分,你将找到每个标准日志文件的错误和警示数量。该署信息可以协助你了解用于排查问题至关重要原因之潜在组件。
  • 统计信息 - 每个标准 OSP 日志文件的专门消息: 这部分提供指定时间戳内的专门的错误和警示消息。有关每个唯一错误或警告的更多详细信息,请在“原始数据”局部中寻找相同的信息。
  • 统计信息 - 每个非标准日志文件在任意时间之专门消息: 此部分包含非标准日志文件中的唯一消息。遗憾的是,LogTool 无法像标准日志文件那样的拍卖办法处理这些日志文件。故此,在你索取“一定时间”的日记信息时会把忽视,你会见到过去开创的一切唯一的错误/警告消息。故此,第一,落后滚动到挂果文件底部的目录并查看其部分-采用目录中的行索引跳到相关部分,其中第 3、4 和 5 列的消息最重要。
  • 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 剧本中,采用 --log 慎选时会扭转部署日志;该系日志的题材是“不谐和”,你很难理解是什么出了问题,尤其是当详细程度设置为 vv 或更高时,有效日志中的数据难以读取。此模式提供有关所有失败任务的详细信息。

    11、剖析 Gerrit(Zuul)失败的日记

    此模式用于分析 Gerrit(Zuul)日志文件。他会自动从远程 Gerrit 门下载所有文件(HTTP 载入)并在地方进行分析。

    安装

    GitHub 上有 LogTool,采用以下命令将他克隆到你的 Undercloud 长机:

          
    1. git clone https://github.com/zahlabut/LogTool.git

    该工具还采用了部分外部 Python 模块:

    Paramiko

    默认情况下,SSH 模块通常会安装在 Undercloud 上。采用以下命令来检查是否已安装:

          
    1. ls -a /usr/lib/python2.7/site-packages | grep paramiko

    如果需要安装模块,请在 Undercloud 上实施以下命令:

          
    1. sudo easy_install pip
    2. sudo pip install paramiko==2.1.1

    BeautifulSoup

    此 HTML 剖析器模块仅在采取 HTTP 载入日志文件的全封闭式下利用。他用于解析 Artifacts HTML 页面以获取其中的一切链接。安装 BeautifulSoup,请输入以下命令:

          
    1. pip install beautifulsoup4

    你还可以通过实践以下命令使用 requirements.txt 文件安装所有必需的模块:

          
    1. pip install -r requirements.txt

    安排

    整整必需的底数都直接在 PyTool.py 剧本中设置。默认值为:

          
    1. overcloud_logs_dir = '/var/log/containers'
    2. overcloud_ssh_user = 'heat-admin'
    3. overcloud_ssh_key = '/home/stack/.ssh/id_rsa'
    4. undercloud_logs_dir ='/var/log/containers'
    5. source_rc_file_path='/home/stack/'

    用法

    此工具是交互式的,故此要启动它,只需输入:

          
    1. cd LogTool
    2. python PyTool.py

    排除 LogTool 故障

    在运行时会创造两个日志文件:Error.logRuntime.log。请在你要打开的题材的叙说中添加两者之情节。

    竞争性

    LogTool 拓展硬编码以拍卖最大 500 MB 的公文。

    LogTool_Python3 剧本

    github.com/zahlabut/LogTool 获取。

    【义务编辑: 庞桂玉 TEL:(010)68476606】

    点赞 0
  • Python  OpenStack  Overcloud
  • 分享:
    大家都在看
    猜你喜欢
  • 订阅专栏+更多

    Kubernetes:21远处完美通关

    Kubernetes:21远处完美通关

    从小白到修神
    共29章 | king584911644

    190人口订阅学习

    Python使用场景实战手册

    Python使用场景实战手册

    Python使用场景实战手册
    共3章 | KaliArch

    122人口订阅学习

    一步到位玩儿透Ansible

    一步到位玩儿透Ansible

    Ansible
    共17章 | 骏马金龙1

    209人口订阅学习

    订阅51CTO邮刊

    点击这里查看样刊

    订阅51CTO邮刊

    51CTO劳务号

    51CTO官微

    
       
      
         

    1. <optgroup id="ac4e846f"></optgroup>