python x 死活監視 | ping実行とLINE通知
- 2023.06.28
- Python
みなさん、こんにちは!
今回はサーバの死活監視プログラムとして ping実行のプログラムを書いてみました。
サンプル
先ずは対象システムへpingを飛ばすプログラムを作成します。
今回は ping3モジュールを利用します。
pip install ping3
プログラムは以下の通りです。
import datetime
import ping3
ping3.EXCEPTIONS = True
def ip_check(ipadd):
try:
pi = ping3.ping(ipadd)
pi_message = \
str(datetime.datetime.now()) +"\n" \
+ "宛先:" + ipadd + "\n" \
+ "応答時間:" + '{:.5f}'.format(pi) + "sec" + "\n" \
+ "/*****/"
except ping3.errors.HostUnknown:
pi_message = \
str(datetime.datetime.now()) + "\n" \
+ "宛先:" + ipadd + "\n" \
+ "宛先が見つかりません" + "\n" \
+ "/*****/"
except ping3.errors.PingError:
pi_message = \
str(datetime.datetime.now()) + "\n" \
+ "宛先:" + ipadd + "\n" \
+ "不明なエラー" + "\n" \
+ "/*****/"
return pi_message
if __name__ == "__main__":
print(ip_check("AAAABBBB"))
print(ip_check("miseruit.com"))
print(ip_check("yahoo.co.jp"))
結果は以下のようになります。
Lineへ通知する
pingの結果を通知します。
別記事でLINE Notifyの使い方を学んだため、そちらを活用します。
サンプルコードは以下になります。
import datetime
import ping3
ping3.EXCEPTIONS = True
def ip_check(ipadd):
try:
pi = ping3.ping(ipadd)
pi_message = \
str(datetime.datetime.now()) +"\n" \
+ "宛先:" + ipadd + "\n" \
+ "応答時間:" + '{:.5f}'.format(pi) + "sec"
except ping3.errors.HostUnknown:
pi_message = \
str(datetime.datetime.now()) + "\n" \
+ "宛先:" + ipadd + "\n" \
+ "宛先が見つかりません"
except ping3.errors.PingError:
pi_message = \
str(datetime.datetime.now()) + "\n" \
+ "宛先:" + ipadd + "\n" \
+ "不明なエラー"
return pi_message
def line_notify(message):
import requests
token = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
url = "https://notify-api.line.me/api/notify"
headers = {"Authorization" : "Bearer "+ token}
payload = {"message" : message}
r = requests.post(url ,headers = headers ,params=payload)
if __name__ == "__main__":
line_notify(ip_check("AAAABBBB"))
line_notify(ip_check("miseruit.com"))
line_notify(ip_check("yahoo.co.jp"))
実行結果は以下のような感じです。
今回は以上です!
ではまた。
エラー: データの取得に失敗しました。
-
前の記事
Python x データ分析 | ワードクラウドを用いたデータ可視化_スクレイピング活用 2023.06.25
-
次の記事
記事がありません