自动化巡检介绍

此巡检项目在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自动化巡检

注意事项:

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

执行巡检并处理json数据

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

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

{
"os": {
"1.88.88.1": {
"cpu_usedutilization": "5.17%",
"default_ipv4": "1.88.88.1",
"hostname": "control01",
"mem_usedutilization": "27.46%",
"os_pretty_name": "CentOS Linux 7 (Core)",
"size_usedutilization": "64%",
"uptime": "256"
},
"1.88.88.2": {
"cpu_usedutilization": "9.04%",
"default_ipv4": "1.88.88.2",
"hostname": "control02",
"mem_usedutilization": "37.85%",
"os_pretty_name": "CentOS Linux 7 (Core)",
"size_usedutilization": "56%",
"uptime": "256"
},
"1.88.88.3": {
"cpu_usedutilization": "5.39%",
"default_ipv4": "1.88.88.3",
"hostname": "control03",
"mem_usedutilization": "24.08%",
"os_pretty_name": "CentOS Linux 7 (Core)",
"size_usedutilization": "44%",
"uptime": "256"
},
},
"platform": {
"compute_overview": {
"cinder_volume": true,
"nova_compute": true,
"openvswitch_agent": true
},
"control_overview": {
"control_ceph_mon": true,
"control_cinder": true,
"control_glance": true,
"control_haproxy": true,
"control_heat": true,
"control_horizon": true,
"control_keepalived": true,
"control_keystone": true,
"control_memcached": true,
"control_mysql": true,
"control_network": true,
"control_network_dhcp": true,
"control_neutron": true,
"control_nova": true,
"control_rabbitmq": true
},
"platform_overview": {
"ceph_cluster_overview": {
"ceph_health_status": true,
"ceph_osd_status": true,
"ceph_storage_rate": "1.94%",
"ceph_storage_total": "218TiB",
"ceph_storage_used": "4.2TiB"
},
"cluser_node_count": "8",
"engineer_name": "test",
"iaas_memory_overview": {
"memory_total_gb": "306124GiB",
"memory_total_mb": "3134712",
"memory_used_mb": "245760",
"mepm_used_rate": "7.84%"
},
"iaas_service_overview": {
"ops_cinder": false,
"ops_heat": false,
"ops_neutron": true,
"ops_nova": false
},
"iaas_url": "https://1.88.88253:81",
"iaas_vcpus_overview": {
"vcpus_core_rate": "24.11%",
"vcpus_core_total": "448",
"vcpus_core_used": "108"
},
"iaas_version": "train",
"iaas_vm_sum": 11,
"montior_url": "https://1.88.88.253:3000",
"mysql_cluster_status": true,
"now_day": "2021-03-02",
"rabbitmq_cluster_status": true
}
}
}

生成xlsx巡检报告

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

  • ansible-playbook generate_xlsx.yml

xlxs报告模板

IaaS巡检报告

OS巡检报告

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

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

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

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

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

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

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

  4. 基于Jenkins,docker实现自动化部署(持续交互)

      前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此 ...

  5. 基于Jenkins,docker实现自动化部署(持续交互)【转】

      前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此 ...

  6. 基于 Node.js 的服务器自动化部署搭建实录

    基于 Node.js 的服务器自动化部署搭建实录 在服务器上安装 Node.js 编写拉取仓库.重启服务器脚本 配置 Github 仓库的 Webhook 设置 配置 Node.js 脚本 其他问题 ...

  7. 基于云原生DevOps服务自动化部署前端项目学习总结

    本文主要以部署前端Vue项目为例,讲述了如何基于云原生DevOps服务自动化部署前端项目~从开发完成到线上环境,我们只需提交代码即可~ 一.引言 作为一名开发人员,日常工作中我们除了需要负责代码的开发 ...

  8. OpenStack(二)——使用Kolla部署OpenStack-allinone云平台

    (1).Kolla概述 Kolla是OpenStack下用于自动化部署的一个项目,它基于docker和ansible来实现,其中docker主要负责镜像制作和容器管理,ansible主要负责环境的部署 ...

  9. 比Ansible更吊的自动化运维工具,自动化统一安装部署_自动化部署udeploy 1.0

    新增功能: 2015-03-11 除pass(备份与更新)与start(启动服务)外,实现一切自动化. 注:pass与start设为业务类,由于各类业务不同,所以无法实现自动化.同类业务除外,如更新的 ...

随机推荐

  1. IP第一次实验:静态综合

  2. 微信小程序云开发框架

    概述 一直做后端服务器开发,最近看了一篇文章介绍小程序的云开发模式,觉得挺有意思,就尝试了一下,由本文做个记录. 因为不是专业的小程序开发人员,也没有做过网页开发,所以论述中出现错误难以避免,请多谅解 ...

  3. VictoriaMerics学习笔记(1):翻译官方广告

    先看看VictoriaMetrics官网网站上是如何作(tree)宣(new)传(bee)的: 官方广告 0.(监控领域)最快解决方案 为高性能而设计 便于安装 支持单机和群集版本 1.更高效的存储空 ...

  4. 【涨姿势】原来golang的case <-time.After(xxx)还有这样的坑

    偶然看到这样一篇文章:<使用 pprof 排查 Golang 内存泄露>https://www.toutiao.com/i6881796351139676680/ 最后一段让我很疑惑: 修 ...

  5. 走进Task(1):什么是Task

    目录 前言 从表象讲起 Task 从何而来 Task 常见用法 Task 的分类 按是否包含 Result 分,也就是是否是泛型 Task 按得到 Task 的方式,可以分为 对 Task 进行分解 ...

  6. spring拦截机制中Filter(过滤器)、interceptor(拦截器)和Aspect(切面)的使用及区别

    Spring中的拦截机制,如果出现异常的话,异常的顺序是从里面到外面一步一步的进行处理,如果到了最外层都没有进行处理的话,就会由tomcat容器抛出异常. 1.过滤器:Filter :可以获得Http ...

  7. 领域驱动设计-CQRS

    CQRS 代表命令查询职责分离.这是我第一次听到Greg Young描述的模式.其核心概念是,您可以使用与用于读取信息的模型不同的模型来更新信息.在某些情况下,这种分离可能很有价值,但请注意,对于大多 ...

  8. java-异常-异常处理原则

    1 异常处理的原则: 2 * 1,函数内部如果抛出需要检测的异常,那么函数上必须要声明. 3 * 否则必须在函数内用trycatch捕捉,否则编译失败. 4 * 5 * 2,如果调用到了声明异常的函数 ...

  9. 源码安装gitlab

    GitLab服务构成 GitLab由以下服务构成:   nginx:静态Web服务器 gitlab-shell:用于处理Git命令和修改authorized keys列表 gitlab-workhor ...

  10. kubernetes之配置Metrics Server

    Kubernetes 1.8 关于资源使用情况的 metrics,可以通过 Metrics API 获取到, Kubernetes 1.11 已经废弃 heapster.这里我们基于 Kubernet ...