سیدحسام الدین حسینی
کارشناس ارشد شبکه

آموزش مانیتورینگ وب سایت سازمان با اسکریپت پایتون

امروز و در ادامه دوره آموزشی پایتون (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  زبان پایتون آشنایی دارید ولی باز هم چنانچه در مورد نحوه عملکرد اسکریپت و یا چگونگی اجرای آن ابهامی داشتید من در خدمت هستم.


سیدحسام الدین حسینی
سیدحسام الدین حسینی

کارشناس ارشد شبکه

کارشناس ارشد IT گرایش طراحی شبکه های کامپیوتری هستم. در حال حاضر به عنوان مدرس، طراح، مشاور و مجری امن سازی زیرساخت شبکه با سازمانها و دانشگاهها همکاری دارم.

نظرات