监控无线AP是否在线python脚本

由于工作需要,编写了一个自动检查办公区无线AP是否掉线的python脚本,我这里用的是python3环境,请大家注意
还有要注意的是我这里用的是锐捷的无线AC及无线AP。其它品牌只需要替换相关命令即可,就是脚本内容的中的command内容更改成你的品牌无线AC命令即可。
下面是实际脚本内容:

#!/usr/local/python3/bin/python3
import telnetlib,time,os
def do_telnet(Host,password,finish,commands):
    import telnetlib
    tn = telnetlib.Telnet(Host, port=23)
    tn.read_until(b‘Password:‘)
    tn.write(password + b‘\n‘)
    tn.read_until(finish)
    tn.write(commands1 + b‘\r\n‘)
    time.sleep(1)
    tn.read_until(b‘Password:‘)
    tn.write(password + b‘\n‘)
    time.sleep(1)
    tn.read_until(b‘#‘)
    tn.write(commands + b‘\n‘)
    time.sleep(10)  # 这里一定要等待10秒,因为你write命令以后,会等待很长时间。
    tn.write(b‘exit\n‘)
    result = tn.read_all()
    file_object = open(‘/opt/scripts/network/result.txt‘, ‘wb‘)
    file_object.write(result)
    file_object.close()
    tn.close()
if __name__ == ‘__main__‘:
    Host = ‘192.168.1.12‘  # Telnet服务器IP
    password = ‘abc123‘.encode(encoding=‘utf-8‘)  # 登录密码
    finish = ‘>‘.encode(encoding=‘utf-8‘)  # 命令提示符
    commands = ‘show web-api ibeacon‘.encode(encoding=‘utf-8‘)
    commands1 = ‘en‘.encode(encoding=‘utf-8‘)
    do_telnet(Host,password,finish,commands)
#判断AP是否在线
with open(‘/opt/scripts/network/result.txt‘,‘r‘) as f:
    for i in f:
        if ‘code‘ in i:
            #把[email protected]替换成空的并转换成字典
            i = eval(i.replace(‘ac#exit‘,‘‘))
            aplist = i[‘data‘][‘list‘]
            day = time.strftime(‘%Y-%m-%d‘, time.localtime())
            time = time.strftime(‘%H:%M:%S‘, time.localtime())
            for j in aplist:
                if j[‘status‘] != ‘run‘:
                    ip = j[‘ip‘]
                    mac = j[‘mac‘]
                    name = j[‘name‘]
                    status = j[‘status‘]
                    with open(‘satus.txt‘,‘a‘) as f1:
                         message = ‘当前时间:‘ + day + ‘ ‘ + time + ‘,‘ + ‘无线AP的ip:‘ + ip + ‘,‘ + ‘当前状态是不在线,‘ + ‘无线AP的mac地址:‘ + mac + ‘,‘ + ‘无线AP名称是:‘ + name + ‘,‘ + ‘无线AP状态:不在线‘
                         f1.write(message + ‘\n‘)
                         #发送微信报警
                         os.system(‘./weixin.py a abc 无线AP名称:%s不在线,请检查!‘ %name)
                else:
                    print(‘无线AP状态正常!‘)

原文地址:http://blog.51cto.com/461884/2136409

时间: 2024-10-28 04:03:36

监控无线AP是否在线python脚本的相关文章

Zabbix LLD监控之创建发现的Python脚本

#!/usr/bin/python import requests,json ip_list=[] data_json={} url = 'http://cmdb.cheyaoshicorp.com/api/ecs' r = requests.get(url) ecss = json.loads(r.text) for I in ecss:     ip_dic={}     host_ip = I.get('ip')     ip_dic["{#IP}"]=host_ip     i

threading和queue监控两个log的python脚本

# coding:utf-8 __author__ = 'admin' # -------------------------------- # Created by admin  on 2015/5/29. # --------------------------------- #/usr/bin/python import redis,re,subprocess,threading,Queue host="192.168.8.137" wiki_log="/home/ng

用 Python 脚本实现对 Linux 服务器的监控

hon 分享到:8 原文出处: 曹江华 目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对 Linux 服务器的监控. 本文介绍一下使用 Python 脚本实现对 Linux 服务器 CPU 内存 网络的监控脚本的编写. Python 版本说明 Python 是由 Guido va

这样去选择比较适合自己的无线ap

从零开始,选择ap考虑因素 在需要无线覆盖的时候应该考虑以下因素: 1.环境特点:室外或是室内,终端稀疏型分布(如仓库)或是密集型无线覆盖接入(如会议室等). 2.安装方式:一般有吸顶.面板.86盒式. 3.供电方式:标准poe(网线供电).passive poe或者dc(直流电源). 4.覆盖范围:单个房间.多个房间.区域.定点覆盖等. 5.同时在线人数:单个ap接入10个到50个终端. 下面以酒店为例,介绍在不同的酒店环境下采用不同的产品 一般酒店无线覆盖在客房区会使用普通的吸顶无线ap,能

shell vs python脚本监控http请求

各写一个shell和python脚本来监控http请求,并在服务不可用的时候重启服务. 监控的连接为: http://192.168.1.101:5022/product http://192.168.1.101:5024/module shell脚本如下,配合crontab计划任务每一分钟执行一次检查: #!/bin/bash # This shell is used to moniter 192.168.1.101 port 5022 & 5024 date  #在crontab里用来记录l

用 Python 脚本实现对 Linux 服务器的网卡流量监控

*这篇文章网上已经有相关代码,为了加深印象,我做了相关注释,希望对朋友们有帮助 工作原理:基于/proc文件系统 Linux 系统为管理员提供了非常好的方法,使其可以在系统运行时更改内核,而不需要重新引导内核系统,这是通过/proc 虚拟文件系统实现的./proc 文件虚拟系统是一种内核和内核模块用来向进程(process)发送信息的机制(所以叫做"/proc"),这个伪文件系统允许与内核内部数据结构交互,获取有关进程的有用信息,在运行中(on the fly)改变设置(通过改变内核参

python脚本监控docker容器

脚本功能: 监控CPU使用率 监控内存使用状况 监控网络流量 #!/usr/bin/env  python # --*-- coding:UTF-8 --*-- import  sys import  tab import  re import  os import  time from docker  import Client import  commands keys_container_stats_list = ['blkio_stats', 'precpu_stats', 'netwo

Redis之使用python脚本监控队列长度

编辑python脚本redis_conn.py #!/usr/bin/env python #ending:utf-8 import redis def redis_conn(): pool = redis.ConnectionPool(host="192.168.56.11",port=6379,db=3,password=123456) conn = redis.Redis(connection_pool=pool) data = conn.llen("system-lo

一个简单的监控redis性能的python脚本

一个简单的监控redis性能的python脚本 上一篇已经讲了如何监控memcached了,现在也顺带讲如何监控redis. 首先介绍下监控redis那些信息: Redis ping:检验ping Redis alive:查看检查端口是否alive Redis connections:查看连接数 Redis blockedClients:正在等待阻塞客户端数量 Redis connectionsUsage:redis的连接使用率 Redis memoryUsage:redis内存使用量 Redi