首页 > 系统相关 >用Ubuntu+SecureCRT实现客户内网控制器的进程状态监控

用Ubuntu+SecureCRT实现客户内网控制器的进程状态监控

时间:2022-12-07 15:35:57浏览次数:42  
标签:控制器 登录 CRT session 监控 Ubuntu SecureCRT

一、使用场景描述:

    用户有一台控制器的三个组件需要进行端口监控,控制器主机因为跟办公网络未在同一个网络区域,因此不能使用ssh进行直连进行监控。客户现场环境如下(见下图):
【1】办公区域网络与用户区的一台跳板机网络互通
【2】用户区跳板机能ssh登录DMZ区一台测试主机
【3】DMZ测试主机能ssh登录DMZ区的生产控制器主机

    为了实现控制器主机进程端口的监控,做了本监控方案,来节省运维时间

二、实现思路分析

    本实验想要达到的目的是使用脚本登录控制器,然后获取控制器返回值得到控制器进程端口状态是否正常。
    如上设想的第一步及计划使用pexpect模块编写脚本以实现所想要的数据,但是在实现到控制器查询的步骤时,因为控制器系统的限制,脚本无法返回查询数据,因此本设想的实现到此失败。
    第二个设想是利用SecureCRT的自动登录查询并记录session日志,然后通过python脚本分析session日志来实现控制器进程状态的监控。
    这个设想的可行性比较大,因此做了进一步实现,如下步骤均为本设想实现的操作步骤。

三、环境准备

1、ubuntu主机

    本设想的实现需要有一台ubuntu 20.04.3LTS 桌面的主机,主要是安装SecureCRT,跑CRT的定时查询以及python分析脚本,SecureCRT在ubuntu上的安装不在赘述,自行百度就好。
    这里使用ubuntu上的CRT主要是因为在命令行中调用CRT的session极其简单。

2、CRT创建session

【1】编辑登录脚本
选择想要自动登录的session----右键---properties---logon actions,勾选automate logon

【2】添加登录规则

     这里需要注意的是,在发送密码的时候需要在密码后添加换行符\r,以实现输入密码后自动键入回车
【3】测试自动登录规则

【4】记录session日志
勾选start log upon connect
勾选overwrite file
填写生成的日志文件(文件的名称可以随意,固定格式或者按照执行时间进行记录均可),本实验中使用固定文件名

【5】使用定时任务进行登录查询
    这一部分比较有趣,操作起来比windows上要简单一些,主要分以下两个步骤:
    (1)使用命令启动CRT,并且调用刚才编辑好的session,这个操作非常简单,如下:
        /usr/bin/SecureCRT /S "192.168.2.104"  &
    (2)使用定时任务调用session,实现定时巡检的目的,这一块直接crontab就可以,不再赘述
    注意:本步骤中的session启动后不会自己停止,所以session启动一段时间后需要自己添加一个kill进程的动作来杀死已经运行的进程,以免CRT进程启动过多而导致ubuntu主机被拖垮。
    如下是我的脚本中使用的方式,仅供参考。
    os.system('/usr/bin/SecureCRT /S "192.168.2.104"  &')
    os.system('/usr/bin/SecureCRT /S "192.168.2.105"  &')
    time.sleep(20)
    os.system("ps -ef  |grep SecureCRT|grep 192.168.2.104|awk '{print $2}'|xargs kill -9 ")
    os.system("ps -ef  |grep SecureCRT|grep 192.168.2.105|awk '{print $2}'|xargs kill -9 ")
【6】编写python或shell脚本
    这一部分主要是针对session日志进行处理,获取自己想要的数据即可。
    我的脚本需求是获取控制器端口状态,状态为up时跳过,状态为down时将告警推送到飞书,以实现一部手机就能随时监控控制器的状态的目的。此部分代码自认为太垃圾,不再献丑了。

四、总结

    总的来说,这个方法解决了目前业务监控的需求,也避免了多次登录控制器执行重复的命令,释放了人力,节省了时间,空出来了

标签:控制器,登录,CRT,session,监控,Ubuntu,SecureCRT
From: https://www.cnblogs.com/xieqisheng666/p/16963193.html

相关文章

  • Ubuntu软件包管理
    1、软件包管理之dpkgdpkg是DebianPackager的简写,为Debian专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自Debian的Linux发行版都使用dpkg,例如Ubuntu、Knopp......
  • 【Ubuntu服务器】用户分配及sudo权限赋予
    SSH服务部署服务器刚刚部署Ubuntu环境,并不支持SSH访问服务器,所以需要先安装openssh-serversudoaptupdatesudoaptinstallopenssh-server安装完成后,SSH服务将被自......
  • Ubuntu ——基本操作命令
    Ubuntu——基本操作命令​​1、移动​​​​2、复制/重命名​​​​3、删除​​​​4、新建​​​​5、运行shell脚本文件​​​​6、为软件创建菜单图标​​​​7、查看u......
  • iTOP3568开发板ubuntu系统修改开机联网等待时间
    启动开发板使用以下命令对networking.service文件进行修改,如下图所示:vi/etc/systemd/system/network-online.target.wants/networking.service 修改完后保存退出,重启......
  • Ubuntu——在Windows10安装ubuntu18.04双系统的方法
    Ubuntu——在Windows10安装ubuntu18.04双系统的方法​​一、方法一​​​​1、参考博客​​​​2、小贴士​​​​二、方法二​​​​1、参考博客​​​​2、小贴士​​​​......
  • Ubuntu——make加速的一种方法
    一、正常格式make二、加速格式make-j$(nproc)或make-j`nproc`注:这两种都是表示自动获取内核数量,最大化利用多核。......
  • Ubuntu——笔记本插入耳机没有声音的解决方案
    打开​​声音​​​​输出​​​和​​输入​​​​​都​​​选择​​耳机设备​​......
  • USB总线-Linux内核USB3.0控制器初始化代码分析(三)
    1.概述RK33999使用synopsysdwc3的USB3.0控制器IP。早期的初始化需要在两个模块中进行,一个在rockchip官方提供的驱动中初始化,位于drivers/usb/dwc3/dwc3-rockchip.c文件中......
  • USB总线-RK3399 USB3.0控制器特性介绍(二)
    1.RK3399USB下图是RK3399SOC的框图。RK3399包含了2个USB2.0Host控制器;两个USB3.0OTG控制器,同时兼容USB2.0。USB3.0使用的是Synopsys公司的IP,驱动也使用Synopsys的dwc3......
  • hyper-v Ubuntu 扩容简易方案
    hyper-v扩容1、右键虚拟机进入设置2、选择磁盘编辑。注意:需要把之前的检查点删除,才能编辑3、选择扩容Ubuntu扩容1、进入Disk应用2、选择原来的disk(此时会有freespac......