1. 리소스 수집 스크립트를 통해 1분마다 아래의 리소스 수집파일 (data.txt) 이 갱신됨
2. 수집된 data.txt 파일을 이용하여 임계치 설정 스크립트 작성 (텔레그램 봇이용, python 3.6.8 진행)
#!/bin/python3 #모듈 설정 import telepot # 토큰값 설정 token = '[토큰값 입력]' ###################################################################
lines=f.readline()
if( DSK > 70 ): if( CPU > 1 ): ################################################################### # data.txt 에서 두번째 라인 가져오려고 readline 한번 더 호출 lines=f.readline()
if( DSK > 70 ): if( CPU > 1 ): |
2. 텔레그램의 알림봇에서 /start 실행
3. 알람 확인
#!/bin/python3
#모듈 설정
import telepot
import os
import socket
import string
import sys
import psutil
import time
# 토큰값 설정
token = '[토큰값 입력]'
mc = '[텔레그램 ID (숫자)입력]'
bot = telepot.Bot(token)
#임계값 기준치 설정
Cpu_limit = 1
Mem_limit = 70
Disk_limit = 70
###################################################################
f=open('../data.txt')
# data.txt 에서 첫번째 라인 가져오려고 readline 한번 더 호출
lines=f.readline()
HOST=lines.split(',')[0]
MEM=float(lines.split(',')[1].split(' ')[1].replace("(","").replace("%)",""))
DSK=int(lines.split(',')[2].split(' ')[1].replace("(","").replace("%)",""))
CPU=float(lines.split(',')[3].rstrip('\n'))
if( MEM > 70 ):
bot.sendMessage(mc, "IP : "+ HOST +"\n"+" ⚠ Memory 사용량이 기준치를 초과하였습니다.\n"+"기준치 : 70% , 현재 :"+str(MEM)+" %")
if( DSK > 70 ):
bot.sendMessage(mc, "IP : "+ HOST +"\n"+" ⚠ Disk 사용량이 기준치를 초과하였습니다.\n" + "기준치 : 70% , 현재 : " + str(DSK) + " %")
if( CPU > 1 ):
bot.sendMessage(mc, "IP : "+ HOST +"\n"+" ⚠ CPU 로드가 기준치를 초과하였습니다.\n" + "기준치 : 1 , 현재 : " + str(CPU) + " %")
###################################################################
# data.txt 에서 두번째 라인 가져오려고 readline 한번 더 호출
lines=f.readline()
HOST=lines.split(',')[0]
MEM=float(lines.split(',')[1].split(' ')[1].replace("(","").replace("%)",""))
DSK=int(lines.split(',')[2].split(' ')[1].replace("(","").replace("%)",""))
CPU=float(lines.split(',')[3].rstrip('\n'))
if( MEM > 70 ):
bot.sendMessage(mc,"IP : "+ HOST+"\n"+" ⚠ Memory 사용량이 기준치를 초과하였습니다.\n"+"기준치 : 70% , 현재 :"+str(MEM)+" %")
if( DSK > 70 ):
bot.sendMessage(mc,"IP : "+ HOST+"\n"+" ⚠ Disk 사용량이 기준치를 초과하였습니다.\n" + "기준치 : 70% , 현재 : " + str(DSK) + " %")
if( CPU > 1 ):
bot.sendMessage(mc,"IP : "+ HOST+"\n"+" ⚠ CPU 로드가 기준치를 초과하였습니다.\n" + "기준치 : 1 , 현재 : " + str(CPU) + " %")
'개발 > Python' 카테고리의 다른 글
텔레그램봇을 이용한 서버 리소스 확인하기 (0) | 2021.04.07 |
---|---|
python을 이용하여 서버 리소스 확인하기 (0) | 2021.04.07 |
파이썬에서 따옴표 두개 쓰기 (0) | 2021.02.02 |