در این مقاله قصد داربم به معرفی Monit بپردازیم. مونیت ابزاری رایگان و متن باز برای نظارت بر فرآیند ها و پردازش هاست که در سیستم عامل های Unix و Linux مورد استفاده قرار میگیرد.
Monit، امکان نگهداری و تعمیر اتوماتیک را فراهم میآورد و در شرایط بروز خطا، میتواند به نسبت موقعیت، اقدامات لازم برای رفع خطا را انجام دهد. برای مثال، Monit میتواند در صورت اجرا نشدن یک پردازش، آنرا به اجرا درآورد، در صورت اجرای ناقص، عملیات را دوباره انجام دهد و در صورتی که پردازش بیش از اندازه از منابع بهره میبرد، فرآیند را متوقف کند.
شما میتوانید از مونیت برای نظارت بر تغییراتی مانند تغییر برچسب زمانی، checksum ها و یا حجم فایل ها، پوشه ها و فایل های سیستمی، استفاده کنید.
در ادامه به توضیحات تکمیلی و بررسی مطالب اشاره شده در زیر میپردازیم:
- Monit چیست؟
- کاربرد های Monit
- مونیت چگونه کار میکند؟
با ما همراه باشید.
فهرست مطالب
Monit چیست؟
همانطور که اشاره شد، مونیت ابزاری برای بررسی و مدیریت فرآیندها، فایل ها، پوشه ها، سرور هایی مانند Apache، Nginx، My SQL و … در سیستم های مبتنی بر Unix/Linux است.
شهرت Monit از طریق برطرف کردن نیاز های یک Framework برنامه های سمت سرور، Ruby on Rails، و یک کتابخانه HTTP متن باز، Mongrel web server، رقم خورد.
در این فرآیند به ابزاری نیاز بود تا بتواند چندین پردازش مشابه به همِ Mongrel که برای پشتیبانی از یک سایت Ruby on Rails نیاز بود را مدیریت کند. بسیاری از سایت های مشهورRails، مثل Twitterو Scribd از امکانات مونیت استفاده کردهاند.
مونیت توسط یک فایل کنترلی که با پیکربندی ساده، اداره میشود. فایل های log مونیت یا در syslog و یا در فایل log های خود مونیت، ذخیره میشوند و کاربر را از طریق یک پیام اخطار در مورد موقعیت موجود مطلع میسازد، البته کاربر می تواند این پیام را برطبق خواسته خود شخصی سازی کند.
یکی از قابلیت های مونیت، توانایی انجام بررسی های متعدد برای TCP/IP شبکه، بررسی های مربوط به پروتکل و استفاده از SSL بمنظور انجام این بررسی هاست. همچنین محیط کاربری در بستر HTTPs، امکان استفاده از مونیت در مرورگر را نیز ایجاد کرده است.
کاربرد های Monit
همانطور که تا اینجای نوشته پیداست، زمانی که نیاز به بررسی و نظارت باشد، میتوانید از امکاناتی که مونیت در اختیار شما قرار میدهد بهرهمند شوید. در ادامه به چند مورد کاربرد مونیت اشاره میکنیم.
کاربرد ویژه مونیت، در نظارت بر پردازش های daemon دیده میشود. پردازش های daemon پردازش هایی دائمی هستند که در پس زمینه سیستم اجرا میشوند و زمانی که درخواست جدیدی ایجاد شود، آماده پاسخگویی خواهند بود.
برای مثالی از این پردازش ها میتوان به وب سرور ها که تمام وقت در حال انجام عملیات هستند تا هر زمانی که کاربری جست و جویی انجام داد بتوانند پاسخ مناسب را برگردانند، اشاره کرد.
تفاوت مونیت با سایر سیستم های نظارت و بررسی این ویژگی است که در مواقع بروز خطا، مونیت میتواند تصمیم بگیرد و وارد عمل شود که با چه عملیاتی، خطا برطرف میشود و آن عملیات را انجام دهد.
برای مثال اگر sendmail کار نمیکند، آنرا راهاندازی کند. اگر سرور آپاچی از منابع زیادی استفاده میکند، جلوی دسترسی را بگیرد و یا از نو، سرور را متصل و در قالب پیامی گزارش عملیات ها را برای شما ارسال کند.
یکی دیگر از کاربردهای مونیت که پیش تر به آن اشاره شد، نظارت بر فایل ها و طبقه بندی ها و فایل های سیستمی در لوکال هاست است که کار نظارت بر روی تغییرات برچسب زمانی، checksum ها و تغییر در حجم فایل ها را انجام میدهد.
این کاربرد بخصوص در حوزه امنیت مورد استفاده و مهم است از آنجایی که امکان نظارت بر فایل ها و جزئیاتی از آنها که نباید تغییر کنند را برای کاربر مهیا میکند. مثل md5 file checksum.
با اینکه کاربرد اصلی مونیت نظارت بر روی لوکال هاست است، اما مونیت قابلیت نظارت بر remote hosts را نیز دارد. اگر سرویسی به remote server وابسته باشد، استفاده از مونیت میتواند گزینه خوبی به شمار بیاید.
همچنین میتوان از این ابزار قدرتمند در بررسی منابع کلی سیستم، مانند مصرف cpu، حافظه و میانگین بارگذاری استفاده کرد.
مونیت چگونه کار میکند؟
در این قسمت به بررسی نحوه عملکرد مونیت خواهیم پرداخت. مونیت توسط یک فایل کنترلی به نام monitrc پیکربندی و کنترل میشود. مسیر ذخیره سازی این فایل به طور پیش فرض مسیر :
~/.monitrc.
است. در صورتی که این مسیر موجود نباشد مونیت بترتیب و بصورت خودکار مسیر های زیر را امتحان خواهد کرد.
/etc/monitrc
@sysconfdir@/monitrc
./monitrc
فایل کنترلی مونیت شامل یک سری ورودی و بیانیه های جهانی به شکل free-format و سینتکس token-oriented است. در این فضا کامنت ها توسط علامت # مشخص میشوند.
سه نوع توکن در این فایل کنترلی وجود دارد.
- کلمات کلیدی گرامری – grammer keywords
- اعداد
- رشته ها
در مفهوم نیز فایل کنترل از سه بیانیه تشکیل شده:
- بیانیه set: این بیانیه با کلمه کلیدی set شروع میشود و در ادامه موردی که باید پیکربندی شود میآید.
- بیانیه include: این بیانیه شامل کلمه کلیدی include و یک رشته glob خواهد بود.
- یک یا چند بیانیه ورودی سرویس: ورودی سرویس با کلمه کلیدی check شروع شده و در ادامه نوع سرویس ذکر میشود.
در این مقاله سعی کردیم تا یک آشنایی کلی و اطلاعات اولیه در رابطه با Monit در اختیار شما قرار دهیم. ابزار های نظارت و بررسی بسیاری در این حوزه وجود دارند، در این میان قدرت تشخیص و دست به عمل زدن مونیت، باعث برجسته تر شدن این برنامه از سایر رقبای خود در این زمینه شده است.
میتوانید برای آشنایی بیشتر و استفاده از این ابزار به سایت Monit مراجعه کنید.
شرکت آذرسیس ارائه دهنده خدمات در زمینه سرور مجازی و سرور اختصاصی با سرعت بالا، کیفیت بینظیر و پشتیبانی 24 ساعته، میباشد. برای خرید سرور مجازی و اطلاعات بیشتر در این زمینه به صفحه سرور مجازی مراجعه فرمایید.
سخن آخر:
امیدواریم نوشته امروز در تعریف و توصیف Monit و عملکرد آن، مورد توجه شما قرار گرفته باشد. اکنون شما میتوانید یک ایده کلی از مفهوم ابزار Monit داشته باشید. سپاسگزاریم که تا پایان این آموزش با تیم آذرسیس همراه شدید. هرگونه نظر و پیشنهاد را از بخش نظرات با ما به اشتراک بگذارید.
سوالات متداول:
چگونه میتوانم از مونیت استفاده کنم؟
با مراجعه به سایت مونیت به نشانی Monit می توانید با 15 دقیقه زمان با نحوه راهاندازی برنامه آشنا شده و از امکانات آن برخوردار شوید.
مزیت استفاده از مونیت چیست؟
ابزار های بسیاری در زمینه ی نظارت بر سیستم موجود است. اما قدرت تشخیص و ویژگی وارد عمل شدن مونیت، این برنامه را در میان رقبای خود در این زمینه برجسته تر کرده است.