本文目录一览:
- 1、如何用python做一个设备运维软件
- 2、如何使用python写华三设备的自动化巡检脚本
- 3、那个网管平台可以支持自定义巡检?
- 4、2019-06-14 Python Paramiko模块 在Huawei OLT巡检实例
- 5、python常用到哪些库?
- 6、设备巡检的设备巡检工作流程
如何用python做一个设备运维软件
Python开发的jumpserver跳板机
jumpserver跳板机是一款由Python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能。基于ssh协议来管理,客户端无需安装agent。
企业主要用于解决:可视化安全管理
特点:完全开源,GPL授权
Python编写,Django开发框架,容易再次开发
实现了跳板机基本功能:认证、授权、审计。集成了Ansible、批量命令等。功能强大。
通俗点就是起到监控谁在服务器上做了什么操作等。录像回放、命令搜索、实时监控、批量上传下载等。
第三:Python开发的Magedu分布式监控系统
以自动化运维视角为出发点,自动化功能、监控告警、性能调优,结合saltstack实现自动化配置管理等内容进行了全方位的深入剖析。
企业主要用于解决:自动化监控常用系统服务、应用、网络设备等。分布式可监控更多服务器,分区域监控再汇总。Zabbix监控结合Python自定义监控脚本。
监控系统需求讨论:
监控常用系统服务、应用、网络设备等?一台主机上可监控多个不同服务、不同服务的监控间隔可不同?同一个服务在不同主机上的监控间隔、报警阈值可不同?告警级别?数据可视化,如何做出简洁美观的用户界面?如何实现单机支持5000+机器监控需求?采取何种通信方式?主动、被动?
第四:Python开发的Magedu的CMDB
cmdb的开发需要包含三部分功能:采集硬件数据、API、页面管理。
企业主要用于解决:项目功能,采集硬件数据、Api、页面管理。统计资产,例如服务器存放位置,服务器上的账号等等。
执行服务的过程如下:服务器的客户端采集硬件数据,然后将硬件信息发送到API,API负责将获取到的数据保存到数据库中,后台管理程序负责对服务器信息的配置和展示。
第五:Python开发的任务调度系统
Python任务调度系统的multiprocessing模块不但支持多进程,其中managers子模块还支持把多进程分布到多台机器上。
企业主要用于解决:通俗的理解,批量管理crontab定时任务。原理用户通过web页面设置任务,传输到任务调度系统服务器上的客户端,客户端收集数据反馈给服务器端,服务器端根据任务具体内容调度后端的集群服务器做定时任务。
一个服务进程可以作为调度者,将任务分布到其他多个机器的多个进程中,依靠网络通信。想到这,就在想是不是可以使用此模块来实现一个简单的作业调度系统。
第六:Python运维流程系统
使用python语言编写的调度和监控工作流的平台内部用来创建、监控和调整数据管道。任何工作流都可以在这个使用Python来编写的平台上运行。
企业主要用于解决:通俗点说就是规范运维的操作,加入审批,一步一步操作的概念。
是一种允许工作流开发人员轻松创建、维护和周期性地调度运行工作流(即有向无环图或成为DAGs)的工具。这些工作流包括了如数据存储、增长分析、Email发送、A/B测试等等这些跨越多部门的用例。
这个平台拥有和 Hive、Presto、MySQL、HDFS、Postgres和S3交互的能力,并且提供了钩子使得系统拥有很好地扩展性。除了一个命令行界面,该工具还提供了一个基于Web的用户界面让您可以可视化管道的依赖关系、监控进度、触发任务等。
来个小总结
如何使用python写华三设备的自动化巡检脚本
python在多个领域都有很多应用,常用的文件处理,系统管理等,网站构建有强大的django框架,生
那个网管平台可以支持自定义巡检?
SugarNMS智和网管平台就支持自定义巡检策略,对设备的运行情况进行统计和报表生成,并可自定义预设时间向指定邮箱发送巡检结果报表,实现对网络设备的定期检查。
2019-06-14 Python Paramiko模块 在Huawei OLT巡检实例
要对一批华为OLT(MA5800X7)进行巡检,其中有一项是检查lacp的配置。因为设备比较多,准备写一个python脚本来做。思路如下:
首先看下在OLT上要检查什么,用什么命令。
如果LACP正确配置的话,0/9/0-3 都会加入到0/8/0这个master port,就是说,配置里需要有” link-aggregation add-member 0/8/0 0/9 0,1,2,3“ 这一条。那么任务就可以简单描述为:
1、登录OLT
2、enable (dis cur | xx 需要权限)
3、执行命令:"display current-configuration | include link-aggregation"
4、获取输出,查找 " link-aggregation add-member 0/8/0 0/9 0,1,2,3" 关键字符串
5、打印查找结果,或者输出到文档
6、循环,继续下一台OLT
用Python实现的话,主要用到Paramiko模块,以及一些循环,正则表达式和标准输入输出。
下面的脚本是连接OLT,执行多条命令的范例:
python常用到哪些库?
Python作为一个设计优秀的程序语言,现在已广泛应用于各种领域,依靠其强大的第三方类库,Python在各个领域都能发挥巨大的作用。
下面我们就来看一下python中常用到的库:
数值计算库:
1. NumPy
支持多维数组与矩阵运算,也针对数组运算提供大量的数学函数库。通常与SciPy和Matplotlib一起使用,支持比Python更多种类的数值类型,其中定义的最重要的对象是称为ndarray的n维数组类型,用于描述相同类型的元素集合,可以使用基于0的索引访问集合中元素。
2. SciPy
在NumPy库的基础上增加了众多的数学、科学及工程计算中常用的库函数,如线性代数、常微分方程数值求解、信号处理、图像处理、稀疏矩阵等,可进行插值处理、信号滤波,以及使用C语言加速计算。
3. Pandas
基于NumPy的一种工具,为解决数据分析任务而生。纳入大量库和一些标准的数据模型,提供高效地操作大型数据集所需的工具及大量的能快速便捷处理数据的函数和方法,为时间序列分析提供很好的支持,提供多种数据结构,如Series、Time-Series、DataFrame和Panel。
数据可视化库:
4. Matplotlib
第一个Python可视化库,有许多别的程序库都是建立在其基础上或者直接调用该库,可以很方便地得到数据的大致信息,功能非常强大,但也非常复杂。
5. Seaborn
利用了Matplotlib,用简洁的代码来制作好看的图表。与Matplotlib最大的区别为默认绘图风格和色彩搭配都具有现代美感。
6. ggplot
基于R的一个作图库ggplot2,同时利用了源于《图像语法》(The Grammar of Graphics)中的概念,允许叠加不同的图层来完成一幅图,并不适用于制作非常个性化的图像,为操作的简洁度而牺牲了图像的复杂度。
7. Bokeh
跟ggplot一样,Bokeh也基于《图形语法》的概念。与ggplot不同之处为它完全基于Python而不是从R处引用。长处在于能用于制作可交互、可直接用于网络的图表。图表可以输出为JSON对象、HTML文档或者可交互的网络应用。
8. Plotly
可以通过Python notebook使用,与Bokeh一样致力于交互图表的制作,但提供在别的库中几乎没有的几种图表类型,如等值线图、树形图和三维图表。
9. pygal
与Bokeh和Plotly一样,提供可直接嵌入网络浏览器的可交互图像。与其他两者的主要区别在于可将图表输出为SVG格式,所有的图表都被封装成方法,且默认的风格也很漂亮,用几行代码就可以很容易地制作出漂亮的图表。
10. geoplotlib
用于制作地图和地理相关数据的工具箱。可用来制作多种地图,比如等值区域图、热度图、点密度图。必须安装Pyglet(一个面向对象编程接口)方可使用。
11. missingno
用图像的方式快速评估数据缺失的情况,可根据数据的完整度对数据进行排序或过滤,或者根据热度图或树状图对数据进行修正。
web开发库:
12. Django
一个高级的Python Web框架,支持快速开发,提供从模板引擎到ORM所需的一切东西,使用该库构建App时,必须遵循Django的方式。
13. Socket
一个套接字通讯底层库,用于在服务器和客户端间建立TCP或UDP连接,通过连接发送请求与响应。
14. Flask
一个基于Werkzeug、Jinja 2的Python轻量级框架(microframework),默认配备Jinja模板引擎,也包含其他模板引擎或ORM供选择,适合用来编写API服务(RESTful rervices)。
15. Twisted
一个使用Python实现的基于事件驱动的网络引擎框架,建立在deferred object之上,一个通过异步架构实现的高性能的引擎,不适用于编写常规的Web Apps,更适用于底层网络。
数据库管理:
16. MySQL-python
又称MySQLdb,是Python连接MySQL最流行的一个驱动,很多框架也基于此库进行开发。只支持Python 2.x,且安装时有许多前置条件。由于该库基于C语言开发,在Windows平台上的安装非常不友好,经常出现失败的情况,现在基本不推荐使用,取代品为衍生版本。
17. mysqlclient
完全兼容MySQLdb,同时支持Python 3.x,是Django ORM的依赖工具,可使用原生SQL来操作数据库,安装方式与MySQLdb一致。
18. PyMySQL
纯Python实现的驱动,速度比MySQLdb慢,最大的特点为安装方式简洁,同时也兼容MySQL-python。
19. SQLAlchemy
一种既支持原生SQL,又支持ORM的工具。ORM是Python对象与数据库关系表的一种映射关系,可有效提高写代码的速度,同时兼容多种数据库系统,如SQLite、MySQL、PostgreSQL,代价为性能上的一些损失。
自动化运维:
20. jumpsever跳板机
一种由Python编写的开源跳板机(堡垒机)系统,实现了跳板机的基本功能,包含认证、授权和审计,集成了Ansible、批量命令等。
支持WebTerminal Bootstrap编写,界面美观,自动收集硬件信息,支持录像回放、命令搜索、实时监控、批量上传下载等功能,基于SSH协议进行管理,客户端无须安装agent。主要用于解决可视化安全管理,因完全开源,容易再次开发。
21. Magedu分布式监控系统
一种用Python开发的自动化监控系统,可监控常用系统服务、应用、网络设备,可在一台主机上监控多个不同服务,不同服务的监控间隔可以不同,同一个服务在不同主机上的监控间隔、报警阈值可以不同,并提供数据可视化界面。
22. Magedu的CMDB
一种用Python开发的硬件管理系统,包含采集硬件数据、API、页面管理3部分功能,主要用于自动化管理笔记本、路由器等常见设备的日常使用。由服务器的客户端采集硬件数据,将硬件信息发送至API,API负责将获取的数据保存至数据库中,后台管理程序负责对服务器信息进行配置和展示。
23. 任务调度系统
一种由Python开发的任务调度系统,主要用于自动化地将一个服务进程分布到其他多个机器的多个进程中,一个服务进程可作为调度者依靠网络通信完成这一工作。
24. Python运维流程系统
一种使用Python语言编写的调度和监控工作流的平台,内部用于创建、监控和调整数据管道。允许工作流开发人员轻松创建、维护和周期性地调度运行工作流,包括了如数据存储、增长分析、Email发送、A/B测试等诸多跨多部门的用例。
GUI编程:
25. Tkinter
一个Python的标准GUI库,可以快速地创建GUI应用程序,可以在大多数的UNIX平台下使用,同样可以应用在Windows和Macintosh系统中,Tkinter 8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。
26. wxPython
一款开源软件跨平台GUI库wxWidgets的Python封装和Python模块,是Python语言的一套优秀的GUI图形库,允许程序员很方便地创建完整的、功能健全的GUI用户界面。
27. PyQt
一个创建GUI应用程序的工具库,是Python编程语言和Qt的成功融合,可以运行在所有主要操作系统上,包括UNIX、Windows和Mac。PyQt采用双许可证,开发人员可以选择GPL和商业许可,从PyQt的版本4开始,GPL许可证可用于所有支持的平台。
28. PySide
一个跨平台的应用程式框架Qt的Python绑定版本,提供与PyQt类似的功能,并相容API,但与PyQt不同处为其使用LGPL授权。
更多Python知识请关注Python自学网。
设备巡检的设备巡检工作流程
1.用户在管理端软件制定设备巡检计划,包括定义相应的检测区域,检查点,检测项目等内容;2.巡检前,巡检人员先从管理端下载相应的巡检任务(巡检内容)至巡检仪终端;3.下载巡检任务后, 操作人员就可直接手持巡检仪根据巡检路线进行检测;4.检查完毕后,操作人员将检查结果通过网络上传到系统数据库中;5.检查结果上传至数据库中后,系统可直接生成设备巡检分析报表,方便管理人员作统计分析;
一、为什么石油石化企业需要设备巡检系统
石油石化工厂的危险性:石油石化是高温高压、易燃易爆有毒的危险行业,生产工艺复杂,装置大型化,微小的事故可能会造成重大影响,而且一旦发生事故就容易造成群死群伤的恶性事故,如重庆12·23特大井喷,造成243人死亡,2142中毒住院治疗,65000名当地居民被紧急疏散,各种经济损失达6432万元的重大事故。所以对石油石化行业对安全管理要求极为严格。
传统的巡检方法不能高效、严格的管理巡检人员:如今石油石化系统安全巡检工作主要是通过安检员的定期巡查和上级督查部门的不定期抽查两种方式:在巡查地点或设备处放置一可拨动式表盘,安检员每到一个地方后,拨动表盘时钟指向巡查时间;还有的是通过投纸条,安检员把写有巡检时间的纸条放入纸箱内,以此来记录巡查情况。上级部门再对安检员的巡查情况进行抽查。由此可以看出,这种考核方式是很不科学的,即难核实时间,又很容易让某些安检员放松警觉,很可能因为一个小的操作失误就有可能导致灾难性的后果。思想工作的宣传固然重要,但应该加强科学化的安全巡检管理方法才是避免事故发生的有效途径。
工厂设备每天需要点检参数、检查零件是否完好:巡检人员以往是用纸制的记录本对设备的参数进行选择,这样很难掌控巡检人员的巡检时间、巡检数据的真实性。
二、石油石化企业应该选择什么样的设备
有防爆资格证:石油石化企业的工厂环境对电子产品要求比较严格,正常来说工厂工人是连手机都不允许带入工厂内部的,以免由于高温高压、易燃易爆设备带来不必要的事故。
少接口的巡检设备:工厂内部粉尘比较多,一般带的USB口通讯的设备比较容易损坏,所以应该选择通讯座传输数据或红外传输数据的设备。
选择适合自己的设备:如若需要记录点检工厂设备的参数、运行状态、到达各个设备的时间、日期、名称,则需选用中文V8数据采集器。数据采集器多种多样,一般都是带显示的,由于工厂环境有的高温高压,所以需要选择OLED显示屏的设备,而不是普通液晶,带OLED显示屏工作温度在 -40℃ ~ +80℃,抗震能力高于液晶显示屏,而且在阳光下仍然显示清晰。
三、石油石化设备巡检管理系统简介
巡检系统就是以点检为核心的设备维修管理体制,是实现设备可靠性、维护性、经济性,并使上述三方面达到最佳化管理的机制,是按照预先制定的技术标准,定人、定点、定期、定方法、定标准地对设备进行检查的一种管理方法。
唯实保安巡检管理系统包括:巡检点、V8数据采集器、红外通讯座、远程通讯座(可选)、管理软件(网络版、互联巡检版)等主要部分。
四、工作过程:以下为两种巡检系统的工作流程
网络版软件V9.0:工厂内部设立一台服务器(windows2003系统、SQL Server2005数据
库),将V9.0软件安装在这台服务器上,只要有广域网或局域网的地方就可以查询或上传巡检数据,可以实现上级管理下
级的部门管理,给各部门负责人分配权限,使得各尽其责。适合全国连锁或大型工厂企业使用。V9.0系统拓扑图及工作流程如右侧:
1. 安装及配置服务器:安装SQLServer2005数据库、配置IIS。
2. 设置软件:设置巡检点、巡检设备、巡检设备要点检的项目、巡检人员、巡检计划等。我们以某钢铁集团为例,设置萘打包输送泵、转鼓结晶机、配电柜三个设备的项目: 设备名称 点检项目 点检周期及分工 设备状态 点检方法 萘打包输送泵A 出口压力
地脚/接地
震动
声响
联轴器
油位
温度
密封
盘车
运行状态 1次/2小时 运行/停止 目视、手感、听声、仪器、其他 转鼓结晶机D 振动
声响
地脚/接地
油位
联轴器
密封
温度
电流
盘车
运行状况
固萘生产量 生产部 1次/2小时
维修部 1次/周 运行/停止 目视、手感、听声、仪器、DSC 201配电柜1# 电流
电压
功率因数 维修部 1次/周 运行/停止 目视、手感、听声、仪器、DSC 3. 下载档案:将设置好的巡检点、巡检设备、巡检设备要点检的项目、巡检人员、巡检计划形成档案下载到V8数据采集器中。
4. 安装巡检点:将巡检点安装到需要点检的设备附近。
5. 巡检:巡检人员在巡查开始时首先选择V8数据采集器中巡检人员姓名,即先确定巡检人员身份,然后开始一条线路的设备点检,读取巡检点后V8数据采集器屏幕显示该地点的巡检项目内容,巡检人员按提示输入该地点的现场状况信息,所有项目输入完毕后采集器保存记录,巡检记录内容由设备名称、读卡时间、卡号及巡检项目等组成。巡检过程中可本机查询全部被检设备、任务列表、已巡检项目记录、下一个巡检地点。
6. 上传巡检数据:上传数据有两种途径,一是在车间或者办公室准备一台或多台电脑,这台电脑需要和服务器连网(互联网、局域网均可),将巡检数据通过近程红外通讯座上传到此台电脑上,然后通过网络上传到服务器上。二是在车间或者办公室准备一台或多台远程通讯座以网线或电话线两种连接服务器,将巡检数据通过远程通讯座红外模式上传,然后通过网络上传到服务器上,这样即使工厂内部没有电脑也可以上传数据,不必担心由于电脑中病毒而无法上传数据的烦恼。
7. 查看巡检数据:只要和服务器在同一个网络内(互联网、局域网)的电脑都能查看数据
互联巡检版软件:唯实设立一台公共服务器,用户无需提供操作系统、数据库、计算机管理
员等,唯实工程师负责设置及维护用户信息,用户只需买回产品即可使用,无需设置软件、接受培训;而且只要有网络的地方即可上传、查看巡检数据;具有网络版V9.0的多级管理,权限分配等功能。工作流程及拓扑图如下右侧
1. 将要巡检的设备名称及项目等信息提供给唯实工程师,唯实工程师将帮您设置好巡检系统。
2. 待唯实工程师设置好一切后,将巡检档案下载到V8数据采集器中;将巡检点安装到要巡检的设备附近。
由于唯实保安巡检管理系统应用了计算机软件及自动识别等多方面的高新技术,因此巡检记录无法伪造,从而保证了统计结果的真实性。该系统为保安的巡检工作提供了科学的管理依据,可以彻底杜绝因为存在侥幸麻痹心理逃避巡检情况的出现。
设备巡检报表:
***统计结果可以根据不同需求统计。
例如:原始记录查询
查看2010-10-26 13:23——2010-12-07 13:23的巡检数据
说明:“合成压缩一楼”这个设备点需要点检“油站运行情况”、“油泄漏情况”、“温度”三个项目。其中“油站运行情况”是单选类型,需要选择正常与异常;“油泄漏情况”为多选类型,可同时选择多个选项;“温度”为数值类型,需要输入温度的数值。
五、为什么选择V8数据采集器
坚固耐用=2.5mm工程塑料外壳+防震防水护套+红外通讯。
OLED彩色显示屏,性能稳定,阳光下比彩色液晶显示更清晰,工作温度-40℃~ +80℃。
可下载巡检档案,包括:线路 →设备 → 巡检项(数值,单选,多选,文字)。
感应卡识读,每个RFID对应一个被巡检设备。
支持设备运行状态选择,每个设备最多可设定255个检查项,检查项支持数值型、状态选择型(单选、多选)、文字描述型;数值型项目可设定有效范围提示(如最高100℃,最低20℃)。
支持工作任何时间查询,可查询全部被检设备、任务列表、已巡检项目记录、下一个巡检地点。
可选择以太网通讯座代替PC向服务器传输巡检记录,可大量减少维护工作。
六、唯实保安巡检管理系统的技术指标数据采集器(V8)
电 源:3.6伏可充电锂电池,800mAH。液晶显示:160 x 128像素,彩色液晶显示器,国标一二级字库。
外 观:13.5(高)×5.8(宽)×2.4(厚)厘米,3毫米厚高强度聚碳酸脂(PC)材质;
键 盘:20个按键 + 1个复位键。
使用条件:环境温度 -20℃~+70℃;相对湿度 45%~95%;
通 讯:红外(IRDA),通讯速率57600bps。
显示界面:人性化的图标和中文菜单进行操作。
内 存:A:16Mb FLASH存储器,档案17000条,巡检记录20000条。
B:8Mb FLASH存储器,档案5000条,巡检记录12000条。
文字内存:每条信息 最长64个汉字或128 个数字/字母。可存储440条信息。
提示方式:声音与振动提示。
电池提示:开机界面显示电池状态,提示用户及时充电。
自动关机:可自由设定自动关机时长,减少电源消耗,增长使用时间。
巡检查询:可在机器上查询巡检记录。
文字录入:支持自定义信息输入,拼音输入法(T9)输入汉字,大写字母、小写字母、数字、标点等。
IAP 功能:具备在应用编程(In Aplication Program)功能,支持二次开发。
C P U :处理器具有在线编程功能,支持二次开发
红外通讯座(VT1)
产品类型: RS232/USB 红外通信座
接 口: RS232/USB
数据传输率:115.2Kbps
通信距离: 3~50 cm。
通信角度: -15度 ~ +15度。
工作电压: DC 5v
峰值功率: 0.5w
工作温度: 0~85摄氏度。
工作湿度: 10~90%
电子标签:埋放在巡检线路上,安全、可靠 、不易丢失及破坏、防水、防震、防腐,可在各种恶劣环境中使用。内码无不重复,无需供电。工作温度:-40℃--85℃
识读方式:非接触感应识读。
读取距离:3cm~10cm
频 率:125KHz(EM)
尺 寸:φ30mm圆片封装
互联网通讯座(VX5000N):代替客户端电脑上传巡检数据,无需像电脑那样的复杂维护。
巡检器将采集的巡检数据传到远程通讯座里,远程通讯座通过电话线或网线自动上传到网络服务器,然后通过网络随时随地可以查看到巡检数据。代替客户端电脑,因此可以减少病毒、系统损坏等维护,同时无需培训即可使用。内 存:16Mb,存贮13万条巡检记录
接 口:巡检器通讯RS232,RJ45,IRDA红外通信。
串 口:57600BPS。
以太网接口:10/100M自适应
尺 寸:200mm×40mm×60mm
电 源:DC9V(直流电源)
重 量:480g