امروز و در ادامه دوره آموزشی پایتون (Python) برای مهندسین شبکه میخوام یک اسکریپت مانیتورینگ 7x24 وب سایت براتون معرفی کنم. به عنوان یک مهندس شبکه باید از بالا بودن یک سرویس اطمینان خاطر داشته باشید . یکی از مهترین سرویس ها که باید مطمئن باشید همیشه در حال سرویس دهی است وب سایت و سرویس ایمیل شرکت است. نرم افزار های مختلفی در خصوص مانیتورینگ وضعیت سرور وجود دارد که بر اساس پروتکل های مختلفی مانند SNMP و WMI وضعیت سرور را گزارش می کند .
ولی ممکن است نیاز داشته باشید در زمان های مختلف مانند یک کاربر معمولی یک درخواست http به وب سایت زده شود و اطمینان حاصل کنید که وب سایت در دسترس است ( اگر پاسخ برگشتی از سرور کد 200 باشد یعنی وب سایت بالا است) اسکریپت زیر این کار را برای شما انجام می دهد و اگر تشخیص دهد وب سایت در دسترس نیست به اعضای گروه IT ایمیل می زند که مطلع شوند.
#----------------------------------------------------
# Website Monitoring by python
# By : Hessam Hosseini
# Email : hessam.hosseyni@gmail.com
# Tel : 0912 0612 305
#----------------------------------------------------
import http.client
import smtplib
#------------------------------- Configurte Email Server and Email Body --------------------
address_book = ['hessam_hosseini@test.com','ali@test.com','reza@test.com']
TO= ','.join(address_book)
From='python@test.com'
SUBJECT= ' Website is Down !!!'
BODY = 'Here is a message from python.'
MSG = '\r\n'.join(['To: %s' % TO,'From: %s' % From,'Subject: %s' % SUBJECT,'', BODY])
server=smtplib.SMTP('mail.test.com',587)
server.ehlo()
server.starttls()
server.login('python@test.com','123456')
#------------------------------- Request Http --------------------
conn = http.client.HTTPSConnection("www.test.com")
conn.request("GET", "/")
r1 = conn.getresponse()
#------------------------------- If website is down then Send Email to IT Group members --------------------
if r1.status != 200:
server.sendmail('python@test.com',address_book,MSG)
server.quit()
این اسکریپت رو می تونید به صورت زمانبندی شده در بیارید و مثلا هر یکساعت یکبار اجرا شود و تست را انجام دهد.همچنین این اسکریپت رو می تونید از روی سرورهای بیرون از سازمان اجرا کنید تا از دسترس بودن وب سایت در خارج از سازمان اطمینان حاصل کنید.توضیح بیشتر اینکه برای اجرای اسکریپت فوق ابتدا باید پایتون 3 را دانلود و نصب کنید و از خط فرمان ، با دستور زیر اسکریپت را اجرا کنید
C:\>python website-monitoring.py
در این دوره آموزشی فرض بر این است که شما دوره مقدماتی پایتون رو پشت سر گذاشتید و با مفاهیم و Syntax زبان پایتون آشنایی دارید ولی باز هم چنانچه در مورد نحوه عملکرد اسکریپت و یا چگونگی اجرای آن ابهامی داشتید من در خدمت هستم.
-------------------------------------------------
برای دسترسی به مجموعه بهترین دوره های آموزش شبکه های کامپیوتری ( مبانی شبکه ، نتورک پلاس ، مانیتورینگ و ... ) مقدماتی تا پیشرفته با ارائه گواهینامه و فیلم رایگان همین الان کلیک کن
--------------------------------------------------
سلام وقت بخیر، همچنین میشه سورس کد رو به صورت زیر تغییر داد:
به صورتی که برنامه اطلاعات دریافتی رو از کاربر میگیره و هر ۱ دقیقه بررسی می کنه که آیا وب سایت به صورت کامل لود میشه یا نه! و بعد پیام های مورد نظر کاربر رو به ایمیل های مورد نظرش، ارسال می کنه.