python初级实战-----主机在线情况监控web

本文介绍了一个使用Python进行主机在线情况监控的Web应用程序。通过fping命令批量检测IP,在MySQL数据库中记录服务器状态,利用Flask框架设计简洁的Web界面,实时展示服务器在线情况,并设置为后台持续执行。
摘要由CSDN通过智能技术生成

背景

公司有600多台服务器,打算写一个小程序,能一眼看见哪些服务器不在线。

大体思路是:

1、把所有服务器ip存进数据库,ping命令判断服务器是否在线

2、更新数据库中ip的状态

3、简单的web显示出来

4、优化程序,美观页面

一、python检测IP在线

fping命令,它是对一个文件的批量ping,瞬间完成的,如果ping不通,那就较慢,日常ping不通的毕竟是少数,所以这个非常适用。

这个命令需要安装,直接yum就行,yum install fping -y

创建fping.sh的shell脚本
#!/bin/bash
 rm -f result.txt
 cat ipmi_ping.txt | fping > result.txt

执行结果:

二、读取mysql数据

1、创建一张数据表,存放ip等信息

#创建一个表
create table ip_table(
                   id int auto_increment,   #id自增
                   ipaddress char(15) not null, #地址禁止为空
                   application char(24),
                   status char(6),
                   primary key(id)
);
#插入部分数据
insert into ip_table values(id,'10.30.0.101','邮箱服务器','在线');
insert into ip_table values(id,'10.1.100.1','核心交换机','在线');
insert into ip_table values(id,'10.1.50.30','开发库','在线');
insert into ip_table values(id,'10.1.80.115','openstack控制节点','在线');
insert into ip_table values(id,'10.1.80.116','openstack计算节点','在线');
insert into ip_table values(id,'10.1.80.117','openstack块存储节点','在线');
commit;

2、python实现读取数据表中的内容,并写入到一个本地文件

# -*- coding:utf-8 -*-
import pymysql

def get_loan_number(file):
    connect = pymysql.connect(
        host="10.1.80.200",
        port=3306,
        user="alex",
        passwd="alex",
        db="ip",
        charset='utf8'
    )
    print("写入中,请等待……")
    cursor = connect.cursor() #获取游标
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值