国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用Python監(jiān)控服務器在線狀態(tài)

這篇具有很好參考價值的文章主要介紹了使用Python監(jiān)控服務器在線狀態(tài)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

在公司內(nèi)網(wǎng)有一臺服務器,有動態(tài)的公網(wǎng)IP,使用DDNS對外提供服務,但是會因為停電、服務器卡死等原因?qū)е路掌麟x線。服務器離線后無法及時獲知,因此需要實現(xiàn)在服務器離線的時候能夠發(fā)送消息到手機上。

思路梳理

公司辦理的是聯(lián)通的商務寬帶,有贈送一臺沃云的ECS,但是一直處于閑置狀態(tài),于是就想利用這個ECS去監(jiān)聽服務器的端口,一旦端口無法訪問,就發(fā)送消息到手機上,端口恢復訪問也可以發(fā)送消息到手機上。

具體實施

內(nèi)網(wǎng)服務器配置

開放監(jiān)聽的端口

在內(nèi)網(wǎng)服務器上開放一個端口,用于給公網(wǎng)上的ECS監(jiān)聽。

[root@rsecc ~]# yum -y install  nc
[root@rsecc ~]# nc -lk 32768 &
chkconfig管理

因為nc命令會在服務器重啟后退出,因此可以使用chkconfig將nc服務設(shè)置為開機自啟。

[root@rsecc ~]# vim /etc/init.d/ncserver

寫入如下內(nèi)容:

#!/bin/bash
# chkconfig: 3 88 88
/usr/bin/nc -lk 32768 &

配置權(quán)限,并添加到開機自啟。

[root@rsecc ~]# chmod +x /etc/init.d/ncserver
[root@rsecc ~]# chkconfig --add ncserver
[root@rsecc ~]# chkconfig --list ncserver
ncserver          0:off	1:off	2:off	3:on	4:off	5:off	6:off

這樣的話,當服務器重啟后,nc命令也會隨著服務器啟動。

防火墻配置

還需要在防火墻上放行對應的端口。

[root@rsecc ~]# firewall-cmd --add-port=32768/tcp
[root@rsecc ~]# firewall-cmd --reload

公網(wǎng)ECS配置

編寫python腳本

編寫python腳本來實現(xiàn)功能,并將python腳本設(shè)置為開機自啟。

導入需要使用的模塊,這里使用了 socket、time、json、requests 四個模塊。

import socket
import time
import requests
import json

編寫發(fā)送消息的函數(shù)模塊,我這里使用的是企業(yè)微信的webhook機器人,也可以使用釘釘、郵箱、短信等方式發(fā)送消息。

webhook = "webhook地址鏈接"

#webhook發(fā)送消息
def send_text(webhook, content):
    header = {
                "Content-Type": "application/json",
                "Charset": "UTF-8"
                }
    data ={
        "msgtype": "text",
        "text": {
            "content": content
        }
    }
    data = json.dumps(data)
    info = requests.post(url=webhook, data=data, headers=header)

編寫判斷服務器狀態(tài)的函數(shù)模塊。這里使用的Python中的Socket標準庫,通過構(gòu)建一個TCP連接的Socket對象,使用connect_ex()方法連接服務器,如果連接無異常返回的狀態(tài)碼為0。通過判讀返回的狀態(tài)碼是否為0來判斷服務器是否在線。

def check_server_connection(server, port):
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    result = sock.connect_ex((server, port))
    if result == 0:
        service_status = "on"
        return service_status
    else:
        service_status = "off"
        return service_status

編寫一個while死循環(huán),通過判斷狀態(tài)碼是否發(fā)生改變,來實現(xiàn)發(fā)送消息的效果。

service_status = "off"
prev_service_status = "off"

while True:
    service_status = check_server_connection("服務器地址", 32768)
    if prev_service_status != service_status:
        if service_status == "off":
            content = "服務器已離線!"
            send_text(webhook, content)
        else:
            content = "服務器已上線!"
            send_text(webhook, content)
        prev_service_status = service_status
    time.sleep(60)
