自动化巡检介绍

此巡检项目在kolla-ansible部署的openstack环境上开发,利用ansible-playbook编排的功能,对巡检的任务进行编排和数据处理。主要巡检的对象有IaaS平台OS层面,IaaS针对openstack平台的组件的状态, 资源使用情况等, 及包括ceph集群、mysql、rabbitmq集群的状态检查。OS针对CPU、内存、磁盘等监控指标进行检查,最终生成excel报告。

项目结构

├── README.md

├── filter_plugins 生成json数据

├── generate_xlsx.yml 生成xlsx文件

├── group_vars 全局变量

├── library 数据处理及生成xlsx模块

├── report 最终xlsx报告保存

├── roles 巡检代码

├── save_data json数据保存

├── site.yml 巡检入口

└── xlsx_template 模板

点击查看项目:IaaS自动化巡检

注意事项:

  1. 部署节点的IP需要放在control主机组的第一位,比如部署节点IP是:1.88.88.1
  2. example
  3. [control]
  4. 1.88.88.1
  5. 1.88.88.2
  6. 1.88.88.3

执行巡检并处理json数据

  • ansible-playbook -i /etc/ansible/hosts/00-nodes site.yml

数据处理后生成os和platform的json数据(生成xlsx报告使用)

  1. {
  2. "os": {
  3. "1.88.88.1": {
  4. "cpu_usedutilization": "5.17%",
  5. "default_ipv4": "1.88.88.1",
  6. "hostname": "control01",
  7. "mem_usedutilization": "27.46%",
  8. "os_pretty_name": "CentOS Linux 7 (Core)",
  9. "size_usedutilization": "64%",
  10. "uptime": "256"
  11. },
  12. "1.88.88.2": {
  13. "cpu_usedutilization": "9.04%",
  14. "default_ipv4": "1.88.88.2",
  15. "hostname": "control02",
  16. "mem_usedutilization": "37.85%",
  17. "os_pretty_name": "CentOS Linux 7 (Core)",
  18. "size_usedutilization": "56%",
  19. "uptime": "256"
  20. },
  21. "1.88.88.3": {
  22. "cpu_usedutilization": "5.39%",
  23. "default_ipv4": "1.88.88.3",
  24. "hostname": "control03",
  25. "mem_usedutilization": "24.08%",
  26. "os_pretty_name": "CentOS Linux 7 (Core)",
  27. "size_usedutilization": "44%",
  28. "uptime": "256"
  29. },
  30. },
  31. "platform": {
  32. "compute_overview": {
  33. "cinder_volume": true,
  34. "nova_compute": true,
  35. "openvswitch_agent": true
  36. },
  37. "control_overview": {
  38. "control_ceph_mon": true,
  39. "control_cinder": true,
  40. "control_glance": true,
  41. "control_haproxy": true,
  42. "control_heat": true,
  43. "control_horizon": true,
  44. "control_keepalived": true,
  45. "control_keystone": true,
  46. "control_memcached": true,
  47. "control_mysql": true,
  48. "control_network": true,
  49. "control_network_dhcp": true,
  50. "control_neutron": true,
  51. "control_nova": true,
  52. "control_rabbitmq": true
  53. },
  54. "platform_overview": {
  55. "ceph_cluster_overview": {
  56. "ceph_health_status": true,
  57. "ceph_osd_status": true,
  58. "ceph_storage_rate": "1.94%",
  59. "ceph_storage_total": "218TiB",
  60. "ceph_storage_used": "4.2TiB"
  61. },
  62. "cluser_node_count": "8",
  63. "engineer_name": "test",
  64. "iaas_memory_overview": {
  65. "memory_total_gb": "306124GiB",
  66. "memory_total_mb": "3134712",
  67. "memory_used_mb": "245760",
  68. "mepm_used_rate": "7.84%"
  69. },
  70. "iaas_service_overview": {
  71. "ops_cinder": false,
  72. "ops_heat": false,
  73. "ops_neutron": true,
  74. "ops_nova": false
  75. },
  76. "iaas_url": "https://1.88.88253:81",
  77. "iaas_vcpus_overview": {
  78. "vcpus_core_rate": "24.11%",
  79. "vcpus_core_total": "448",
  80. "vcpus_core_used": "108"
  81. },
  82. "iaas_version": "train",
  83. "iaas_vm_sum": 11,
  84. "montior_url": "https://1.88.88.253:3000",
  85. "mysql_cluster_status": true,
  86. "now_day": "2021-03-02",
  87. "rabbitmq_cluster_status": true
  88. }
  89. }
  90. }

生成xlsx巡检报告

注意:执行前当前节点需要预先安装openpyxl模块pip install openpyxl

  • ansible-playbook generate_xlsx.yml

xlxs报告模板

IaaS巡检报告

OS巡检报告

