[自动化]基于kolla-ansible部署的openstack自动化巡检生成xlsx报告
自动化巡检介绍
此巡检项目在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-ansible部署的openstack自动化巡检生成xlsx报告的更多相关文章
- [自动化]基于kolla部署的openstack自动化巡检生成xlsx报告
自动化巡检介绍 此巡检项目在kolla-ansible部署的openstack环境上开发,利用ansible-playbook编排的功能,对巡检的任务进行编排和数据处理.主要巡检的对象有IaaS平台和 ...
- [自动化]基于kolla的自动化部署ceph集群
kolla-ceph来源: 项目中的部分代码来自于kolla和kolla-ansible kolla-ceph的介绍: 1.镜像的构建很方便, 基于容器的方式部署,创建.删除方便 2.kolla-ce ...
- PHP 基于 Jenkins ansible 动态选择版本进行自动化部署与回滚(第二版)
PHP 基于 Jenkins ansible 动态选择版本进行自动化部署与回滚(第二版) 先看流程图: 大概介绍一下: 版本选择使用jenkins 中的 git parameter 插件实现 回滚方式 ...
- 深入理解Openstack自动化部署
前言 说实话,看到自己在博客园的排名感到惭愧,因为自己最近两年没有持续地在博客园上写技术博客了,有人私下问我是不是荒废了?翻翻15年和16年的博客,真的是少的可怜.一方面的确由于岗位的变化,导致了工作 ...
- 基于 Docker 和 GitLab 的前端自动化部署实践笔记
基于 Docker 和 GitLab 的前端自动化部署 实践笔记 随着接触的项目越来越多,在部署测试流程上重复耗时工作也越来越多,所以对前端工作的CI/CD实现愈发迫在眉睫. 前端开发由于三大框架的崛 ...
- Ansible - 简介和应用自动化基础实践
installAnsible简介和应用自动化基础实践 一.引入: 1.1 如官方定义,Ansible is The simplest way to automate apps and IT infr ...
- 自动化运维Ansible安装篇
Ansible自动化工具之--部署篇 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了 ...
- 使用Ansible实现数据中心自动化运维管理
长久以来,IT 运维在企业内部一直是个耗人耗力的事情.随着虚拟化的大量应用.私有云.容器的不断普及,数据中心内部的压力愈发增加.传统的自动化工具,往往是面向于数据中心特定的一类对象,例如操作系统.虚拟 ...
- 【转】使用 Ansible 实现数据中心自动化管理
长久以来,IT 运维在企业内部一直是个耗人耗力的事情.随着虚拟化的大量应用.私有云.容器的不断普及,数据中心内部的压力愈发增加.传统的自动化工具,往往是面向于数据中心特定的一类对象,例如操作系统.虚拟 ...
随机推荐
- java计算器(简单版)
前言 之前在学习完Java的方法后,我发现自己可以开始写计算器这个"经典"的项目了,于是我花了一点时间写下了这个计算器的程序,也写下了这篇文章. 在这里,我需要说明一下,这个程序只 ...
- javascript随机变色--案例
1.打开网页,网页效果如图所示 代码如下: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset=" ...
- 微服务探索之路02篇liunx ubuntu服务器部署k8s(kubernetes)-kubernetes/dashboard
本章介绍所需环境:ubuntu18.04,建立在上一篇微服务探索之路01篇已经安装了docker的基础上. 1 替换k8s镜像源为国内镜像 进入目录 cd /etc/apt/sources.list. ...
- 2月3日 体温APP开发记录
1.阅读构建之法 现代软件工程(第三版) 2.观看Android开发视频教程最新版 Android Studio开发 3.回返地址学习,下载导入相关jar包
- 【记录一个问题】linux + opencv + gpu视频解码,好不容易编译通过,运行又coredump了
1.首先编译了opencv + cuda 编译选项中使用了以下关于cuvid库的内容: //"nvcuvid" libraryCUDA_nvcuvid_LIBRARY:FILE ...
- && || 区别
command1 && command2 如果command1 成功,那么就执行command2 command1 || command2 如果command1 不成功,那么就执行co ...
- 西安腾讯DevOps面试题python算法输出列表数值下界
给定一个列表,然后给一个目标值,列表中两数求和等于目标值,要求输出列表两数的下界 如 list = [1,2,3,4,6,7,8] num=10 #!/usr/bin/python #coding=u ...
- mycat 简单介绍
一.mycat? 1.为什么叫mycat 其实mycat在最早的初期版本只支持mysql一种数据库,换句话说mycat其实就是mysql的增强版 在mysql中只是数据库,并没有读写分离和分库分表,这 ...
- 对axios的理解
axios是基于promise的,可以使用promise api axios的请求方式 axios(config) axios.request(config) axios.get(url [,conf ...
- HttpClient 的Timeout waiting for connection from pool
Timeout waiting for connection from pool 异常 httpClient大家用到地方会很多,先简单描述一下几个关键配置的意义 httpClient版本为4.5.1 ...