使用python远程监控多个服务器状态、数据库同步状态

日常工作中需要远程监控多个服务器状态和数据库是否同步,手动使用CRT查询的话太过麻烦了,切换数据库查询同步也很蛋疼,这种重复操作果然还是应该交给python

配置文件

使用列表存储各地服务器和数据库连接信息

config = [{
   
    "server_name": "项目1",
    "server_1": {
   
        "name": "服务器1",
        "host": "1.1.1.1",
        "port": 2022,
        "user": "xxx",
        "passwd": "xxx"
    },
    "server_2": {
   
        "name": "服务器2",
        "host": "2.2.2.2",
        "port": 2022,
        "user": "xxx",
        "passwd": "xxx"
    },
    "db_1": {
   
        "ssh": {
   
            "host": "5.5.5.5",
            "port": 2022,
            "user": "xxx",
            "passwd": "xxx"
        },
        "name": "数据库1",
        "host": "3.3.3.3",
        "port": 3306,
        "db": "db_name1",
        "user": "xxx",
        "passwd": "xxx"
    },
    "db_2": {
   
        "ssh": {
   
            "host": "5.5.5.5",
            "port": 2022,
            "user": "xxx",
            "passwd": "xxx"
        },
        "name": "数据库2",
        "host": "4.4.4.4",
        "port": 3306,
        "db": "db_name1",
        "user": "xxx",
        "passwd": "xxx"
    },
},]

数据库连接方法

重点:部分数据库需要使用跳板机连接,需要使用sshtunnel模块。数据库通过ssh通道连接成功以后,ssh通道没有关闭,主线程会阻塞,而且ssh通道只能开启一个,通过生成多个对象来开启多个ssh会报错,想像以前那样把mysql封装成一个工具类的时候踩了一地的坑,干脆写成一个方法,连接数据库之后立马执行sql语句,然后关闭连接关闭ssh通道。


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值