設(shè)置為開機自啟。

實現(xiàn)方式和內(nèi)網(wǎng)服務器一樣,使用ckhconfig命令。

[root@rsecc ~]# vim /etc/init.d/ncserver

寫入如下內(nèi)容:

#!/bin/bash
# chkconfig: 3 88 88
/usr/bin/python3 /opt/serveron.py &

配置權(quán)限,并添加到開機自啟。

[root@rsecc ~]# chmod +x /etc/init.d/ncserver
[root@rsecc ~]# chkconfig --add ncserver
[root@rsecc ~]# chkconfig --list ncserver
ncserver          0:off	1:off	2:off	3:on	4:off	5:off	6:off

這樣的話,當服務器重啟后,python腳本也會隨著服務器啟動。

效果

使用Python監(jiān)控服務器在線狀態(tài),廣然筆記,python,服務器,chrome

總結(jié)

至此,通過一個簡易的腳本即可實現(xiàn)服務器的狀態(tài)監(jiān)控。

? 版權(quán)聲明
文章:使用Python監(jiān)控服務器在線狀態(tài)
作者:Guangran
鏈接:https://www.rsecc.cn/955.html
聲明:如無特別說明本文即為原創(chuàng)文章僅代表個人觀點,版權(quán)歸《廣然筆記》所有,未經(jīng)授權(quán)、請勿轉(zhuǎn)載。文章來源地址http://www.zghlxwxcb.cn/news/detail-758906.html

