Ansible自动化采集数据并生成巡检报告
云原生生态圈 · 往期推荐
云原生生态圈之玩转容器系列文章
云原生生态圈之运维架构专辑文章
云原生生态圈之DevOps理论与实践系列文章
云原生生态圈之Kubernetes理论与实践系列文章
云原生生态圈之Go语言系列文章 技术源于生活系列视频
前段时间在GitHub[1]上发现了一个Ansible巡检服务的Roles, 今天给大家分享一下!
1Ansible自动化实现巡检
思路:通过使用
Ansible Role
的方式对Linux系统进行资源巡检,生成巡检报告后通过邮件发送给接收人。
2测试的环境
ansible [core 2.12.2]
os `Centos 7 X64`
python version = 3.10.2 (main, Feb 2 2022, 06:19:27)
3oss-check Roles的依赖
过滤器插件
filter_plugins/os-check.py [get_check_data]
目标机
bash
说明,此处的过滤器插件要放在ansible指定的filter_plugins的位置,我这里习惯将ansible的配置文件放在ansible的统一配置仓库下,便于迁移以及适应环境:
4oss-check Roles的执行流程
使用脚本
roles/oss_check/files/check_linux.sh
在目标节点执行获取资源数据,并以json结构体返回。使用
jinja2
模板将获取的数据渲染到模板文件中roles/oss_check/templates/report-cssinline.html
,生成的文件存放在指定的目录中。
report-cssinline.html
是将css设置以inline
的方式存储的html文件,report.html
才是源模板文件,修改完源模板文件后,使用Responsive Email CSS Inliner[2]进行转换下,才能更好的兼容邮件显示。其模板中使用的
get_check_data
过滤器是从hostvars
中获取每台主机的脚本执行结果,进行分析整理传递给模板,使用传递回来的数据进行渲染。
获取生成的模板文件内容,并通过smtp发送给接收人。
5oss-check Roles采集的指标信息
Hostname
Main IP
OS Version
CPU Used
CPU LoadAvg
Mem Used
Swap Used
Disk Size Used
Disk Inode Used
Tcp Connection Used
Timestamp
6Oss-check Roles数据阈值的分组
采集出的数据,会通过设置好的阈值分为三个档次,
OK: < 80
Bad评判条件: 80 <= 使用率 < 90,
Critical评判条件: 使用率 >= 90
7定期执行扫描
集群节点扫描一般都是主动查看集群运行状态,主观判断的集群节点运行的状态,一般都会在节假日之前进行扫描一次,当然也可以通过自动化工具进行定期扫描,比如jenkins.
8如何跑起来?
克隆好项目之后,将roles放置在自己ansible项目的roles目录下
确认ansible.cfg配置文件中filter_plugin的位置,将克隆项目的
filter_plugins/os-check.py
放在配置文件指定的filter_plugin中创建oss-check运行的playbooks
---
- name: 服务器巡检hosts: qa_unixgather_facts: falsevars:check_report_path: /tmpcheck_mail_host: "smtp.163.com"check_mail_port: "465"check_mail_username: "demo@163.com"check_mail_password: "demo@163.com邮箱的密码"check_mail_to: [ "接收人的邮箱地址" ]check_email_title: "Ansible 集群巡检报告"check_email_env: "QA"roles:- os-check
inventory/qa.ini
是待执行环境的inventory,最后执行就OK了,
/usr/bin/ansible-playbook -i inventory/qa.ini playbooks/os_check_qa.yaml
如果执行遇到问题,那就通过-v查看信息吧,v的数量越多,信息量就越大
希望能帮助到你,感谢一键三连,分享给更多需要的人
[1]
Ansible oss-check: https://github.com/lework/Ansible-roles/tree/master/os-check
[2]
Responsive Email CSS Inliner: https://htmlemail.io/inline/
历史精彩文章:
别让自己太忙,一文详解 Ansible 的自动化运维
没有集群照样学Ansible:托管的容器环境(实用)
Ansible-tower 你还没用起来吗?
Ansible自动化采集数据并生成巡检报告相关推荐
- Python 基于 Prometheus 数据生成巡检报告
设计思路 1.基于Prometheus 开放接口获取数据(node_exporte/windows_exporter) 2.存放数据至mysql数据库 3.基于jinja2 编写模板生成巡检报告.ht ...
- dy自动化采集数据滑动验证解决方案
一.自动化采集数据时如何避免滑动验证的阻塞问题 在使用dy刷视频时,如果手速过快就会触发滑动验证码.一般来说,要通过滑块验证需要手动滑动或使用脚本自动滑动,但是如果我们想要自动化采集一些数据,一旦触发 ...
- 数据采集:如何自动化采集数据
数据采集:如何自动化采集数据 一个数据的走势,是由多个维度影响的,收集到尽可能多的数据维度,同时保证数据的质量,才能得到高质量的数据挖掘结构 数据源分四类:开放数据源(政府.企业.高校).爬虫抓取(网 ...
- 08 | 数据采集:如何自动化采集数据?
上一节中我们讲了如何对用户画像建模,而建模之前我们都要进行数据采集.数据采集是数据挖掘的基础,没有数据,挖掘也没有意义.很多时候,我们拥有多少数据源,多少数据量,以及数据质量如何,将决定我们挖掘产出的 ...
- python将Excel数据自动生成Word报告【Pyhon-docx\openpyxl】
我写在了知乎,图片没有搬运过来.链接:https://zhuanlan.zhihu.com/p/371767402 需求:日常工作中,需要对Excel表格的数据进行筛选计算整理,然后将数据做成Word ...
- 08 数据采集 - 如何自动化采集数据
# Author:Nimo_Ding''' 数据源: 1.开放数据源政府 企业 高校 2.爬虫抓取网页 app - 例如购物评价Python爬虫三个步骤:1.requests库爬取内容2.XPath解 ...
- 一种基于机载AI模块的多旋翼无人机的电力巡检报告生成方法
一种基于机载AI模块的多旋翼无人机的电力巡检报告生成方法 1 摘要 无人机在输电线路巡检通常采用无人机进行巡检的方式进行,通过无人机按照一定的航线飞行,在预设的点位拍摄获取电力器件的照片然后上传到服务 ...
- python自动生成分析报告_利用PYTHON全自动生成分析报告
日常工作当中,特别是金融行业当中,有不少人的工作是提取数据,分析数据,得到可视化图表,并加入自已的研究分析结论,最终生成分析报告,并且有不少报告是定期生成,存在不少重复手工劳动.本文通过一个简单实例, ...
- python股票数据分析_利用PYTHON全自动生成分析报告
日常工作当中,特别是金融行业当中,有不少人的工作是提取数据,分析数据,得到可视化图表,并加入自已的研究分析结论,最终生成分析报告,并且有不少报告是定期生成,存在不少重复手工劳动.本文通过一个简单实例, ...
- 生成一份mysql巡检报告
我很遗憾地告诉您,作为一个语言模型,我无法生成报告.不过,您可以使用MySQL的监控和维护工具,例如MySQL Enterprise Monitor,来生成巡检报告.您还可以自己手动检查数据库的状态, ...
最新文章
- grep,egrep及元字符和posix字符集
- 5中打开safari_iOS13版Safari浏览器新功能上线:可调节上传照片大小
- java mysql 占位符_在Java中编写带占位符的SQL语句
- 释疑の采购订单的批量修改
- 压力测试工具Jemeter安装及使用
- python做股票分析_利用Python进行股票投资组合分析(调试)
- UISwitch 添加 标签
- matlab画满载率渐变图,数学建模论文-校园公交车调度问题
- 腾讯云数据库 TDSQL—— 私有云安装部署手册
- win7如何设置通电自动开机_WIN7自动开机怎么设置?
- 25.龙贝格求积公式
- 5款热门的远程控制软件,让你事半功倍
- 一个屌丝程序猿的人生(四十三)
- 计算机管理储存u盘无法使用,U盘无法识别的三种常见情况
- 基于51单片机的简易数字电压表proteus仿真原理图程序设计
- 新疆工程学院计算机在哪个校区,2021年新疆大学有几个校区,大一新生在哪个校区...
- vue系列教程之微商城项目|项目介绍
- kartoSLAM报错 transform_tolerance修改解决
- C++ 实现一个复数类
- 打造前端 Deepin Linux 工作环境——安装配置 atom 编辑器
热门文章
- 访问共享盘,无法访问,您可能没有权限使用网络资源,请与这台服务器的管理员联系以查明您是否有访问权限。...
- Material-design icon生成插件
- candence测量尺寸
- 泰勒展开式求sinx近似值
- VS2019CPU/内存诊断功能
- ECCV 2020 五项大奖出炉!普林斯顿邓嘉获最佳论文奖
- 139显示无法imap服务器,139邮箱客户端 imap服务器
- mac 电脑软件安装常见的问题
- verilog 四舍五入_Verilog进行饱和与截位操作
- ArcGIS API for iOS在俄勒冈大学校园中的创新应用