[自动化]基于kolla-ansible部署的openstack自动化巡检生成xlsx报告的更多相关文章

  1. [自动化]基于kolla部署的openstack自动化巡检生成xlsx报告

    自动化巡检介绍 此巡检项目在kolla-ansible部署的openstack环境上开发,利用ansible-playbook编排的功能,对巡检的任务进行编排和数据处理.主要巡检的对象有IaaS平台和 ...

  2. [自动化]基于kolla的自动化部署ceph集群

    kolla-ceph来源: 项目中的部分代码来自于kolla和kolla-ansible kolla-ceph的介绍: 1.镜像的构建很方便, 基于容器的方式部署,创建.删除方便 2.kolla-ce ...

  3. PHP 基于 Jenkins ansible 动态选择版本进行自动化部署与回滚(第二版)

    PHP 基于 Jenkins ansible 动态选择版本进行自动化部署与回滚(第二版) 先看流程图: 大概介绍一下: 版本选择使用jenkins 中的 git parameter 插件实现 回滚方式 ...

  4. 深入理解Openstack自动化部署

    前言 说实话,看到自己在博客园的排名感到惭愧,因为自己最近两年没有持续地在博客园上写技术博客了,有人私下问我是不是荒废了?翻翻15年和16年的博客,真的是少的可怜.一方面的确由于岗位的变化,导致了工作 ...

  5. 基于 Docker 和 GitLab 的前端自动化部署实践笔记

    基于 Docker 和 GitLab 的前端自动化部署 实践笔记 随着接触的项目越来越多,在部署测试流程上重复耗时工作也越来越多,所以对前端工作的CI/CD实现愈发迫在眉睫. 前端开发由于三大框架的崛 ...

  6. Ansible - 简介和应用自动化基础实践

    installAnsible简介和应用自动化基础实践 一.引入: 1.1  如官方定义,Ansible is The simplest way to automate apps and IT infr ...

  7. 自动化运维Ansible安装篇

    Ansible自动化工具之--部署篇 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了 ...

  8. 使用Ansible实现数据中心自动化运维管理

    长久以来,IT 运维在企业内部一直是个耗人耗力的事情.随着虚拟化的大量应用.私有云.容器的不断普及,数据中心内部的压力愈发增加.传统的自动化工具,往往是面向于数据中心特定的一类对象,例如操作系统.虚拟 ...

  9. 【转】使用 Ansible 实现数据中心自动化管理

    长久以来,IT 运维在企业内部一直是个耗人耗力的事情.随着虚拟化的大量应用.私有云.容器的不断普及,数据中心内部的压力愈发增加.传统的自动化工具,往往是面向于数据中心特定的一类对象,例如操作系统.虚拟 ...

随机推荐

  1. ffmpeg+nginx截取屏幕实时画面并进行rtmp推流在前端播放

    准备环境和文件 1.下载ffmpeg的包[https://foxbaby.lanzoui.com/iYjPmup51cd] 地址:https://ffmpeg.org/download.html#bu ...

  2. 《剑指offer》面试题35. 复杂链表的复制

    问题描述 请实现 copyRandomList 函数,复制一个复杂链表.在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null. ...

  3. linux + opencv + cuvid中使用cv::cuda::GpuMat类的一些坑

    1.我最终成功实现了opencv中利用cuvid实现GPU视频解码:核心代码是: 1 cv::cuda::GpuMat d_frame; 2 cv::Ptr<cv::cudacodec::Vid ...

  4. porcupine语音唤醒python实现

    note it is not for arm pyaudio <= 3.6 version porcupine 3.5 3.6 not 3.7 code import struct import ...

  5. [源码分析] Facebook如何训练超大模型 --- (3)

    [源码分析] Facebook如何训练超大模型 --- (3) 目录 [源码分析] Facebook如何训练超大模型 --- (3) 0x00 摘要 0x01 ZeRO-Offload 1.1 设计原 ...

  6. Docker 与 K8S学习笔记(十九)—— Pod的配置管理

    我们在部署应用时常常会考虑将应用程序与配置文件相分离,这样可以使应用程序更好的复用,并且通过不同配置也能实现更灵活的功能.将应用制作成镜像后,我们可以在启动容器时通过环境变量或挂载文件的方式注入,但是 ...

  7. 使用Hot Chocolate和.NET 6构建GraphQL应用(2) —— 实体相关功能实现

    系列导航 使用Hot Chocolate和.NET 6构建GraphQL应用文章索引 需求 在本文中,我们将会准备好用于实现GraphQL接口所依赖的底层数据,为下一篇文章具体实现GraphQL接口做 ...

  8. 第05讲:Flink SQL & Table 编程和案例

    Flink系列文章 第01讲:Flink 的应用场景和架构模型 第02讲:Flink 入门程序 WordCount 和 SQL 实现 第03讲:Flink 的编程模型与其他框架比较 第04讲:Flin ...

  9. K8S探针和SVC,POD原理

    (6)容器是否健康: spec.container.livenessProbe.若不健康,则Pod有可能被重启(可配置策略)   (7)容器是否可用: spec.container.readiness ...

  10. MySQL OOM

    问题 前几天遇到一个奇怪的问题,服务器内存明明够用,结果在对 MySQL 进行测压的时候却出现了 OOM,是 Linux 内核出错了吗? 具体现象如下:使用 sysbench 对 mysql 进行压测 ...