到了這里,關(guān)于使用Python監(jiān)控服務器在線狀態(tài)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 可以與寶塔共存的一個 “魔法” 服務器狀態(tài)監(jiān)控應用 ——xui

    可以與寶塔共存的一個 “魔法” 服務器狀態(tài)監(jiān)控應用 ——xui

    之前有一期我們搭建了一個服務器監(jiān)控,顏值非常不錯,這期我們再來搭建一個 “特殊” 的服務器監(jiān)控 ——XUI。 不僅可以監(jiān)控服務器的數(shù)據(jù),還可以干一些高級的,大家感興趣的事情。 重要的是,它可以和寶塔面板共存! 一個非常直觀,簡潔大氣的監(jiān)控面板。 系統(tǒng)狀態(tài)監(jiān)

    2024年02月02日
    瀏覽(46)
  • Linux C/C++ 多線程TCP/UDP服務器 (監(jiān)控系統(tǒng)狀態(tài))

    Linux C/C++ 多線程TCP/UDP服務器 (監(jiān)控系統(tǒng)狀態(tài))

    Linux環(huán)境中實現(xiàn)并發(fā)TCP/IP服務器。多線程在解決方案中提供了并發(fā)性。由于并發(fā)性,它允許多個客戶端同時連接到服務器并與服務器交互。 Linux多線程編程概述 許多應用程序同時處理多項雜務。服務器應用程序處理并發(fā)客戶端;交互式應用程序通常在處理后臺計算時處理用戶

    2024年02月07日
    瀏覽(20)
  • ubutn在線服務器python Package安裝到離線服務器

    ubutn在線服務器python Package安裝到離線服務器

    1、在線服務器導出requirement.txt? 該文件生成完畢后,需要做些修改,去掉不需要的庫,否則下載的時候會出錯。 2、下載whl文件 -?packages 下載完成后packages文件夾包含所有的whl文件。 3、離線服務器ubuntu20.04? 查看是否包含python pip 這個版本的服務器已經(jīng)安裝python3.8.5,但是沒

    2023年04月18日
    瀏覽(21)
  • ubuntu在線服務器python Package安裝到離線服務器

    ubuntu在線服務器python Package安裝到離線服務器

    1、在線服務器導出requirement.txt? 該文件生成完畢后,需要做些修改,去掉不需要的庫,否則下載的時候會出錯。 2、下載whl文件 -?packages 下載完成后packages文件夾包含所有的whl文件。 3、離線服務器ubuntu20.04? 查看是否包含python pip 這個版本的服務器已經(jīng)安裝python3.8.5,但是沒

    2023年04月18日
    瀏覽(22)
  • jmeter監(jiān)控服務器資源使用情況

    jmeter監(jiān)控服務器資源使用情況

    GitHub - undera/perfmon-agent: Server metrics fetching agent, based on SIGAR 下載安裝包:ServerAgent-2.2.3.zip 解壓先 啟動,如果是windows運行startAgent.bat,如果是linux運行startAgent.sh 注意:linux上注意權(quán)限的問題 建議直接 777

    2024年01月25日
    瀏覽(24)
  • python socket監(jiān)測服務器和客戶端連接狀態(tài)

    python socket監(jiān)測服務器和客戶端連接狀態(tài)

    服務器端和客戶端的連接狀態(tài),應該是沒有單獨的函數(shù)返回或是接口監(jiān)測的,看網(wǎng)上很多資料說需要監(jiān)測心跳,這確實是一個普遍解決監(jiān)測狀態(tài)的辦法,但是對我的項目卻顯得有些被動,其實對一般的項目包括我的,用try…except就可以滿足,里面設(shè)置標志位,if判斷一下就可

    2024年02月13日
    瀏覽(19)
  • 白嫖在線云服務器,免費在 linux 服務器使用 docker 。 附視頻+附文檔

    白嫖在線云服務器,免費在 linux 服務器使用 docker 。 附視頻+附文檔

    白嫖在線云服務器,免費在 linux 服務器使用 docker 。 附視頻+附文檔 視頻: https://www.bilibili.com/video/BV1WN411W79V/ 國內(nèi)互聯(lián)網(wǎng)經(jīng)過多年發(fā)展,單體應用已經(jīng)無法支持我們的互聯(lián)網(wǎng)業(yè)務,分布式、微服務架構(gòu)已經(jīng)是大勢所趨。 就算是一些小公司,也已經(jīng)開始使用分布式、微服務架

    2024年02月08日
    瀏覽(85)
  • MobaXterm開啟監(jiān)控服務器資源使用情況

    MobaXterm開啟監(jiān)控服務器資源使用情況

    MobaXterm可以在會話窗口底部查看服務器資源使用情況,比如內(nèi)存,CPU,磁盤使用等。 可以通過Settings→SSH→勾選 Remote-monitoring來開啟。 鏈接:https://www.jianshu.com/p/41340a918611

    2024年02月15日
    瀏覽(25)
  • 使用 Zabbix + Grafana 搭建服務器監(jiān)控系統(tǒng)

    使用 Zabbix + Grafana 搭建服務器監(jiān)控系統(tǒng)

    搭建 Linux 服務器監(jiān)控的目的是自己有一臺阿里云服務器內(nèi)存是 2g 的 , 多開一些軟件就會把內(nèi)存和 CPU 使用率弄的很高,最終導致服務器卡死。 所以基于這個痛點,想知道當前的 CPU 和內(nèi)存是多少。阿里云 ECS 控制臺中也提供對服務器的監(jiān)控 , 但是為了學習 Linux 服務器監(jiān)控系統(tǒng)

    2024年01月21日
    瀏覽(24)
  • 使用 Docker 部署 ServerStatus 服務器監(jiān)控系統(tǒng)

    使用 Docker 部署 ServerStatus 服務器監(jiān)控系統(tǒng)

    GitHub: https://github.com/cppla/ServerStatus ServerStatus 是一個酷炫高逼格的云探針、云監(jiān)控、服務器云監(jiān)控、多服務器探針~。 特性 使用 Rust 完全重寫 Server、Client,單個執(zhí)行文件部署 支持上下線和簡單自定義規(guī)則告警 (Telegram、 Wechat、 Email、 Webhook) 支持 http 協(xié)議上報,可以方便部署

    2024年01月24日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包