GoGPT Best VPN GoSearch

فاویکون OnWorks

monit - آنلاین در ابر

اجرای monit در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS

این مانیتور فرمانی است که می تواند در ارائه دهنده میزبانی رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


Monit - ابزاری برای نظارت بر خدمات در سیستم یونیکس

خلاصه


نظارت کردن [گزینه ها]

شرح


مانیت ابزاری برای مدیریت و نظارت بر فرآیندها، برنامه ها، فایل ها، دایرکتوری ها و
سیستم های فایل در سیستم یونیکس مونیت تعمیر و نگهداری و تعمیر خودکار را انجام می دهد و می تواند
اعمال علّی معنادار را در موقعیت های خطا اجرا کنید. به عنوان مثال Monit می تواند یک فرآیند را شروع کند اگر
اجرا نمی‌شود، اگر فرآیندی پاسخ نمی‌دهد، آن را مجدداً راه‌اندازی کنید و در صورت استفاده، فرآیندی را متوقف کنید
منابع بیش از حد می توانید از Monit برای نظارت بر فایل ها، فهرست ها و سیستم های فایل استفاده کنید
تغییرات، مانند تغییرات مُهر زمانی، تغییرات جمع کنترل یا تغییر اندازه.

Monit از طریق یک فایل کنترلی با پیکربندی آسان بر اساس یک فرمت آزاد، توکن کنترل می شود.
نحو گرا گزارش‌ها را به syslog یا فایل log خود کنترل کنید و شما را در مورد خطا مطلع می‌کند
شرایط از طریق پیام های هشدار قابل تنظیم Monit می تواند شبکه های مختلف TCP/IP را انجام دهد
چک، بررسی پروتکل و می تواند از SSL برای چنین چک هایی استفاده کند. Monit یک HTTP(S) ارائه می دهد
رابط کاربری و می توانید از یک مرورگر برای دسترسی به برنامه Monit استفاده کنید.

چه به مانیتور؟


می توانید از Monit برای نظارت بر دیمون استفاده کنید فرآیندهای یا برنامه های مشابهی که روی لوکال هاست اجرا می شوند.
Monit به ویژه برای نظارت بر فرآیندهای دیمون، مانند آنچه که در شروع شده است، مفید است
زمان راه اندازی سیستم به عنوان مثال sendmail، sshd، apache و mysql. برخلاف بسیاری دیگر
سیستم های مانیتورینگ، Monit می تواند در صورت بروز یک موقعیت خطا عمل کند، به عنوان مثال. اگر sendmail باشد
اجرا نمی شود، monit می تواند sendmail را دوباره به طور خودکار شروع کند یا اگر apache از تعداد زیادی استفاده کند
منابع (به عنوان مثال اگر یک حمله DoS در حال انجام است) Monit می تواند آپاچی را متوقف یا راه اندازی مجدد کند و ارسال کند
شما یک پیام هشدار Monit همچنین می‌تواند بر ویژگی‌های فرآیند نظارت کند، مانند مقدار
حافظه یا چرخه های cpu که یک فرآیند از آن استفاده می کند.

همچنین می توانید از Monit برای نظارت استفاده کنید فایل ها, دایرکتوری و سیستمهای پرونده در لوکال هاست نظارت کنید
می‌تواند این موارد را برای تغییرات، مانند تغییرات مُهر زمانی، تغییرات چک‌سوم یا اندازه کنترل کند
تغییر می کند. این نیز به دلایل امنیتی مفید است - می توانید md5 یا sha1 را نظارت کنید
چک جمع فایل هایی که نباید تغییر کنند و در صورت تغییر، هشدار دریافت کنند یا عملی انجام دهند
باید تغییر کند.

Monit می تواند نظارت داشته باشد شبکه اتصالات به سرورهای مختلف، چه در لوکال هاست یا از راه دور
میزبان ها سوکت های دامنه TCP، UDP و Unix پشتیبانی می شوند. تست شبکه را می توان بر روی a انجام داد
سطح پروتکل؛ Monit دارای تست های داخلی برای پروتکل های اصلی اینترنت مانند HTTP،
SMTP و غیره. حتی اگر یک پروتکل پشتیبانی نمی شود، همچنان می توانید سرور را آزمایش کنید زیرا شما
می تواند Monit را برای ارسال هرگونه داده و آزمایش پاسخ از سرور پیکربندی کند.

از Monit می توان برای تست استفاده کرد برنامه ها یا اسکریپت ها در زمان های خاص، بسیار شبیه به cron، اما در
علاوه بر این، می توانید مقدار خروج از یک برنامه را آزمایش کنید و یک عمل انجام دهید یا یک هشدار ارسال کنید
اگر مقدار خروج نشان دهنده یک خطا باشد. این بدان معنی است که شما می توانید از Monit برای اجرای هر کدام استفاده کنید
نوع چکی که می توانید برای آن اسکریپت بنویسید.

در نهایت، Monit می تواند برای نظارت عمومی استفاده شود سیستم منابع روی لوکال هاست مانند
مصرف کلی CPU، حافظه و بار سیستم.

عمومی عمل


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

مکان پیش فرض برای monitrc is ~/.monitrc. اگر این فایل وجود نداشته باشد، Monit وجود خواهد داشت
امتحان /etc/monitrc و چند جای دیگر برای جزئیات بیشتر به FILES مراجعه کنید. شما همچنین می توانید مشخص کنید
فایل را مستقیما با استفاده از -c تغییر خط فرمان به monit. برای مثال،

$ monit -c /var/monit/monitrc

قبل از اینکه Monit برای اولین بار شروع شود، می توانید فایل کنترل را برای خطاهای نحوی آزمایش کنید:

$ monit -t
$ دستور دستور فایل را کنترل کنید

اگر خطایی وجود داشته باشد، Monit یک پیام خطا را به کنسول چاپ می کند
شماره خط در فایل کنترل از جایی که خطا پیدا شد.

هنگامی که یک فایل کنترلی Monit دارید، به سادگی Monit را از کنسول شروع کنید، مانند:

دلار پول

شما می توانید برخی از دستورالعمل های پیکربندی را از طریق سوئیچ های خط فرمان تغییر دهید، اما برای سادگی
توصیه می شود این موارد را در فایل کنترل قرار دهید.

Monit از ترمینال جدا می‌شود و به‌عنوان یک فرآیند پس‌زمینه، یعنی به‌عنوان دیمون اجرا می‌شود
روند. به عنوان یک دیمون، Monit در چرخه اجرا می شود. خدمات را نظارت می کند، سپس برای مدتی به خواب می رود
دوره پیکربندی شده، سپس بیدار می شود و دوباره نظارت را در یک حلقه بی پایان شروع می کند.

گزینه
گزینه های زیر توسط Monit شناسایی می شوند. با این حال، توصیه می شود که تنظیم کنید
گزینه ها (در صورت وجود) مستقیماً در .monitrc فایل کنترل

-c پرونده
از این فایل کنترلی استفاده کنید

-d n
Monit را هر بار یک بار به صورت دیمون اجرا کنید n ثانیه یا استفاده کنید "تنظیم
اهریمن، دیو" در monitrc

-g نام
نام گروه را برای شروع، توقف، راه اندازی مجدد، نظارت، حذف، تنظیم کنید.
وضعیت و اقدام خلاصه

-l ورود به سیستم فایل
اطلاعات گزارش را در این فایل چاپ کنید. یا استفاده کنید "تنظیم ورود به سیستم فایل"
در monitrc

-p pidfile
از این فایل قفل در حالت دیمون استفاده کنید. یا استفاده کنید "تنظیم pidfile"
در monitrc

-s Statefile
اطلاعات حالت را در این فایل بنویسید. یا استفاده کنید "تنظیم
پرونده دولتی" در monitrc

-I
در پس زمینه اجرا نشود (برای اجرا از init لازم است)

-i
شناسه منحصر به فرد Print Monit

-r
شناسه منحصر به فرد Monit را بازنشانی کنید. با احتیاط استفاده کنید

-t
بررسی نحو را برای فایل کنترل اجرا کنید

-v
حالت پر سر و صدا، کار پر سر و صدا (خروجی تشخیصی)

-vv
حالت بسیار پرمخاطب، مانند -v به علاوه log stack-trace در صورت خطا

-H [نام فایل]
چاپ هش MD5 و SHA1 از فایل یا از stdin اگر
نام فایل حذف شده است. مونیت پس از آن خارج می شود

-V
شماره نسخه و سطح پچ را چاپ کنید

-h
یک متن راهنما چاپ کنید

استدلال
هنگامی که Monit را به عنوان یک فرآیند شبح اجرا کردید، می توانید Monit را با یکی از آنها فراخوانی کنید
استدلال های زیر سپس Monit به دیمون Monit (در پورت TCP) متصل می شود
127.0.0.1:2812 به صورت پیش فرض) و از دیمون Monit بخواهید تا عمل درخواستی را انجام دهد. که در
به عبارت دیگر؛ فراخوانی monit بدون آرگومان، دیمون Monit را شروع می‌کند و monit را فراخوانی می‌کند
با آرگومان ها شما را قادر می سازد تا با فرآیند شبح Monit ارتباط برقرار کنید.

همه را شروع کنید
تمام سرویس های فهرست شده در فایل کنترل را راه اندازی کنید و نظارت را برای آنها فعال کنید. اگر
گزینه گروه تنظیم شده است (-g، فقط نظارت بر خدمات را در نامگذاری شده شروع و فعال کنید
گروه (در این مورد "همه" مورد نیاز نیست).

نام شروع
سرویس نامگذاری شده را راه اندازی کنید و نظارت را برای آن فعال کنید. نام یک نام ورودی سرویس است
از فایل monitrc

همه را متوقف کنید
تمام خدمات فهرست شده در فایل کنترل را متوقف کنید و نظارت بر آنها را غیرفعال کنید. اگر
گزینه گروه تنظیم شده است، فقط مانیتورینگ سرویس های نام برده شده را متوقف و غیرفعال کنید
گروه (در این مورد "همه" مورد نیاز نیست).

توقف نام
سرویس نامگذاری شده را متوقف کنید و نظارت بر آن را غیرفعال کنید. نام یک نام ورودی سرویس است
از فایل monitrc

همه را دوباره راه اندازی کنید
توقف کنید و شروع کنید تمام خدمات. اگر گزینه گروه تنظیم شده است، فقط سرویس ها را راه اندازی مجدد کنید
گروه نامگذاری شده ("همه" در این مورد مورد نیاز نیست).

نام راه اندازی مجدد
سرویس نامگذاری شده را مجددا راه اندازی کنید. نام یک نام ورودی سرویس از فایل monitrc است.

نظارت بر همه
مانیتورینگ تمامی سرویس های فهرست شده در فایل کنترل را فعال کنید. اگر گزینه گروه باشد
تنظیم کنید، فقط نظارت بر خدمات را در گروه نامگذاری شده شروع کنید ("همه" در مورد نیاز نیست
این مورد).

نام مانیتور
نظارت بر سرویس نامگذاری شده را فعال کنید. نام یک نام ورودی سرویس از
فایل monitrc Monit همچنین نظارت بر کلیه خدماتی که این سرویس به آن وابسته است را فعال می کند
بر.

همه را رها کنید
مانیتورینگ تمامی سرویس های فهرست شده در فایل کنترل را غیرفعال کنید. اگر گزینه گروه باشد
تنظیم کنید، فقط نظارت بر خدمات را در گروه نامگذاری شده غیرفعال کنید ("همه" در آن لازم نیست
این مورد).

نام غیر مانیتور
مانیتورینگ سرویس نامگذاری شده را غیرفعال کنید. نام یک نام ورودی سرویس از
فایل monitrc Monit همچنین نظارت بر کلیه خدماتی را که به این بستگی دارد غیرفعال می کند
خدمات.

وضعیت [نام]
چاپ اطلاعات وضعیت خدمات

خلاصه [نام]
یک خلاصه وضعیت کوتاه را چاپ کنید.

بارگذاری
یک شبح Monit در حال اجرا را دوباره راه اندازی کنید، دیمون پیکربندی خود را دوباره می خواند، بسته می شود
و فایل های گزارش را دوباره باز کنید.

ترک
فرآیند دیمون Monit را بکشید

معتبر ساختن
تمام خدمات فهرست شده در فایل کنترل را بررسی کنید. این عمل نیز پیش فرض است
رفتار زمانی که Monit در حالت دیمون اجرا می شود.

procmatch regex
امکان تست آسان الگو برای بررسی تطابق فرآیند. فرمان به طور منظم انجام می شود
بیان به عنوان یک آرگومان و نمایش تمام فرآیندهای در حال اجرا مطابق با الگو.

L' نظارت کنترل فایل


Monit از طریق یک فایل کنترلی به نام پیکربندی و کنترل می شود monitrc. مکان پیش فرض
برای این فایل است ~/.monitrc. اگر این فایل وجود نداشته باشد، Monit /etc/monitrc را امتحان می کند،
سپس @sysconfdir@/monitrc و در نهایت ./monitrc. اگر Monit را از منبع بسازید، مقدار
از @sysconfdir@ را می توان در زمان پیکربندی به صورت ./configure --sysconfdir ارائه کرد. برای مثال،
با استفاده از / پیکربندی --sysconfdir /var/monit/etc باعث جستجوی Monit برای monitrc in
/var/monit/etc

برای محافظت از امنیت فایل کنترلی و رمزهای عبور، فایل کنترل باید داشته باشد
مجوزهای خواندن و نوشتن نه بیش نسبت به 0700 (u=xrw,g=,o=); مونیت شکایت می کند و خارج می شود
در غیر این صورت.

زمانی که بین آرگومان های خط فرمان و آرگومان های موجود در این تضاد وجود دارد
فایل، آرگومان های خط فرمان اولویت دارند.

Monit از زبان خاص دامنه خود (DSL) استفاده می کند. فایل کنترل از یک سری تشکیل شده است
ورودی های سرویس و بیانیه های گزینه جهانی.

نظرات با "#" شروع می شود و تا انتهای خط ادامه می یابد. در غیر این صورت فایل
شامل مجموعه ای از ورودی های سرویس یا بیانیه های گزینه سراسری در قالب آزاد،
نحو توکن گرا

می توانید از کلمات کلیدی نویز مانند "اگر"، "و"، "با(در)"، "دارا"، "us(ing|e)"، "on(ly)" استفاده کنید،
'then'، 'for'، 'of' در هر جایی از ورودی تا شبیه انگلیسی شود. آنها نادیده گرفته می شوند، اما
می تواند خواندن مطالب را در یک نگاه بسیار آسان تر کند. کلمات کلیدی به حروف بزرگ و کوچک حساس هستند.

سه نوع توکن وجود دارد: دستور زبان, تعداد (یعنی دنباله های رقمی اعشاری) و
رشته های. رشته ها می توانند نقل قول یا بدون نقل قول باشند. یک رشته نقل‌قول‌شده با double محدود می‌شود
نقل قول و ممکن است حاوی فضای خالی باشد (و ارقام نقل قول شده به عنوان یک رشته در نظر گرفته می شوند). نقل قول نشده
رشته هر نشانه ای است که با فضای خالی محدود شده است، حاوی کاراکترها و/یا اعداد است.

در سطح معنایی، فایل کنترل از سه نوع ورودی تشکیل شده است:

1. بیانیه های مجموعه جهانی
یک بیانیه مجموعه جهانی با کلمه کلیدی "set" و آیتم برای پیکربندی شروع می شود.

2. بیانیه شامل جهانی
عبارت include از کلمه کلیدی "include" و یک رشته glob تشکیل شده است. این
بیانیه برای گنجاندن دستورالعمل های پیکربندی از فایل های جداگانه استفاده می شود.

3. یک یا چند بیانیه ورود خدمات.
هر ورودی خدمات شامل کلمات کلیدی "چک" و به دنبال آن نوع سرویس است.
هر ورودی نیاز به یک منحصر به فرد نام توصیفی، که ممکن است آزادانه انتخاب شود. این اسم
توسط Monit برای ارجاع به سرویس به صورت داخلی و در تمام تعاملات با آن استفاده می شود
کاربر می باشد.

در حال حاضر، نه نوع بیانیه چک پشتیبانی می شود:

1. فرآیند بررسی | تطابق >
مسیر مطلق فایل pid برنامه است. فایل pid یک فایل است،
حاوی شناسه منحصر به فرد یک فرآیند. اگر فایل pid وجود نداشته باشد یا شامل نباشد
شماره PID یک فرآیند در حال اجرا، Monit روش شروع ورودی را فراخوانی می کند
تعریف شده است.

جایگزینی برای استفاده از فایل های PID است و از تطبیق الگوی نام فرآیند استفاده می کند
فرآیند را برای نظارت پیدا کنید اولین تطابق استفاده می شود، بنابراین این شکل چک بیشتر است
اگر نام فرآیند منحصر به فرد باشد مفید است. فایل Pid باید تا حد امکان استفاده شود
pid مورد انتظار را دقیقاً تعریف می‌کند (تطبیق الگو برای فرآیندهایی مفید نخواهد بود
یک فرآیند فرزند را با استفاده از فورک/کلون شروع کنید زیرا کودک با همان الگو مطابقت دارد
به طور موقت). با استفاده از خط فرمان می‌توانید آزمایش کنید که آیا یک فرآیند با الگوی خط فرمان مطابقت دارد یا خیر
"monit procmatch "regex-pattern"". این فهرست تمام فرآیندهایی را که مطابقت دارند یا نه، فهرست می کند
الگوی regex

2. فایل را بررسی کنید مسیر
مسیر مطلق فایل است. اگر فایل وجود نداشته باشد، Monit تماس می گیرد
روش شروع ورودی اگر تعریف شده باشد، اگر به نوع فایل معمولی اشاره نمی کند
(به عنوان مثال یک فهرست)، Monit نظارت بر این ورودی را غیرفعال می کند. اگر مونیت اجرا شود
در حالت غیرفعال یا روش شروع تعریف نشده است، Monit فقط یک هشدار ارسال می کند
خطا.

3. FIFO را بررسی کنید مسیر
مسیر مطلق به fifo است. اگر fifo وجود نداشته باشد، Monit تماس می گیرد
روش شروع ورودی اگر تعریف شده باشد، اگر به نوع fifo اشاره نمی کند (برای
به عنوان مثال یک فهرست)، Monit نظارت بر این ورودی را غیرفعال می کند. اگر مونیت اجرا شود
حالت غیرفعال یا روش شروع تعریف نشده است، Monit فقط یک هشدار ارسال می کند
خطا.

4. فایل سیستم را بررسی کنید مسیر
مسیر دستگاه/دیسک، نقطه اتصال، فایل یا دایرکتوری است که بخشی است
از یک فایل سیستم توصیه می شود مستقیماً از یک فایل ویژه بلوک استفاده کنید (به عنوان مثال
/dev/hda1 در لینوکس یا /dev/dsk/c0t0d0s1 در Solaris و غیره) اگر از نقطه اتصال استفاده می‌کنید
(به عنوان مثال /data)، توجه داشته باشید که اگر سیستم فایل unmount شود، آزمایش همچنان درست خواهد بود
زیرا نقطه کوه وجود دارد.

اگر سیستم فایل در دسترس نباشد، Monit روش شروع ورودی را فراخوانی می‌کند
تعریف شده است. اگر به یک فایل سیستم اشاره نمی کند، Monit نظارت بر آن را غیرفعال می کند
این ورودی اگر Monit در حالت غیرفعال اجرا شود یا روش شروع تعریف نشده باشد، Monit
فقط یک هشدار در مورد خطا ارسال می کند.

5. دایرکتوری را بررسی کنید مسیر
مسیر مطلق به دایرکتوری است. اگر دایرکتوری وجود ندارد، Monit کنید
در صورت تعریف، روش شروع ورودی را فراخوانی می کند. اگر به الف اشاره نمی کند
فهرست، monit نظارت بر این ورودی را غیرفعال می کند. اگر Monit در حالت غیرفعال اجرا شود
یا روش های شروع تعریف نشده است، Monit فقط یک هشدار در مورد خطا ارسال می کند.

6. میزبان را بررسی کنید نشانی
آدرس میزبان را می توان به عنوان یک رشته نام میزبان یا به عنوان یک رشته آدرس IP در a مشخص کرد
فرمت اعشاری نقطه‌دار مانند tildeslash.com یا "64.87.72.95".

7. چک کردن سیستم
La منحصر به فرد نام معمولاً نام میزبان محلی است، اما می توان از هر نام توصیفی استفاده کرد.
اگر از متغیر $HOST به عنوان نام استفاده کنید، به نام میزبان گسترش می یابد. این چک
به شخص اجازه می دهد تا منابع عمومی سیستم مانند استفاده از CPU، کل مصرف حافظه را نظارت کند
یا میانگین بار. در منحصر به فرد نام به عنوان نام میزبان سیستم در هشدارهای پستی و به عنوان استفاده می شود
نام اولیه ورودی میزبان در M/Monit.

8. برنامه را بررسی کنید مسیر [تایم اوت SECONDS]
مسیر مطلق برنامه یا اسکریپت اجرایی است. تست وضعیت
به شخص اجازه می دهد تا وضعیت خروج از برنامه را بررسی کند. اگر برنامه تمام نشود
اجرا در داخل ثانیه، Monit آن را خاتمه می دهد. برنامه پیش فرض
تایم اوت 300 ثانیه (5 دقیقه) است. خروجی برنامه ضبط و ساخته می شود
موجود در رابط کاربری و در هشدارها (به طور پیش فرض تا 512B، شما می توانید
با استفاده از عبارت set limits، حد را سفارشی کنید).

9. شبکه را بررسی کنید | رابط >
آدرس IPv4 یا IPv6 رابط شبکه نظارت شده است. همچنین است
امکان استفاده از نام رابط، مانند "eth0" در لینوکس.

عشق ورزیدن


Monit وضعیت و پیام های خطا را به یک فایل گزارش وارد می کند. استفاده کنید تنظیم ورود به سیستم فایل بیانیه در
فایل کنترل monitrc برای راه اندازی Monit برای ورود به فایل لاگ خود، از مثال استفاده کنید تنظیم ورود به سیستم فایل
/var/log/monit.log. اگر syslog به عنوان یک مقدار برای سوئیچ خط فرمان "-l" (یا the
کلمه کلیدی تنظیم ورود به سیستم فایل syslog در فایل کنترل یافت می شود) Monit از syslog سیستم
دیمون برای ثبت پیام ها با اولویتی که به هر پیام بر اساس زمینه اختصاص داده شده است. به
ورود به سیستم را خاموش کنید، به سادگی فایل لاگ را در فایل کنترل تنظیم نکنید (و البته انجام ندهید
از سوئیچ -l استفاده کنید)

فرمت فایل لاگ به صورت زیر است:

[تاریخ] اولویت: پیام

برای مثال:

[CET 5 ژانویه 18:49:29] اطلاعات : 'localhost' Monit شروع شد

اهریمن، دیو MODE


استفاده کنید

SET DAEMON
[[با] تاخیر شروع ]

برای تعیین طول چرخه نظرسنجی Monit و اجرای Monit در حالت دیمون. باید الف را مشخص کنید
آرگومان عددی که یک بازه نظرسنجی در ثانیه است.

در حالت دیمون، مونیت از کنسول جدا می شود، خود را در پس زمینه قرار می دهد و اجرا می شود
به طور مداوم، هر سرویس مشخص شده را زیر نظر دارد و سپس برای نظرسنجی داده شده به خواب می رود
بازه زمانی، بیدار می شود و دوباره نظارت را در یک چرخه بی پایان شروع می کند.

یا می توانید از سوئیچ خط فرمان "-d" برای تنظیم فاصله نظرسنجی استفاده کنید
اکیداً توصیه می شود فاصله نظرسنجی را در خود تنظیم کنید ~/.monitrc فایل، با استفاده از تنظیم
روح پلید.

سپس Monit همیشه در حالت دیمون شروع می شود. اگر از این عبارت استفاده نکنید و استفاده نکنید
شروع monit با گزینه -d، Monit فقط یک بار از طریق چک های سرویس اجرا می شود و
سپس خارج شوید این ممکن است در برخی شرایط مفید باشد، اما Monit در اصل برای اجرا طراحی شده است
به عنوان یک فرآیند دیمون

فراخوانی "monit" با یک شبح Monit که در پس‌زمینه اجرا می‌شود، یک سیگنال بیدار شدن را ارسال می‌کند
دیمون، آن را مجبور می کند تا خدمات را فورا بررسی کند. فراخوانی "monit" با ترک
آرگومان به جای بیدار کردن فرآیند Monit در حال اجرا، آن را از بین می برد.

از گزینه تاخیر شروع می توان برای صبر کردن (یک بار) قبل از اینکه Monit شروع به بررسی خدمات کند استفاده کرد.
این می تواند برای مثال زمانی که سیستم بوت می شود مفید باشد. Monit به طور پیش فرض شروع به بررسی می کند
خدمات بلافاصله در هنگام راه اندازی

INIT پشتیبانی


دستور "set init" مانع از تبدیل Monit به فرآیند دیمون می شود.
در عوض Monit به عنوان یک فرآیند پیش زمینه اجرا می شود. (شما همچنان باید از "set daemon" استفاده کنید
چرخه نظرسنجی را مشخص کنید).

این برای اجرای Monit از init لازم است. استفاده از init برای شروع Monit احتمالاً بهترین است
راه برای اجرای Monit اگر می خواهید مطمئن باشید که همیشه یک شبح Monit در حال اجرا دارید
سیستم شما گزینه دیگر اجرای Monit از crontab است. در هر صورت باید درست کنید
قبل از اینکه Monit را شروع کنید، مطمئن شوید که فایل کنترلی هیچ گونه خطای نحوی ندارد
init یا crontab (برای بررسی از "monit -t" استفاده کنید).

برای راه‌اندازی Monit برای اجرا از init، می‌توانید از عبارت «set init» در Monit استفاده کنید
فایل را کنترل کنید یا از گزینه "-I" از خط فرمان استفاده کنید. در اینجا چیزی است که باید به آن اضافه کنید
"/etc/inittab":

# Monit را در سطوح اجرای استاندارد اجرا کنید
mo:2345:respawn:/usr/local/bin/monit -Ic /etc/monitrc

بعد از اینکه فایل پیکربندی init را تغییر دادید، می توانید دستور زیر را اجرا کنید
/etc/inittab را دوباره بررسی کنید و Monit را شروع کنید:

telinit q

برای سیستم های بدون telinit:

کشتن -1 1

اگر از Monit برای نظارت بر سرویس هایی استفاده می شود که در زمان راه اندازی نیز راه اندازی می شوند (مثلاً سرویس ها
از طریق اسکریپت های SYSV init rc یا از طریق inittab شروع شد) سپس، در برخی موارد، یک شرط مسابقه
ممکن است رخ دهد. به این معنا که؛ اگر یک سرویس کند شروع می شود، Monit می تواند فرض کند که سرویس است
اجرا نمی شود و احتمالاً سعی کنید آن را راه اندازی کنید و یک هشدار ایجاد کنید، در حالی که، در واقع این سرویس است
در حال شروع یا در حال حاضر در دنباله راه اندازی آن است. لطفاً سؤالات متداول را مشاهده کنید
راه حل این مشکل نسخه کوتاه این است که بعد از آن، Monit را در یک سطح اجرا بالاتر شروع کنید
فرآیندهای سیستم.

عبارتند از فایل ها


فایل کنترل Monit، "monitrc" می تواند شامل فایل های پیکربندی اضافی باشد. این
ویژگی به فرد کمک می کند تا به جای داشتن، پیکربندی را در فایل های جداگانه سازماندهی کند
همه چیز در یک فایل، اگر این نوع چیزها را دوست دارید. عبارت های شامل را می توان قرار داد
تقریباً در هر مکانی در "monitrc" هر چند کنوانسیون در پایین است. نحو است
به شرح زیر است:

عبارتند از

globstring هر نوع رشته ای است که در آن تعریف شده است کره(7). بنابراین، می توانید به الف مراجعه کنید
یک فایل یا می توانید چندین فایل را همزمان بارگذاری کنید. اگر می خواهید از فضای خالی در خود استفاده کنید
رشته globstring باید در گیومه (') یا دو گیومه (") جاسازی شود.
globstring به جای فایل با یک فهرست مطابقت دارد، بی‌صدا نادیده گرفته می‌شود.

هر شامل عبارات موجود در یک فایل شامل مانند فایل کنترل اصلی تجزیه می شوند.

اگر globstring با چندین نتیجه مطابقت داشته باشد، فایل ها به صورت غیر مرتب شده گنجانده می شوند.
اگر نیاز به تکیه بر نظم خاصی دارید، باید از globbing وحشی اجتناب کنید و در عوض
مسیر کامل فایل های موجود را مشخص کنید.

یک مثال،

شامل /etc/monit.d/*.cfg باشد

با این کار هر فایلی که با globstring مطابقت دارد بارگیری می شود. یعنی تمام فایل ها در /etc/monit.d که
با پیشوند به پایان می رسد .cfg.

SSL OPTIONS


گزینه های رایج SSL/TLS را می توان با استفاده از عبارت زیر تنظیم کرد و برای همه SSL اعمال می شود
اتصالات ایجاد شده از طریق Monit:

تنظیم [گزینه ها] {
نسخه:
تأیید کنید:
خودشناس:
CLIENTPEMFILE:
فایل گواهی:
CCERTIFICATEPATH:
}

نسخه نسخه SSL/TLS خاص را برای استفاده تنظیم کنید. به طور پیش فرض Monit از AUTO استفاده می کند. در حالت AUTO،
فقط TLS استفاده می شود، SSLv2 و SSLv3 منسوخ در نظر گرفته می شوند. اگر مجبور به استفاده از SSLv2 یا
SSLv3، شما باید به صراحت نسخه را تنظیم کنید.

تأیید کنید تأیید گواهی سرور SSL را فعال کنید. با این کار، یک خطا تایید و گزارش می‌شود
گواهی سرور قابل اعتماد نیست، معتبر نیست یا منقضی شده است. گواهی پیش فرض
تأیید غیرفعال است، اگرچه توصیه می کنیم آن را فعال کنید، در غیر این صورت هیچ تضمینی وجود ندارد
که Monit با سروری که شما فکر می کنید با آن صحبت می کند صحبت می کند.

خود را نشان می دهد گواهی های خودامضا به طور پیش فرض رد می شوند. از این گزینه برای اجازه استفاده کنید
گواهی های خود امضا شده

CLIENTPEMFILE مسیر گواهی کلاینت SSL "پایگاه-فایل" را در قالب PEM تنظیم کنید. اگر
یک سرور SSL به تأیید اعتبار گواهی مشتری نیاز دارد، Monit سعی خواهد کرد یک عمومی پیدا کند
گواهی کلید در این فایل که با مرجع صدور گواهی سرور مطابقت دارد و در صورت یافتن،
از این گواهی برای احراز هویت مشتری استفاده کنید.

CACERTIFICATEFILE مسیر فایل رمزگذاری شده PEM حاوی Certificate Authority را تنظیم کنید
گواهینامه های (CA). اگر این گزینه وجود ندارد، Monit از گواهی‌های پیش‌فرض CA OpenSSL استفاده می‌کند
استفاده شده (openssl نسخه -d می توان برای دریافت گواهی های پیش فرض CA استفاده کرد). زیاد
توزیع‌ها با گواهی‌های SSL و CA از قبل راه‌اندازی شده‌اند و استفاده از این گزینه است
معمولا لازم نیست

CACERTIFICATEPATH مسیر دایرکتوری حاوی Certificate Authority (CA) را تنظیم کنید
گواهینامه ها. اگر از این گزینه استفاده نشود، Monit از گواهینامه های پیش فرض CA OpenSSL استفاده می کند.
بسیاری از توزیع ها دارای گواهینامه های SSL و CA هستند که قبلاً از این گزینه استفاده می کنند
معمولا ضروری نیست

بیانیه گزینه های SSL به صورت سراسری برای تمام اتصالات SSL/TLS که از طریق ایجاد شده اعمال می شود
نظارت کنید. گزینه های SSL را نیز می توان در یک بررسی محلی تنظیم کرد سرور پست الکترونیکی تنظیمات یا در
mmonit بیانیه، و سپس تنظیمات جهانی را لغو یا گسترش می دهد.

برای تنظیم گزینه های جهانی SSL، این عبارت را در بالای صفحه خود قرار دهید .monitrc فایل:

تنظیم گزینه های ssl {...}

در اینجا نمونه ای از تنظیم گزینه های SSL جهانی و محلی وجود دارد:

# تأیید گواهی را برای همه اتصالات SSL فعال کنید
# گواهینامه های خودامضا به طور پیش فرض مجاز نیستند
تنظیم گزینه های ssl {
تایید: فعال کردن
}

# تأیید گواهی (از طریق تنظیمات جهانی)
# گواهی امضای خود را برای این چک مجاز کنید
نمونه میزبان را با آدرس example.com بررسی کنید
اگر شکست خورد
پورت 443
پروتکل https
با گزینه های ssl {selfsigned: allow}
سپس هشدار دهید

# گواهی example2.com را تأیید نکنید (تنظیم جهانی را لغو کنید)
میزبان example2 را با آدرس example2.com بررسی کنید
اگر شکست خورد
پورت 443
پروتکل https
با گزینه های ssl {verify: disable}
سپس هشدار دهید

نظارت HTTPD


اگر در فایل کنترل مشخص شده باشد، Monit با پشتیبانی HTTP شروع می شود. سپس می توانید استفاده کنید
برای شروع و توقف خدمات، نظارت بر سرویس و همچنین مشاهده را غیرفعال یا فعال کنید، CLI را کنترل کنید
وضعیت هر سرویس

اگر پشتیبانی HTTP از طریق TCP به جای سوکت یونیکس فعال باشد، می‌توانید مشاهده کنید
داشبورد آموزنده Monit در مرورگر وب شما.

توجه داشته باشید که اگر پشتیبانی HTTP غیرفعال باشد، رابط Monit CLI کاهش می یابد
عملکرد، زیرا اکثر دستورات CLI (مانند "وضعیت نظارت") باید با آن ارتباط برقرار کنند
فرآیند پس‌زمینه را از طریق رابط HTTP نظارت کنید. ما قویاً توصیه می کنیم که از HTTP پشتیبانی کنید
فعال شد. اگر امنیت نگران کننده است، رابط HTTP را فقط به میزبان محلی متصل کنید یا از یونیکس استفاده کنید
سوکت تا Monit از بیرون قابل دسترسی نباشد.

نحو برای پورت TCP:

پورت HTTPD را تنظیم کنید [نشانی ]
[SSL ]
[PEMFILE ]
[CLIENTPEMFILE ]
[اجازه دادن به خود تأیید]
[امضا ]
اجازه +

مثال:

پورت httpd 2812 را تنظیم کنید
اجازه نام کاربری: رمز عبور

اکنون می توانید استفاده کنیدhttp://localhost:2812/> برای دسترسی به رابط وب Monit از مرورگر،
پس از اینکه نام کاربری و رمز عبور را به عنوان اعتبار وارد کردید.

نحو برای سوکت یونیکس:

HTTPD UNIXSOCKET را تنظیم کنید
اجازه +

مثال:

httpd unixsocket /var/run/monit.sock را تنظیم کنید
اجازه نام کاربری: رمز عبور

گزینه:

یونیکس سوکت مسیر را به سوکت یونیکس تنظیم کنید که باید به آن متصل شود و به آن گوش دهید.

PORT پورت را تنظیم کنید که Monit باید به آن متصل شود و به آن گوش دهد. Monit معمولاً روی پورت 2812 تنظیم می شود.

ADDRESS کاری کنید که Monit فقط در یک رابط خاص گوش کند. برای مثال اگر شما نکن خواستن
رابط وب Monit را در معرض شبکه قرار دهید، آن را فقط به لوکال هاست متصل کنید. مونیت قبول می کند
اتصالات در هر آدرسی به طور پیش فرض (اگر گزینه ADDRESS وجود نداشته باشد).

به عنوان مثال برای محدود کردن رابط وب فقط به لوکال هاست:

httpd را تنظیم کنید
پورت 2812
از آدرس 127.0.0.1 استفاده کنید
اجازه نام کاربری: رمز عبور

SSL TLS را برای رابط وب Monit فعال کنید. در PEMFILE گزینه هر دو سرور را نگه می دارد
کلید خصوصی و گواهی این فایل باید در مکانی امن در سیستم فایل ذخیره شود
و باید مجوزهای دقیق داشته باشد، بیش از 0700 نباشد.

مثلا:

httpd را تنظیم کنید
پورت 2812
ssl را فعال کنید
pemfile /etc/certs/monit.pem
اجازه myuser:mypassword

اکنون می توانید استفاده کنید برای دسترسی به وب سرور Monit از طریق TLS
اتصال رمزگذاری شده

OpenSSL FIPS پشتیبانی می شود. برای فعال کردن حالت FIPS (به شرطی که کتابخانه OpenSSL شما پشتیبانی کند
it)، این عبارت را به فایل کنترل Monit اضافه کنید:

تنظیم FIPS

CLIENTPEMFILE احراز هویت مبتنی بر گواهی مشتری یک مشتری اتصال باید ارائه دهد
گواهی شناخته شده برای Monit به منظور اتصال. این فایل همچنین باید همه را داشته باشد
گواهینامه های CA لازم به طور پیش فرض گواهی های مشتری خود امضا شده هستند نه مجاز. اگر
شما می خواهید از یک گواهی امضا شده از یک مشتری استفاده کنید که باید به صراحت مجاز باشد
با اجازه تصدیق خود بیانیه.

مثلا:

httpd را تنظیم کنید
پورت 2812
ssl را فعال کنید
pemfile /etc/certs/monit.pem
clientpemfile /etc/certs/monit-client.pem

امضا می توان برای پنهان کردن نسخه Monit از سرصفحه پاسخ HTTP و صفحات خطا استفاده کرد.
مثلا:

httpd را تنظیم کنید
پورت 2812
امضا غیر فعال کردن
اجازه myuser:mypassword

تصدیق
دسترسی به رابط وب Monit در درجه اول از طریق کنترل می شود اجازه دادن گزینه ای که هست
برای تعیین احراز هویت و اجازه دادن به مشتریان خاص برای اتصال استفاده می شود.

اگر از رابط خط فرمان Monit استفاده می شود، حداقل یک رمز عبور متن شفاف وجود دارد
لازم است (به زیر مراجعه کنید)، در غیر این صورت رابط خط فرمان Monit قادر نخواهد بود
به رابط وب Monit متصل شوید.

مشتریانی که سعی در اتصال به Monit دارند، اما نام کاربری و/یا رمز عبور اشتباه ارسال می‌کنند، ثبت می‌شوند
با آدرس IP آنها

مشتری گواهینامه ها

این روش احراز هویت یک مکانیزم احراز هویت قوی است و از سرویس گیرنده HTTPS استفاده می کند
گواهی هایی برای تأیید صحت یک کلاینت در حال اتصال. مشتریان باید دارای یک
گواهی کلید عمومی شناخته شده توسط Monit. مشتری باید از طریق SSL و Monit به Monit متصل شود
از مشتری بخواهید گواهی خود را ارسال کند. به محض دریافت گواهی، Monit مقایسه می کند
گواهی به گواهی های واقع در CLIENTPEMFILE فایل. دسترسی داده می شود اگر
گواهی مشتری در این فایل است. دیدن CLIENTPEMFILE در بالا برای جزئیات

میزبان و شبکه اجازه دادن فهرست

Monit یک لیست کنترل دسترسی از میزبان ها و شبکه های مجاز برای اتصال را حفظ می کند. تو می توانی
هر تعداد هاست که می خواهید اضافه کنید، اما فقط هاست هایی با نام دامنه معتبر یا IP آن
آدرس مجاز است

Monit از یک سرور نام پرس و جو می کند تا هر میزبانی که سعی در اتصال به آن دارد بررسی کند. اگر یک میزبان (مشتری) باشد
در تلاش برای اتصال است، اما در لیست دسترسی یافت نمی شود یا قابل حل نیست، Monit
اتصال به مشتری را به سرعت قطع می کند.

نمونه فایل کنترل:

پورت httpd 2812 را تنظیم کنید
لوکال هاست را مجاز می کند
اجازه my.other.work.machine.com
اجازه 10.1.1.1
اجازه دهید 192.168.1.0/255.255.255.0
اجازه دهید 10.0.0.0/8

مشتریانی که در لیست مجاز ذکر نشده اند و سعی می کنند به Monit متصل شوند، از دسترسی محروم خواهند شد
و با آدرس IP خود وارد می شوند.

اساسی تصدیق

Monit از احراز هویت اولیه همانطور که در RFC 2617 توضیح داده شده است پشتیبانی می کند.

به اختصار؛ یک سرور یک مشتری (مثلاً یک مرورگر) را برای ارسال اطلاعات احراز هویت به چالش می کشد
(نام کاربری و رمز عبور) و در صورت پذیرش، سرور به مشتری اجازه دسترسی به
سند درخواستی

بزرگترین ضعف در احراز هویت اولیه ارسال نام کاربری و رمز عبور است
متن شفاف بر روی شبکه (یعنی base64 رمزگذاری شده). بنابراین توصیه می شود که انجام دهید
از این روش احراز هویت استفاده نکنید مگر اینکه Monit را با آن اجرا کنید اس اس ال حمایت کردن. با ssl، این است
از زمان استفاده از احراز هویت پایه ایمن است تمام داده های HTTP، از جمله احراز هویت اولیه
سرصفحه ها رمزگذاری خواهند شد.

کاربر و رمز عبور متن را پاک کنید

اگر دستور مجاز حاوی نام کاربری و a باشد، Monit از احراز هویت اولیه استفاده خواهد کرد
رمز عبور با یک کاراکتر ":" جدا شده است. از کاراکترهای خاص می توان استفاده کرد، اما برای
غیر الفبایی رمز عبور باید نقل قول شود.

نحو:

اجازه :

PAM

PAM بر روی پلتفرم هایی که PAM را ارائه می دهند (مانند Linux، Mac OS X، FreeBSD،
NetBSD).

نحو:

اجازه @

جایی که "گروه" نام گروهی است که اجازه دسترسی به رابط وب Monit را دارد. Monit از PAM استفاده می کند
سرویس نامیده می شود نظارت کردن برای احراز هویت PAM، برای جزئیات بیشتر به صفحه راهنمای PAM مراجعه کنید
دستورالعمل نحوه تنظیم سرویس PAM و پلاگین های احراز هویت PAM.

نمونه سرویس PAM برای Monit در Mac OS X (به عنوان فایل "/etc/pam.d/monit" ذخیره شود):

# monit: تأیید جلسه رمز عبور حساب
auth کافی pam_securityserver.so
auth کافی pam_unix.so
تأیید اعتبار pam_deny.so لازم است
حساب مورد نیاز pam_permit.so

و پیکربندی monitrc که فقط به گروه "admin" احراز هویت شده از طریق PAM اجازه دسترسی به وب را می دهد
رابط:

httpd را تنظیم کنید
پورت 2812
اجازه @admin

فایل htpasswd

یا می‌توانید از فایل‌هایی با فرمت «htpasswd» استفاده کنید (یک کاربر:passwd ورودی در هر خط)،
اینطوری: اجازه دادن [متن واضح|سرخم|md5] /مسیر [کاربران]. به طور پیش فرض کلمه عبور متن شفاف هستند
خواندن. در صورت هضم رمزهای عبور، لازم است رمزگذاری مشخص شود
روش. اگر نمی خواهید همه کاربران موجود در فایل رمز عبور به Monit دسترسی داشته باشند، می توانید
فقط آن دسته از کاربرانی را که باید دسترسی داشته باشند، در عبارت allow مشخص کنید. وگرنه همه
کاربران اضافه می شوند.

Example1:

پورت httpd 2812 را تنظیم کنید
اجازه hauk:password
اجازه md5 /etc/httpd/htpasswd جان پل رینگو جورج

اگر از این روش همراه با یک لیست میزبان استفاده می کنید، فقط مشتریان از میزبان های لیست شده استفاده می کنید
اجازه خواهد داشت به سرور Monit HTTP متصل شود و از هر کلاینت خواسته می شود
یک نام کاربری و یک رمز عبور ارائه دهید.

Example2:

پورت httpd 2812 را تنظیم کنید
لوکال هاست را مجاز می کند
اجازه 10.1.1.1
اجازه hauk:"passw@rd"

اگر فقط می‌خواهید از احراز هویت اولیه استفاده کنید، کافیست ورودی‌های مجاز را با آن وارد کنید
نام کاربری و رمز عبور یا فایل های رمز عبور مانند مثال 1 بالا.

کاربران فقط خواندنی

در نهایت می توان برخی از کاربران را فقط خواندنی تعریف کرد. یک کاربر فقط خواندنی می تواند آن را بخواند
بر صفحات وب نظارت داشته باشید اما این کار را انجام خواهد داد نه به دکمه های فشاری دسترسی داشته باشید و نمی توانید یک سرویس را از آن تغییر دهید
رابط وب

پورت httpd 2812 را تنظیم کنید
admin:password
اجازه hauk:رمز عبور فقط خواندنی
به @admins اجازه دهید
به کاربران @ فقط خواندنی اجازه دهید

یک کاربر با استفاده از گزینه فقط خواندنی تنظیم شده است فقط خواندنی کلمه کلیدی بعد از نام کاربری: رمز عبور در
مثال بالا کاربر هاوک به عنوان یک کاربر فقط خواندنی تعریف می شود، در حالی که مدیر سایت کاربر همه را دارد
حقوق دسترسی.

هشدار دهنده پیام ها


Monit در شرایط زیر هشدار می دهد:

o سرویسی وجود ندارد (مثلاً فرآیند در حال اجرا نیست)
o نمی تواند داده های سرویس را بخواند (مثلاً نمی توان استفاده از سیستم فایل را دریافت کرد)
o اجرای اسکریپت مربوط به سرویس ناموفق بود (مثلاً شروع نشد)
o نوع سرویس نامعتبر (به عنوان مثال اگر مسیر به جای فایل به دایرکتوری اشاره می کند)
o اسکریپت تست سفارشی خطا را برگرداند
o تست پینگ ناموفق بود
o اتصال TCP/UDP و/یا تست پورت ناموفق بود
o تست استفاده از منابع ناموفق بود (مثلاً مصرف cpu خیلی زیاد است)
o عدم تطابق یا تغییر جمع چک (مثلاً فایل تغییر کرده است)
o تست اندازه فایل ناموفق بود (مثلاً فایل خیلی بزرگ است)
o تست مهر زمانی ناموفق است (مثلاً فایل قدیمی تر از حد انتظار است)
o تست مجوز انجام نشد (مثلاً حالت فایل مطابقت ندارد)
o تست UID ناموفق بود (مثلاً فایل متعلق به کاربر مختلف)
o تست GID ناموفق بود (مثلاً فایل متعلق به گروه های مختلف)
o PID یک فرآیند خارج از کنترل Monit تغییر کرد
o PPID یک فرآیند خارج از کنترل Monit تغییر کرده است
o بسیاری از تلاش‌های بازیابی سرویس ناموفق بود
o آزمایش محتوای فایل مطابقت پیدا کرد
o پرچم های سیستم فایل تغییر کرد
o عملیات سرویس توسط مدیر انجام شد
o پیوند شبکه ناموفق بود
o ظرفیت پیوند شبکه تغییر کرد
o اشباع پیوند شبکه ناموفق بود
o نرخ آپلود/دانلود پیوند شبکه ناموفق بود
o Monit شروع، متوقف یا بارگذاری مجدد شد

برای دریافت هشدار از طریق ایمیل، هدف هشدار را با استفاده از عبارت "set alert" جهانی تنظیم کنید
(برای همه خدمات) یا بیانیه "هشدار" در زمینه یک ورودی سرویس (برای a
خدمات واحد).

محیط an هوشیار گیرنده
اگر رویدادی رخ دهد، Monit یک هشدار ارسال می کند. دو نوع بیانیه هشدار وجود دارد:
جهانی و محلی

نحو جهانی:

تنظیم آدرس پستی هشدار [[NOT] {رویداد، ...}] [چرخه‌های یادآوری]

مثال:

تنظیم هشدار foo@bar

هر زمان که رویدادی در هر سرویسی رخ دهد، یک ایمیل پیش فرض به آدرس foo@bar ارسال می کند.

اگر می‌خواهید پیام‌های هشدار را به آدرس‌های ایمیل بیشتری ارسال کنید، یک «ایمیل تنظیم هشدار» اضافه کنید.
بیانیه برای هر آدرس

همچنین می توان از بیانیه هشدار محلی در چارچوب بررسی سرویس استفاده کرد
فعال کردن هشدار فقط برای سرویس داده شده:

آدرس پستی هشدار [[NOT] {رویداد، ...}] [چرخه‌های یادآوری]

مثال هشدار محلی:

میزبان myhost را با آدرس 1.2.3.4 بررسی کنید
اگر پورت 3306 پروتکل mysql ناموفق بود، هشدار دهید
اگر پروتکل http پورت 80 ناموفق بود، هشدار دهید
هشدار foo@baz # هشدار خدمات محلی

می توانید بیانیه های هشدار جهانی و محلی را ترکیب کنید. اگر درگیری وجود داشته باشد، هشدار محلی
دارای اولویت است و بیانیه جهانی را نادیده می گیرد.

محیط an واقعه فیلتر

اگر فقط می‌خواهید یک پیام هشدار برای رویدادهای خاص ارسال شود، آنها را در یک "{رویداد، ...}" فهرست کنید.
بلوک، به عنوان مثال:

تنظیم هشدار foo@bar فقط در { مهلت زمانی، وجود ندارد }

لیست رویدادها را نیز می توان برای ارسال هشدار برای همه رویدادها رد کرد جز آنهایی که هستند
فهرست شده، با اضافه کردن لیست با کلمه "نه". به عنوان مثال، برای دریافت همه هشدارها
به جز اعلان در مورد شروع و توقف برنامه Monit:

هشدار foo@bar را تنظیم کنید اما روی {مثال } تنظیم نکنید

در اینجا لیستی از انواع رویدادهای ممکن منتشر شده توسط Monit آمده است. مقادیر از ستون اول
را می توان در لیست فیلتر رویداد ذکر شده در بالا استفاده کرد:

رویداد: | وضعیت خرابی: | وضعیت موفقیت:
-------------------------------------------------- -------------------
اقدام | "اقدام انجام شد" | "اقدام انجام شد"
چک سام | "Checksum شکست خورد" | "Checksum موفق شد"
بایت | "بایت های دانلود بیش از حد" | "دانلود بایت ها خوب است"
بایت اوت | "بایت های بارگذاری بیش از حد" | "بایت های آپلود خوب است"
اتصال | "اتصال ناموفق" | "اتصال موفق شد"
مطالب | "محتوا شکست خورد"، | "محتوا موفق شد"
داده | "خطای دسترسی به داده ها" | "دسترسی به داده ها با موفقیت انجام شد"
exec | "اعدام ناموفق" | "اعدام با موفقیت انجام شد"
fsflags | "پرچم های سیستم فایل شکست خورد" | "پرچم های سیستم فایل با موفقیت انجام شد"
gid | "GID ناموفق" | "GID موفق شد"
icmp | "پینگ شکست خورد" | "پینگ موفق شد"
نمونه | "نمونه مانی تغییر کرد" | "نمونه مانی تغییر نکرد"
نامعتبر | "نوع نامعتبر" | "تایپ موفق شد"
لینک | "پیوند پایین" | "پیوند کردن"
وجود ندارد | "وجود ندارد" | "وجود دارد"
بسته بندی | "دانلود بسته ها بیش از حد" | "دانلود بسته ها خوب است"
بسته بندی | "بارگذاری بسته‌ها بیش از حد مجاز است" | "آپلود بسته ها خوب است"
مجوز | "اجازه ناموفق" | "اجازه موفق شد"
pid | "PID ناموفق" | "PID موفق شد"
ppid | "PPID ناموفق" | "PPID موفق شد"
منبع | "محدودیت منابع مطابقت دارد" | "محدودیت منابع با موفقیت انجام شد"
اشباع | "اشباع بیش از حد" | "اشباع خوب است"
اندازه | "اندازه ناموفق" | "اندازه موفق شد"
سرعت | "سرعت ناموفق" | "سرعت خوب است"
وضعیت | "وضعیت ناموفق" | "وضعیت موفق شد"
تایم اوت | "تایم اوت" | "بازیابی تایم اوت"
مهر زمانی | "مهر زمانی ناموفق" | "مهر زمانی موفق شد"
uid | "UID ناموفق" | "UID موفق شد"
آپتایم | "Uptime شکست خورد" | "آپ تایم موفق شد"

هر گیرنده هشدار می تواند فیلتر مخصوص به خود را داشته باشد، به عنوان مثال:

تنظیم هشدار foo@bar { وجود ندارد، مهلت زمانی، منبع، icmp، اتصال }
تنظیم alert security@bar در { checksum, permission, uid, gid }
تنظیم هشدار admin@bar

محیط an خطا یادآور

Monit به طور پیش فرض فقط ارسال می کند یک اعلان در صورت عدم موفقیت یک سرویس و دیگری هنگام/اگر آن
بهبود می یابد. اگر می خواهید به شما اطلاع داده شود که سرویس هنوز در وضعیت ناموفق است، می توانید
از گزینه یادآوری در بیانیه هشدار استفاده کنید:

تنظیم نشانی پست هشدار [با] یادآوری [روشن] شماره [CYCLES]

به عنوان مثال اگر می خواهید در هر دوره دهم در صورت عدم موفقیت یک سرویس به شما اطلاع داده شود
حالت، می توانید استفاده کنید:

هشدار foo@bar با یادآوری در 10 چرخه

به همین ترتیب، اگر می خواهید در هر چرخه ناموفق مطلع شوید، می توانید از موارد زیر استفاده کنید:

هشدار foo@bar با یادآوری در 1 چرخه

غیرفعال کردن تصویر، موسیقی برای برخی از سرویس
برای سرکوب هشدارها برای برخی از کاربران و خدمات، عبارت "noalert" را در متن اضافه کنید
بررسی خدمات

آدرس پستی NOALERT

مثال (ارسال تمام هشدارها به foo@bar به جز سرویس p3):

تنظیم هشدار foo@bar

فرآیند p1 را با pidfile /var/run/p1.pid بررسی کنید

فرآیند p2 را با pidfile /var/run/p2.pid بررسی کنید

فرآیند p3 را با pidfile /var/run/p3.pid بررسی کنید
noalert foo@bar

پیام قالب
قالب پیام هشدار را می توان با استفاده از عبارت "set mail-format" تغییر داد:

تنظیم فرمت نامه {mail-format}

مثال:

تنظیم فرمت نامه {
از جانب: [ایمیل محافظت شده]
پاسخ دادن به: [ایمیل محافظت شده]
موضوع: $SERVICE $EVENT در $DATE
پیام: $ACTION $SERVICE را در $DATE در $HOST: $DESCRIPTION نظارت کنید.
ارادتمند شما،
نظارت کردن
}

La از جانب: گزینه آدرس ایمیل فرستنده است. یعنی آدرس ایمیل Monit خواهد بود
وانمود کنید که در حال ارسال هشدار از. لزومی ندارد که یک آدرس ایمیل واقعی باشد
آدرس فرمت شده مناسب

La پاسخ دادن به: گزینه را می توان برای تنظیم سرصفحه پاسخ به نامه استفاده کرد.

La موضوع: گزینه موضوع پیام را تنظیم می کند و فقط باید روشن باشد یک خط.

La پیام: گزینه بدنه نامه را تنظیم می کند. این گزینه همیشه باید آخرین مورد در یک نامه باشد-
بیانیه قالب بدنه نامه می تواند تا زمانی که لازم باشد طولانی باشد، اما باید نه حاوی بلوک
بسته شدن کاراکتر '}'

لازم نیست از همه گزینه ها استفاده کنید، فقط گزینه ای را که می خواهید لغو کنید. به عنوان مثال به
فقط آدرس فرستنده را به صورت جهانی تغییر دهید:

تنظیم فرمت نامه {از: [ایمیل محافظت شده] }

موضوع و متن ممکن است حاوی متغیرهای $NAME باشند که توسط Monit گسترش می‌یابند. اینجا یک است
لیستی از متغیرهایی که می توان در هنگام نوشتن یک پیام هشدار استفاده کرد.

· $EVENT

رشته ای که رویدادی را که رخ داده است توصیف می کند.

· $SERVICE

نام سرویس

· $DATE

زمان و تاریخ فعلی (سبک تاریخ RFC 822).

· $HOST

نام میزبان Monit در حال اجرا است

· $ACTION

نام اقدامی که توسط مونیت انجام شد.

· $DESCRIPTION

شرح شرایط خطا

محیط a پست سرور برای هوشیار تحویل
سرور پستی Monit که باید برای ارسال پیام‌های هشدار استفاده کند، با یک «مست‌سرور ایمیل» تعریف شده است.
بیانیه:

سرور پستی را تنظیم کنید

[شماره پورت]
[رشته USERNAME] [رشته گذرواژه]
[با استفاده از SSL [با گزینه‌های {...}]
[مجموع بررسی گواهی [MD5|SHA1] ]،
...
[با TIMEOUT X SECONDS]
[با استفاده از نام میزبان HOSTNAME]

با استفاده از یک لیست جدا شده با کاما می توان چندین سرور ایمیل را تنظیم کرد. اگر Monit نمی تواند متصل شود
به سرور اول، سرور بعدی را در لیست امتحان می کند و غیره.

دستور پورت به شخص اجازه می دهد تا پورت پیش فرض SMTP را نادیده بگیرد (465 برای SSL، یا 25 برای
TLS و اتصال غیر ایمن).

Monit از AUTH PLAIN و AUTH LOGIN برای احراز هویت SMTP پشتیبانی می کند. می توانید یک نام کاربری تعیین کنید
و یک رمز عبور با استفاده از گزینه های USERNAME و PASSWORD.

می‌توانید گزینه‌های SSL/TLS را برای اتصال تنظیم کنید و جمع‌بندی گواهینامه SSL را نیز بررسی کنید.

مدت زمان پیش فرض اتصال 5 ثانیه است. با استفاده از TIMEOUT می توانید این محدودیت را افزایش دهید
گزینه.

مثال (تنظیم دو سرور ایمیل برای failover):

mailserver smtp.gmail.com، smtp.other.host را تنظیم کنید

به طور پیش فرض، Monit از نام میزبان محلی در SMTP HELO/EHLO و در هدر Message-ID استفاده می کند.
می توانید با استفاده از گزینه HOSTNAME این مورد را لغو کنید.

واقعه صف
اگر هیچ سرور ایمیل در دسترس نیست، Monit می توان صف رویدادها در سیستم فایل محلی برای تلاش مجدد
تا زمانی که سرور ایمیل بازیابی شود.

اگر Monit با M/Monit استفاده شود، صف رویداد یک فروشگاه امن رویداد برای M/Monit در فراهم می کند
در مورد مشکلات موقت

صف رویداد در سراسر Monit مجدداً راه‌اندازی می‌شود و به شرطی که بک‌اند باشد
سیستم فایل پایدار است، همچنین در سراسر سیستم راه اندازی مجدد می شود.

به طور پیش فرض، صف غیرفعال است و اگر کنترل کننده هشدار از کار بیفتد، Monit به سادگی حذف می شود
پیام هشدار

برای فعال کردن صف رویداد، عبارت زیر را اضافه کنید:

تنظیم EVENTQUEUE BASEDIR [اسلات ها ]

در مسیری به دایرکتوری است که رویدادها در آن ذخیره خواهند شد.

در صورت تمایل، اگر می خواهید اندازه صف را محدود کنید، از گزینه اسلات استفاده کنید تا فقط تا ذخیره شود
عدد پیام های رویداد

مثال:

تنظیم رویداد صف مبتنی بر /var/monit اسلات 5000

اگر بیش از یک نمونه Monit را روی یک دستگاه اجرا می کنید، شما باید استفاده کنید
دایرکتوری های صف رویداد جدا شده

SERVICE مواد و روش ها


هر سرویس می تواند مرتبط باشد شروع, متوقف کردن و شروع دوباره روش هایی که Monit می تواند از آنها استفاده کند
اقدامی را روی سرویس اجرا کنید.

نحو:

[PROGRAM] = "برنامه"
[[AS] UID ]
[[ع] GID ]
[[با] مهلت زمانی SECOND(S)]

اگر "برنامه" یک اسکریپت پوسته است، باید با "#!" و باقیمانده اولی
خط باید یک مفسر برای برنامه مشخص کند. به عنوان مثال "#!/ بن / شل"

"برنامه" نیز باید قابل اجرا باشد (به عنوان مثال حالت 0755).

این امکان وجود دارد که اسکریپت ها را مستقیماً در آن بنویسید برنامه این طرف:

توقف ="/ bin / bash -c "kill -s SIGTERM "cat /var/run/process.pid""

به طور پیش فرض برنامه به عنوان کاربری که Monit تحت آن اجرا می شود اجرا می شود. اگر مونیت است
در حال اجرا به عنوان ریشه، شما می توانید به صورت اختیاری مشخص کنید UID و پیشنهاد برنامه اجرا شده باید
تغییر به.

مثال:

بررسی روند mmonit با pidfile /usr/local/mmonit/mmonit/logs/mmonit.pid
start program = "/usr/local/mmonit/bin/mmonit" به عنوان uid "mmonit" و gid "mmonit"
stop program = "/usr/local/mmonit/bin/mmonit stop" به عنوان uid "mmonit" و gid "mmonit"

در صورت بررسی فرآیند، Monit تا 30 ثانیه برای اقدام شروع/توقف منتظر می ماند
برای پایان دادن به قبل از تسلیم شدن و گزارش یک خطا. می توانید با استفاده از
TIMEOUT گزینه.

مثال:

نوار فرآیند را با pidfile /var/run/foobar.pid بررسی کنید
start program = "/etc/init.d/foobar start" با تایم اوت 60 ثانیه
stop program = "/etc/init.d/foobar stop"

SERVICE نظر سنجی TIME


سرویس ها در فواصل زمانی منظم توسط عبارت "set daemon n" بررسی می شوند. چک ها هستند
به همان ترتیبی که در فایل ".monitrc" نوشته شده اند انجام می شود، مگر اینکه
وابستگی ها بین سرویس ها تنظیم می شوند، جایی که خدمات پیش نیاز ابتدا آزمایش می شوند.

با استفاده از عبارت "Every" می توان برنامه بررسی خدمات را تغییر داد.

سه نوع وجود دارد:

1. فاصله سفارشی بر اساس یک چرخه نظرسنجی چندگانه
هر [تعداد] چرخه

2. چک بر اساس یک رشته به سبک cron است
هر [cron]

3. بر اساس یک رشته به سبک cron، برنامه را بررسی نکنید
نه هر [cron]

یک رشته به سبک cron، شامل 5 فیلد است که با فاصله سفید از هم جدا شده اند. همه فیلدها هستند
ضروری:

نام: | مقادیر مجاز: | شخصیت های خاص:
-------------------------------------------------- -------------
دقیقه | 0-59 | * -،
ساعت | 0-23 | * -،
روز ماه | 1-31 | * -،
ماه | 1-12 (1=ژان، 12=دسامبر) | * -،
روز هفته | 0-6 (0=یکشنبه، 6=شنبه) | * -،

شخصیت های خاص:

شخصیت: | شرح:
-------------------------------------------------- -------------
* (ستاره) | ستاره نشان می دهد که عبارت will
| مطابقت برای تمام مقادیر فیلد؛ به عنوان مثال، استفاده از
| یک ستاره در قسمت چهارم (ماه) خواهد بود
| هر ماه نشان دهد.
- ( خط تیره ) | خط فاصله برای تعریف محدوده استفاده می شود. مثلا،
| 8-9 در قسمت ساعت بین ساعت 8 صبح تا
| ساعت 9 صبح توجه داشته باشید که محدوده از زمان شروع تا و است
| از جمله زمان پایان یعنی از ساعت 8 صبح به بعد
| ساعت 10 صبح مگر اینکه دقیقه تنظیم شده باشد. مثالی دیگر،
| 1-5 در قسمت روزهای هفته، از دوشنبه تا را مشخص کنید
| جمعه (از جمله روز جمعه).
, (کاما) | کاما برای تعیین یک دنباله استفاده می شود. مثلا
| 17,18،17 در فیلد روز، 18 و XNUMX را نشان می دهد
| روز ماه یک دنباله نیز می تواند شامل شود
| محدوده ها به عنوان مثال، استفاده از 1-5,0،XNUMX در روز هفته
| فیلد دوشنبه تا جمعه و یکشنبه را نشان می دهد.

مثال 1: هر دو سیکل یک بار چک کنید

فرآیند nginx را با pidfile /var/run/nginx.pid بررسی کنید
هر 2 سیکل

مثال 2: هر روز کاری از ساعت 8 صبح تا 7 بعد از ظهر بررسی کنید

بررسی برنامه checkOracleDatabase
با مسیر /var/monit/programs/checkoracle.pl
هر "* 8-19 * * 1-5"

مثال 3: بررسی را در پنجره پشتیبان در روز یکشنبه از ساعت 0 صبح تا 3 بامداد اجرا نکنید

فرآیند mysqld را با pidfile /var/run/mysqld.pid بررسی کنید
نه هر "* 0-3 * * 0"

محدودیت ها:

زمان‌بندی فعلی مبتنی بر چرخه نظرسنجی است. هنگامی که یک بررسی خدمات با محدودیت است
هر cron را بیانیه، Monit بررسی خواهد کرد که آیا زمان فعلی با رشته cron مطابقت دارد یا خیر
الگو. اگر انجام شود، بررسی انجام می شود، در غیر این صورت از آن صرفنظر می شود. کرون
بنابراین مشخصات، زمان دقیق اجرای آزمایش را تضمین نمی کند، این بستگی به این دارد
زمان نظرسنجی پیش فرض و طول چرخه بررسی. به عبارت دیگر، ما نمی توانیم تضمین کنیم
که Monit در یک زمان خاص اجرا می شود. بنابراین ما به شدت توصیه می شود از آستریکس استفاده کنید
در میدان دقیقه یا حداقل یک محدوده، به عنوان مثال. 0-15. هرگز از یک دقیقه خاص به عنوان استفاده کنید
Monit ممکن است در آن دقیقه اجرا نشود.

ما این محدودیت را در نسخه بعدی برطرف خواهیم کرد و زمانبندی را از سریال تبدیل خواهیم کرد
نظرسنجی در یک زمان‌بندی موازی غیر مسدود کننده که در آن چک‌ها به موقع اجرا می‌شوند
و با وضوح چند ثانیه

SERVICE گروه ها


ورودی های سرویس در فایل کنترل، monitrcرا می توان با هم گروه بندی کرد گروه
بیانیه. نحو به سادگی (کلمه کلیدی به زبان بزرگ) است:

نام گروه GROUP

با این عبارت می توان ورودی های خدمات مشابه را با هم گروه بندی و مدیریت کرد
آنها را به عنوان یک کل. Monit عملکردهایی را برای شروع، توقف، راه اندازی مجدد، نظارت و حذف مانیتور فراهم می کند
گروه خدمات، مانند:

برای شروع یک گروه از خدمات از کنسول:

monit -g شروع کنید

برای توقف گروهی از خدمات:

monit -g متوقف کردن

برای راه اندازی مجدد گروهی از خدمات:

monit -g راه اندازی مجدد

یک سرویس را می توان با استفاده از بیش از یک دستور گروه به چندین گروه اضافه کرد:

گروه www
فایل سیستم گروهی

SERVICE نظارت بر MODE


Monit از سه حالت نظارت در هر سرویس پشتیبانی می کند: فعال, غیر فعال و کتابچه راهنمای.

نحو:

حالت

In فعال حالت (به طور پیش فرض)، Monit به طور فعال یک سرویس را نظارت می کند و در صورت وجود
مشکلات هشدارها را افزایش می‌دهند و/یا سرویس را مجدداً راه‌اندازی می‌کنند.

In غیر فعال در حالت، Monit به طور غیر فعال یک سرویس را نظارت می کند و هشدارها را افزایش می دهد، اما این کار را انجام می دهد
نه سعی کنید یک مشکل را با اجرا برطرف کنید شروع, متوقف کردن or شروع دوباره.

In کتابچه راهنمای حالت، Monit وارد می شود فعال حالت فقط اگر سرویسی از طریق Monit شروع شده باشد:

شروع مانیتورینگ

از "monit stop" استفاده کنید برای متوقف کردن سرویس و خارج کردن آن از کنترل Monit
حالت دستی را می توان برای ساخت یک خوشه ساده با سرویس های HA فعال/غیرفعال استفاده کرد.

وضعیت نظارت یک سرویس در سراسر راه اندازی مجدد Monit پایدار است.

اگر از Monit در یک خوشه HA استفاده می کنید، باید فایل حالت Monit را در یک فایل موقت قرار دهید
سیستم فایل بنابراین اگر دستگاهی که سرویس های HA را اجرا می کند باید از کار بیفتد و دستگاه آماده به کار خراب شود
سرویس‌های آن را در اختیار بگیرید، سرویس‌های HA پس از راه‌اندازی گره خراب راه‌اندازی نمی‌شوند.
از نو:

statefile /tmp/monit.state را تنظیم کنید

SERVICE دوباره راه اندازی کنید محدود


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

مکانیسم محدودیت راه اندازی مجدد بر اساس تعداد راه اندازی مجدد سرویس و تعداد نظرسنجی است.
چرخه ها مثلاً اگر سرویسی داشت x در داخل دوباره راه اندازی می شود y چرخه های نظرسنجی (که در آن x <= y) سپس
Monit یک عمل را انجام می دهد (به عنوان مثال سرویس را لغو نظارت کنید). اگر تایم اوت رخ دهد،
اگر علاقه مند به ثبت نام برای این رویداد باشید، مونیت پیام هشدار ارسال می کند.

نحو دستور timeout به شرح زیر است (کلمات کلیدی با حروف بزرگ هستند):

اگر راه اندازی مجدد سپس چرخه (های)

La اقدام مقدار یا یکی از اقدامات رایج است یا TIMEOUT (برای سازگاری با عقب،
برابر با عمل UNMONITOR).

در اینجا مثالی وجود دارد که در آن Monit در صورتی که سرویس 2 بار راه اندازی مجدد شود، نظارت را از بین می برد
در 3 سیکل:

اگر 2 در 3 چرخه مجدداً راه اندازی شد، آن را از مانیتور بردارید

برای اینکه Monit پس از غیرفعال شدن نظارت، دوباره سرویس را بررسی کند، "monit monitor" را اجرا کنید
servicename" از خط فرمان.

مثالی برای تنظیم exec سفارشی در زمان وقفه:

اگر 5 در 5 چرخه مجدداً راه اندازی شود، "/foo/bar" را اجرا کنید

مثالی برای توقف سرویس:

اگر 7 در 10 چرخه مجدداً راه اندازی شد، متوقف شوید

SERVICE وابستگی ها


اگر در فایل کنترل مشخص شده باشد، Monit می تواند قبل از شروع، توقف، وابستگی را بررسی کند،
نظارت یا عدم نظارت بر خدمات عبارت وابستگی ممکن است در هر مورد استفاده شود
ورودی های سرویس در فایل کنترل Monit.

نحو دستور depend به سادگی به صورت زیر است:

بستگی به خدمات دارد[، خدمات [،...]]

جایی که سرویس به عنوان مثال، یک نام ورودی سرویس چک است که در فایل ".monitrc" شما استفاده می شود
دزد or datafs.

می توانید بیش از یک نام سرویس از هر نوع اضافه کنید یا از بیش از یک دستور وابسته استفاده کنید
در یک ورودی

خدمات مشخص شده در a بستگی دارد بیانیه در طول بررسی خواهد شد
توقف / شروع / نظارت / عدم نظارت بر عملیات.

اگر سرویسی متوقف شود یا نظارت نشده باشد، هر سرویسی را که به آن بستگی دارد متوقف یا لغو می کند
خود.

اگر سرویس راه اندازی شود، تمام سرویس هایی که این سرویس به آنها وابسته است شروع می شود
قبل از شروع این سرویس اگر شروع برخی از خدمات با شکست مواجه شد، سرویس با
پیش نیازها شروع نمی شود و اما به یاد داشته باشید که باید شروع شود و خواهد شد
چرخه بعدی را دوباره امتحان کنید

اگر سرویسی دوباره راه اندازی شود، ابتدا هر سرویس فعالی را که به آن وابسته است متوقف می کند
پس از شروع، همه سرویس های وابسته را که قبل از راه اندازی مجدد فعال بودند، شروع کنید
دوباره.

در اینجا مثالی وجود دارد که در آن یک ورودی سرویس apache را تنظیم می کنیم تا به زیربنای آن بستگی داشته باشد
آپاچی باینری اگر باینری باید تغییر کند یک هشدار ارسال می شود و آپاچی نظارت نمی شود
دیگر دلیل منطقی امنیت است و مونیت نباید احتمالاً کرک شده را اجرا کند
آپاچی باینری

(1) آپاچی پردازش را با pidfile "/var/run/httpd.pid" بررسی کنید
(2) به httpd بستگی دارد
(3) ...
(4)
(5) فایل httpd را با مسیر /usr/bin/httpd بررسی کنید
(6) اگر جمع چک ناموفق بود، متوقف شوید

اولین ورودی، ورودی فرآیند برای آپاچی است. خط دوم یک وابستگی را تنظیم می کند
بین این ورودی و ورودی سرویس به نام httpd در خط 5. درخت وابستگی به صورت کار می کند
به این ترتیب، اگر عملی در شاخه پایینی انجام شود، در درخت به سمت بالا انتشار می یابد
و برای هر ورودی وابسته همان عمل را اجرا کنید. در این صورت اگر چکسام
باید در خط 6 شکست بخورد، سپس یک عمل توقف اجرا می شود و باینری آپاچی بررسی نمی شود
دیگر اما از آنجایی که ورودی فرآیند آپاچی به ورودی httpd بستگی دارد، این ورودی خواهد بود
عمل توقف را نیز اجرا کنید. به طور خلاصه، اگر چک‌سوم برای فایل باینری httpd آزمایش شود
باید شکست بخورد، هم فایل چک httpd و هم ورود آپاچی فرآیند بررسی متوقف می شوند.

درخت وابستگی یک ساختار کلی است و می تواند بین انواع خدمات استفاده شود
ورودی‌ها و سطوح زیادی را در بر می‌گیرد و هر عمل پشتیبانی شده را منتشر می‌کند (به جز عمل exec
که به دلایل واضح در درخت وابستگی به سمت بالا تکثیر نمی شود).

در اینجا یک مثال متفاوت دیگر وجود دارد. راه اندازی سرور رایج زیر را در نظر بگیرید:

وب سرور -> برنامه-سرور -> پایگاه داده -> سیستم فایل
(آ ب پ ت)

می توانید وابستگی ها را طوری تنظیم کنید که وب سرور برای اجرا به سرور برنامه وابسته باشد
قبل از اینکه وب سرور راه اندازی شود و سرور برنامه به سرور پایگاه داده بستگی دارد و
پایگاه داده به فایل سیستمی که باید قبل از شروع به کار نصب شود بستگی دارد. را نیز ببینید
بخش مثال زیر برای مثال هایی با استفاده از دستور depend.

در اینجا نحوه عملکرد Monit با وابستگی های بالا را شرح می دهیم:

اگر هیچ سرویسی در حال اجرا نیست
Monit سرورها را به ترتیب زیر راه اندازی می کند: d, c, b, a

اگر همه سرورها در حال اجرا هستند
هنگامی که "monit stop all" را اجرا می کنید، ترتیب توقف این است: a, b, c, d. اگر «مونیت» را اجرا کنید
سپس متوقف شود a, b و c نیز متوقف می شوند زیرا به آنها وابسته هستند d و در نهایت d is
متوقف شد

If a اجرا نمی شود
مونیت شروع خواهد شد a

If b اجرا نمی شود
مونیت ابتدا متوقف خواهد شد a سپس شروع کنید b و در نهایت شروع کنید a if b دوباره بالاست

If c اجرا نمی شود
مونیت ابتدا متوقف خواهد شد a و b سپس شروع کنید c و در نهایت شروع کنید b سپس a.

If d اجرا نمی شود
مونیت ابتدا متوقف خواهد شد a, b و c سپس شروع کنید d و در نهایت شروع کنید c, b سپس a.

اگر فایل کنترل حاوی یک حلقه وابسته باشد.
برای مثال یک حلقه وابسته است. a->b و b->a یا a->b->c->a.

هنگامی که Monit شروع به کار می کند، چنین حلقه هایی را بررسی می کند و شکایت می کند و در صورت وجود حلقه خارج می شود
یافت. همچنین اگر از عبارت depend استفاده شده باشد که این کار را نمی کند، با یک شکایت خارج می شود
به یک سرویس در فایل کنترل اشاره کنید.

SERVICE تست


حدود

می‌توانید برای تغییر اندازه‌های بافر و بازه‌های زمانی استفاده شده توسط Monit، محدودیت‌های مختلفی را پیکربندی و تنظیم کنید.
در اکثر مواقع مقادیر پیش فرض خوب هستند. در صورت نیاز، در زیر محدودیت‌هایی که می‌توانید ارائه کنید، آمده است
در حال حاضر در Monit تغییر دهید.

نحو:

تنظیم حد {
خروجی برنامه: ،
SENDEXPECTBUFFER: ،
FILECONTENTBUFFER: ،
HTTPCONTENTBUFFER: ،
NETWORKTIMEOUT:
}

جایی که:
واحد "B" (بایت)، "کیلو بایت" (کیلو بایت) یا "MB" (مگابایت) است.
واحد زمانی "MS" (میلی ثانیه) یا "S" (ثانیه) است

افسانه گزینه ها:

-------------------------------------------------- --------------------------------
| گزینه | توضیحات | پیش فرض |
-------------------------------------------------- --------------------------------
| خروجی برنامه | محدودیت برای بررسی خروجی برنامه (بعد کوتاه شده) | 512 B |
| sendExpectBuffer | محدودیت برای تست پروتکل ارسال/انتظار | 256 B |
| fileContentBuffer | محدودیت برای تست محتوای فایل (خط) | 512 B |
| httpContentBuffer | محدودیت برای تست محتوای HTTP (بدنه پاسخ) | 1 مگابایت |
| networkTimeout | وقفه برای ورودی/خروجی شبکه | 5 ثانیه |
-------------------------------------------------- --------------------------------

عمومی نحو

Monit چندین تست if را ارائه می دهد که می توانید از آنها در عبارت "check" برای آزمایش جنبه های مختلف استفاده کنید
یک سرویس

شما می توانید هر دو را برای یک مقدار از پیش تعریف شده یا برای یک محدوده آزمایش کنید و در صورت مقدار، اقداماتی را انجام دهید
تغییرات.

نحو کلی برای آزمایش یک مقدار یا محدوده خاص:

اگر سپس [البته اگر موفق شد، پس ]

عمل هر بار ارزیابی می شود شرط درست است اقدام موفقیت آمیز اختیاری است
و تنها زمانی اجرا می شود که وضعیت از شکست به موفقیت تغییر کند. اگر اقدام موفقیت آمیز نباشد
تنظیم کنید، Monit به طور پیش فرض یک هشدار بازیابی ارسال می کند.

نحو کلی برای تست تغییر مقدار:

در صورت تغییر سپس

این عمل با هر بار تغییر مقدار اجرا می شود. Monit مقدار جدید را به خاطر می آورد و
اگر مقدار دوباره تغییر کند، رویداد را راه‌اندازی می‌کند.

اقدامات

در هر تست باید اقدامی را که باید اجرا شود از این لیست انتخاب کنید:

· هشدار دهنده یک رویداد هشدار در مورد هر تغییر وضعیت به کاربر ارسال می کند.

· دوباره راه اندازی کنید سرویس را دوباره راه اندازی می کند و یک هشدار ارسال کنید راه اندازی مجدد با تماس انجام می شود
روش راه اندازی مجدد ثبت شده سرویس یا ابتدا با فراخوانی روش توقف و سپس
روش شروع اگر راه اندازی مجدد تنظیم نشده باشد.

· استارت با فراخوانی روش شروع ثبت شده سرویس، سرویس را شروع می کند و ارسال یک
هشدار

· STOP با فراخوانی روش توقف ثبت شده سرویس، سرویس را متوقف می کند و ارسال یک
هشدار اگر Monit سرویسی را متوقف کند، دیگر توسط Monit بررسی و راه اندازی مجدد نمی شود
دوباره بعدا برای فعال کردن مجدد نظارت بر سرویس، باید به صراحت فعال کنید
نظارت از رابط وب یا از کنسول.

· اجرا کنید می توان از آن برای اجرای یک برنامه دلخواه استفاده کرد و یک هشدار ارسال کنید اگر این را انتخاب کنید
اقدام باید برنامه اجرا شده را بیان کنید و اگر برنامه نیاز به آرگومان دارد
شما باید برنامه و آرگومان های آن را در یک رشته نقل قول قرار دهید. شما می توانید به صورت اختیاری
uid را مشخص کنید و برنامه اجرا شده را به هنگام شروع به آن تغییر دهید. برنامه
به طور پیش فرض فقط یک بار، در تغییر حالت اجرا می شود. می توانید برنامه را فعال کنید
تکرار زمانی که خطا برای تعداد چرخه معین باقی می ماند. برای مثال:

اگر شکست خورد سپس "/usr/local/bin/sms.sh" را اجرا کنید
به عنوان uid هیچ کس و gid هیچ کس
هر 5 سیکل تکرار کنید

به یاد داشته باشید، اگر Monit توسط root اجرا شود، تمام برنامه های اجرا شده توسط Monit شروع می شوند
با امتیازات superuser مگر اینکه از پسوند uid و gid استفاده شود.

· UNMONITOR نظارت بر سرویس را غیرفعال می کند و یک هشدار ارسال کنید خدمات خواهد شد
دیگر توسط Monit بررسی نشود و بعداً دوباره راه اندازی نشود. برای فعال کردن مجدد نظارت
از سرویس شما باید به صراحت نظارت را از رابط وب یا از آن فعال کنید
کنسول

عیب تحمل

به‌طور پیش‌فرض، اگر یک عمل مطابقت داشته باشد و سرویس مربوطه در یک تنظیم شود، اجرا می‌شود
حالت خطا با این حال، می‌توانید قبل از رخداد خطا، بیش از یک بار نیاز به انجام تست داشته باشید
فعال می شود و وضعیت سرویس به ناموفق تغییر می کند. این برای جلوگیری از ابتلا مفید است
هشدار در مورد خطاهای جعلی، که ممکن است رخ دهد، به خصوص با آزمایش های شبکه.

نحو:

برای چرخه ها ...

و یا:

[بار در داخل] چرخه ها ...

این شرط می تواند هم برای شکست و هم برای اقدام موفقیت آمیز استفاده شود.

قالب اول، ساده‌تر و توصیه‌شده به رویدادهای متوالی «X» قبل از تغییر نیاز دارد
دولت:

اگر شکست خورد
پورت 80
برای 3 چرخه
سپس هشدار دهید

فرمت دوم پیشرفته تر است و به فرد اجازه می دهد تا مسائل متناوب را تحمل کند، اما
هنوز هم مشکلات بیش از حد، جایی که سرویس بین خطا و موفقیت در حال حرکت است
مکرر بیان می کند.

به عنوان مثال، اگر هر چرخه دوم شکست بخورد (1-0-1-0-1-0-...)، سپس شرط "برای 2 چرخه"
با وجود مشکل داشتن سرویس، هرگز مطابقت نخواهد داشت. عبارت زیر می گیرد
چنین حالتی:

اگر شکست خورد
پورت 80
برای 3 بار در 5 سیکل
سپس هشدار دهید

مثالی که چندین سطح خطا و اقدامات را تنظیم می کند:

فایل سیستم rootf را با مسیر /dev/hda1 بررسی کنید
اگر استفاده از فضا > 80% برای 5 بار در 15 چرخه، هشدار دهید
اگر استفاده از فضا > 90٪ برای 5 چرخه، "/try/to/free/the/space" را اجرا کنید

توجه: حداکثر مقدار برای چرخه ها 64 است.

وجود داشتن TESTING
این تست به صورت ضمنی و همیشه برای بررسی های نوع سرویس فعال است، روند, پرونده,
فهرست راهنما و پانزده. اگر تعریف نشده باشد، به صورت پیش‌فرض یک اقدام راه‌اندازی مجدد انجام می‌شود.

می توانید با دستور زیر عمل پیش فرض را لغو کنید:

اگر [این] وجود ندارد پس

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

مثال:

فایل را با مسیر /cifs/mydata چک کنید
اگر وجود ندارد، "/usr/bin/mount_cifs.sh" را اجرا کنید

منابع TESTING
Monit می تواند بررسی کند که یک سرویس چقدر از منابع سیستمی استفاده می کند. این تست فقط می تواند باشد
در یک ورودی سرویس سیستم یا فرآیند در فایل کنترل Monit استفاده می شود.

بسته به ویژگی های سیستم یا فرآیند، سرویس ها می توانند متوقف یا راه اندازی مجدد شوند و
هشدارها را می توان تولید کرد. بنابراین می‌توان از سیستم‌هایی استفاده کرد که غیرفعال هستند
سیستم یدکی تحت بار زیاد

نحو کامل برای یک بیانیه منبع مورد استفاده برای آزمایش منبع به شرح زیر است (کلمات کلیدی
عبارت‌های بزرگ و اختیاری در [پرانتز] هستند.

اگر سپس

منابع انتخابی از "CPU"، "TOTAL CPU"، "CPU([user|system|wait])، "MEMORY"، "SWAP" است.
"Threads"، "CHILDREN"، "TOTAL MEMORY"، "LOADAVG([1min|5min|15min])". برخی از تست های منابع
را می توان در یک ورودی سیستم چک، برخی در ورودی فرآیند چک و برخی در هر دو مورد استفاده قرار داد:

تست های منابع فقط سیستم:

CPU ([user|system|wait]) درصد زمانی است که سیستم در فضای کاربر یا هسته می گذراند.
و I/O تغییر دهنده کاربر/سیستم/انتظار اختیاری است، در صورت عدم استفاده، کل cpu سیستم
استفاده تست شده است

SWAP استفاده مبادله ای از سیستم در درصد (از کل سیستم ها) یا به عنوان یک است
مقدار (بایت، کیلوبایت، مگابایت، گیگابایت).

تست های منابع فقط فرآیند:

CPU استفاده از CPU از خود فرآیند (درصد) است.

TOTAL CPU کل استفاده از CPU فرآیند و فرزندان آن بر حسب (درصد) است. شما خواهد شد
می خواهید از TOTAL CPU به طور معمول برای سرویس هایی مانند وب سرور آپاچی استفاده کنید که یک استاد است
فرآیند چنگال فرآیندهای کودک به عنوان کارگر.

THREADS تعداد رشته های فرآیندها است.

CHILDREN تعداد فرآیندهای فرزند فرآیند است.

TOTAL MEMORY میزان استفاده از حافظه فرآیند و پردازش های فرزند آن در هر درصد است
یا به صورت مقدار (بایت، کیلوبایت، مگابایت، گیگابایت).

تست منابع سیستم و فرآیند:

MEMORY استفاده از حافظه سیستم یا یک فرآیند (بدون فرزندان) در هر دو است
درصد (از کل سیستم ها) یا به صورت مقدار (بایت، کیلوبایت، مگابایت، گیگابایت).

LOADAVG([1min|5min|15min]) به میانگین بار سیستم اشاره دارد. میانگین بار برابر است
تعداد فرآیندهای موجود در صف اجرا شده سیستم، به طور میانگین در دوره زمانی مشخص.

اپراتور انتخابی از "<"، ">"، "!="، "==" در نماد C، "gt"، "lt"، "eq"، "ne" در
علامت پوسته sh و "بزرگتر"، "کمتر"، "برابر"، "notequal" به شکل قابل خواندن توسط انسان (اگر
مشخص نشده است، پیش فرض برابر است).

ارزش یا یک عدد صحیح یا یک عدد واقعی است. برای CPU، TOTAL CPU، MEMORY و TOTAL MEMORY
باید الف را مشخص کنید واحد. این می تواند "%" یا در صورت وجود "B" (بایت)، "kB" (1024) باشد
بایت)، "MB" (1024 کیلوبایت) یا "GB" (1024 مگا بایت).

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

برای محاسبه چرخه ها، هر زمان که عبارت بالا درست باشد، یک شمارنده بالا می رود
هر زمان که نادرست باشد کاهش می یابد (اما نه زیر 0). تمام شمارنده ها در صورت a تنظیم مجدد می شوند
راه اندازی مجدد.

مثال زیر برای بررسی اینکه آیا استفاده از CPU از یک سرویس فراتر از آن نیست
50 درصد در طول پنج دوره نظرسنجی. در این صورت، Monit سرویس را مجددا راه اندازی می کند:

اگر cpu برای 50 سیکل بیشتر از 5٪ باشد، دوباره راه اندازی کنید

فایل چک TESTING
عبارت checksum فقط ممکن است در یک ورودی سرویس فایل استفاده شود و می توان از آن برای بررسی استفاده کرد
چک جمع MD5 یا SHA1 فایل.

چک جمع خاص را بررسی کنید:

اگر ناموفق بود [MD5|SHA1] CHECKSUM [انتظار جمع چک] سپس اقدام

هر گونه تغییر فایل را بررسی کنید:

در صورت تغییر [MD5|SHA1] CHECKSUM سپس اقدام کنید

انتخاب MD5 یا SHA1 اختیاری است. MD5 دارای یک جمع کنترلی 128 بیتی (32 بایت هگز).
رشته کدگذاری شده) و SHA1 یک جمع کنترلی 160 بیتی (رشته کدگذاری شده هگزا 40 بایتی). اگر این گزینه
حذف شده است، Monit سعی می کند روش را از رشته EXPECT حدس بزند یا از MD5 به عنوان
چک جمع پیش فرض

"expect" اختیاری است و در صورت استفاده، رشته md5 یا sha1 را مشخص می کند که Monit باید انتظار داشته باشد.
هنگام آزمایش چک‌سام فایل. سپس Monit یک چک‌سوم اولیه را برای آن محاسبه نمی‌کند
فایل، اما در عوض از رشته ای که ارسال می کنید استفاده کنید. مثلا:

اگر شکست خورد
checksum expect 8f7f419955cefa0b33a2ba316cba3659
سپس هشدار دهید

برای مثال می توانید از ابزار GNU استفاده کنید md5sum(1) or sha1sum(1) برای ایجاد یک چک سام
رشته ای برای یک فایل و استفاده از این رشته در انتظار-عبارت.

بارگیری مجدد سرور در صورت تغییر فایل پیکربندی آن:

فایل apache_conf را با مسیر /etc/apache/httpd.conf چک کنید
اگر جمع کنترل تغییر کرد، "/usr/bin/apachectl graceful" را اجرا کنید

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

TAMESTAMP TESTING
دستور timestamp فقط ممکن است در یک فایل، fifo یا ورودی سرویس دایرکتوری استفاده شود.

نحو خاص مهر زمانی:

اگر TIMESTAMP [[اپراتور] مقدار [واحد]] سپس اقدام کنید

نحو تغییر مهر زمانی:

اگر مُهر زمان تغییر کرد، سپس اقدام کنید

اپراتور انتخابی از "<"، ">"، "!="، "==" در نماد C، "GT"، "LT"، "EQ"، "NE" در
علامت پوسته sh و "GREATER"، "LESS"، "EQUAL"، "NOTEQUAL" به شکل قابل خواندن توسط انسان (اگر
مشخص نشده است، پیش فرض برابر است).

ارزش علامت زمان است.

واحد "SECOND(S)"، "MINUTE(S)"، "HOUR(S)" یا "DAY(S)" است.

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

به عنوان مثال برای بارگیری مجدد apache اگر مهر زمانی فایل پیکربندی تغییر کرد:

فایل apache_conf را با مسیر /etc/apache/httpd.conf چک کنید
اگر برچسب زمانی تغییر کرد، "/usr/bin/apachectl graceful" را اجرا کنید

به عنوان مثال آزمایش دایرکتوری برای افزودن یا حذف فایل:

مسیر نوار دایرکتوری /foo/bar را بررسی کنید
اگر مُهر زمان < ​​1 ساعت باشد، هشدار دهید

فایل اندازه TESTING
بیانیه اندازه ممکن است فقط در ورودی سرویس فایل چک استفاده شود. در صورتی که در
فایل کنترلی، Monit اندازه یک فایل را محاسبه می کند.

آزمایش اندازه یا محدوده خاص:

IF SIZE [[اپراتور] مقدار [واحد]] سپس اقدام کنید

تغییر اندازه تست:

اگر اندازه تغییر کرد، سپس اقدام کنید

اپراتور انتخابی از "<"، ">"، "!="، "==" در نماد C، "GT"، "LT"، "EQ"، "NE" در
علامت پوسته sh و "GREATER"، "LESS"، "EQUAL"، "NOTEQUAL" به شکل قابل خواندن توسط انسان (اگر
مشخص نشده است، پیش فرض برابر است).

ارزش یک علامت اندازه است.

واحد انتخابی از «B»، «KB»، «MB»، «GB» یا جایگزین‌های طولانی «بایت»، «کیلوبایت» است.
"مگابایت"، "گیگابایت". اگر مشخص نشده باشد، واحد "بایت" به طور پیش فرض در نظر گرفته می شود.

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

به عنوان مثال برای ارسال یک هشدار اگر فایل خیلی بزرگ است:

فایل mydb را با مسیر /data/mydatabase.db بررسی کنید
اگر اندازه > 1 گیگابایت است، هشدار دهید

فایل مطالب و محتوا TESTING
عبارت content می تواند برای آزمایش تدریجی محتوای یک فایل متنی استفاده شود
استفاده از عبارات منظم

نحو:

در صورت محتوا سپس اقدام

اپراتور یا یک "=" برای مطابقت یا "!=" برای عدم تطابق است.

regex یک رشته حاوی عبارت منظم توسعه یافته است. همچنین ببینید regex(7).

مسیر یک مسیر مطلق به یک فایل حاوی عبارت منظم گسترده در هر خط است.
همچنین مشاهده کنید regex(7).

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

هنگام راه‌اندازی، موقعیت خواندن در انتهای فایل تنظیم می‌شود و Monit به اسکن کردن آن ادامه می‌دهد
پایان فایل در هر چرخه

اگر اندازه فایل باید کاهش یابد یا ایند تغییر کند، موقعیت خواندن روی شروع تنظیم می شود
از فایل

فقط خطوطی که با یک کاراکتر خط جدید ختم می شوند بررسی می شوند.

به طور پیش فرض فقط 511 کاراکتر اول یک خط بررسی می شود. می توانید افزایش دهید
با استفاده از عبارت set limits limit.

نادیده گرفتن محتوا

خطوط مطابق با چشم پوشی در ارزیابی های بعدی بازرسی نمی شوند. چشم پوشی مطالب و محتوا است
همیشه اولویت IF مطالب و محتوا.

همه چشم پوشی مطالب و محتوا اظهارات ابتدا به ترتیب ظاهرشان ارزیابی می شوند.
پس از آن، همه IF مطالب و محتوا اظهارات مورد ارزیابی قرار می گیرند.

مثلا:

فایل syslog را با مسیر بررسی کنید / var / log / syslog
نادیده گرفتن محتوا = "^monit"
اگر محتوا = "^mrcoffee" سپس هشدار دهید

FILESYSTEM شلاق ها TESTING
Monit می تواند پرچم های یک فایل سیستم را برای تغییرات آزمایش کند. این آزمون ضمنی است و مونیت خواهد کرد
ارسال هشدار در صورت خرابی به طور پیش فرض.

این تست برای تشخیص تغییرات پرچم های سیستم فایل مانند فایل سیستم مفید است
فقط خواندنی شود (خطا روی دیسک) یا پرچم‌های نصب تغییر کردند (مانند nosuid).

دستور دستور fsflags به صورت زیر است:

اگر FSFLAG ها را تغییر دهید، اقدام کنید

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

مثال:

بررسی فایل سیستم rootf با مسیر /
اگر fsflag ها را تغییر دهید، "/my/script" را اجرا کنید

فضا TESTING
Monit می تواند یک سیستم فایل یا یک دیسک را برای استفاده از فضا آزمایش کند. این تست فقط در
زمینه یک نوع سرویس فایل سیستم

سیستم‌های فایل معمولاً مقداری فضای ذخیره شده برای کاربر اصلی دارند (حدود 1 تا 5%)، بنابراین غیر از
ابرکاربران نمی توانند روی یک فایل سیستم تقریباً کامل بنویسند. اگر محدودیتی برای فایل سیستم تعیین کنید
که توسط کاربران غیر ریشه استفاده می شود، ممکن است بخواهید این بلوک های رزرو شده را در نظر بگیرید
تعیین حد می توانید از خود Monit برای مشاهده درصد بلوک های رزرو شده استفاده کنید
با استفاده از دستور وضعیت CLI یا رابط HTTP برای فایل سیستم داده شده.

نحو:

IF SPACE عملگر مقدار واحد سپس اقدام

و یا:

IF SPACE FREE واحد ارزش اپراتور سپس اقدام کنید

اپراتور انتخابی از "<",">"،"!=","==" در نماد c، "gt"، "lt"، "eq"، "ne" در پوسته است.
علامت sh و "بزرگتر"، "کمتر"، "برابر"، "notequal" به شکل قابل خواندن توسط انسان (اگر نه
مشخص شده، پیش فرض برابر است).

واحد انتخابی از «B»، «KB»، «MB»، «GB»، «%» یا جایگزین‌های طولانی «بایت»، «کیلوبایت» است.
"مگابایت"، "گیگابایت"، "درصد".

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

مثال:

بررسی فایل سیستم rootf با مسیر /
اگر استفاده از فضا بیش از 90٪ باشد، هشدار دهید

INODE TESTING
Monit می تواند استفاده از سیستم فایل inode را آزمایش کند. این آزمون فقط در زمینه الف قابل استفاده است
نوع سرویس فایل سیستم

نحو:

اگر مقدار عملگر INODE(S) [واحد] سپس اقدام کنید

و یا:

اگر مقدار [واحد] عملگر رایگان INODE(S) سپس اقدام کنید

اپراتور انتخابی از "<",">"،"!=","==" در نماد c، "gt"، "lt"، "eq"، "ne" در پوسته است.
علامت sh و "بزرگتر"، "کمتر"، "برابر"، "notequal" به شکل قابل خواندن توسط انسان (اگر نه
مشخص شده، پیش فرض برابر است).

واحد اختیاری است اگر مشخص نشده باشد، مقدار یک تعداد مطلق اینودها است. شما می توانید استفاده کنید
کاراکتر "%" یا جایگزین طولانی تر "درصد" به عنوان یک واحد.

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

مثال:

بررسی فایل سیستم rootf با مسیر /
اگر استفاده از اینود > 90٪ باشد، هشدار دهید

اجازه TESTING
Monit می تواند مجوزهای اشیاء فایل را آزمایش کند. این آزمون فقط می تواند در زمینه مورد استفاده قرار گیرد
از یک فایل، fifo، دایرکتوری یا انواع سرویس فایل سیستم.

نحو برای آزمایش مجوزهای خاص:

اگر PERM(ISSION) octalnumber شکست خورد، سپس اقدام کنید

نحو برای آزمایش هرگونه تغییر مجوز:

اگر مجوز (ISSION) تغییر کرد، سپس اقدام کنید

عدد اکتال مجوزهای یک فایل، یک دایرکتوری یا یک فایل سیستم را به صورت چهار اکتال تعریف می کند
ارقام (0-7). محدوده معتبر 0000 - 7777 است (شما می توانید صفرهای ابتدایی را حذف کنید، Monit اضافه می کند
صفرهای سمت چپ به عنوان مثال، "640" یک مقدار معتبر است و با "0640" مطابقت دارد).

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

مثال:

سایه فایل را با مسیر بررسی کنید / و غیره / سایه
اگر مجوز 0640 ناموفق بود، هشدار دهید

UID TESTING
Monit می تواند شناسه کاربر مالک (uid) یک فایل، fifo، دایرکتوری یا مالک و
کاربر موثر یک فرآیند

نحو:

اگر ناموفق بود [E]UID کاربر سپس اقدام کنید

کاربر شناسه کاربر را به صورت عددی یا رشته ای تعریف می کند.

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

مثال:

سایه فایل را با مسیر بررسی کنید / و غیره / سایه
اگر ریشه uid ناموفق بود، هشدار دهید

پیشنهاد TESTING
Monit می تواند شناسه گروه مالک (gid) یک فایل، fifo، دایرکتوری یا فرآیند را کنترل کند.

نحو:

اگر گروه GID شکست خورد، سپس اقدام کنید

گروه شناسه گروه را به صورت عددی یا رشته ای تعریف می کند.

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

مثال:

سایه فایل را با مسیر بررسی کنید / و غیره / سایه
اگر سایه gid ناموفق بود، هشدار دهید

PID TESTING
Monit می تواند PID فرآیند را آزمایش کند. این تست ضمنی است و Monit یک هشدار ارسال می کند
موردی که PID خارج از کنترل Monit تغییر کرده است.

نحو:

اگر PID تغییر کرد، سپس اقدام کنید

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

این تست برای شناسایی راه اندازی مجدد فرآیند احتمالی که در آن رخ داده است مفید است
بازه زمانی بین دو چرخه تست Monit.

به عنوان مثال اگر شخصی پیکربندی sshd را تغییر دهد و sshd را خارج از Monit دوباره راه اندازی کند
کنترل به شما اطلاع داده می شود که فرآیند با یک نمونه جدید جایگزین شده است:

فرآیند sshd را با pidfile بررسی کنید /var/run/sshd.pid
اگر pid تغییر کرد، هشدار دهید

PPID TESTING
Monit می‌تواند PID والد فرآیند (PPID) را برای تغییرات آزمایش کند. این آزمون ضمنی و Monit است
در صورتی که PPID خارج از کنترل Monit تغییر کرده باشد، هشدار ارسال می کند.

نحو دستور ppid به صورت زیر است:

اگر PPID تغییر کرد، سپس اقدام کنید

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

مثال:

روند myproc را با pidfile /var/run/myproc.pid بررسی کنید
اگر ppid تغییر کرد، "/my/script" را اجرا کنید

روند به موقع TESTING
دستور uptime را فقط می توان در زمینه نوع سرویس پردازش استفاده کرد.

نحو:

اگر UPTIME [[اپراتور] مقدار [واحد]] سپس اقدام کنید

اپراتور انتخابی از "<"، ">"، "!="، "==" در نماد C، "GT"، "LT"، "EQ"، "NE" در
علامت پوسته sh و "GREATER"، "LESS"، "EQUAL"، "NOTEQUAL" به شکل قابل خواندن توسط انسان (اگر
مشخص نشده است، پیش فرض برابر است).

ارزش یک واترمارک آپتایم است.

واحد "SECOND"، "MINUTE"، "HOUR" یا "DAY" است (همچنین می توان از "SECONDS" استفاده کرد،
«دقیقه»، «ساعت» یا «روز»).

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

مثالی از راه اندازی مجدد فرآیند هر سه روز:

روند myapp را با pidfile /var/run/myapp.pid بررسی کنید
start program = "/etc/init.d/myapp start"
stop program = "/etc/init.d/myapp stop"
اگر زمان کار > 3 روز باشد، مجدداً راه اندازی کنید

برنامه وضعیت TESTING
می توانید وضعیت خروج از یک برنامه یا یک اسکریپت را بررسی کنید. این تست فقط در داخل قابل استفاده است
یک ورودی سرویس برنامه در فایل کنترل Monit را بررسی کنید.

نحو برای آزمایش مقدار خروجی خاص:

اگر مقدار عملگر STATUS، سپس اقدام کنید

نحو برای آزمایش هرگونه تغییر مقدار خروجی:

اگر وضعیت تغییر کرد، سپس اقدام کنید

اپراتور انتخابی از "<",">"،"!=","==" در نماد c، "gt"، "lt"، "eq"، "ne" در پوسته است.
علامت sh و "بزرگتر"، "کمتر"، "برابر"، "notequal" به شکل قابل خواندن توسط انسان (اگر نه
مشخص شده، پیش فرض برابر است).

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

مثال:

برنامه myscript را با مسیر /usr/local/bin/myscript.sh بررسی کنید
اگر وضعیت != 0 باشد، هشدار دهید

نمونه اسکریپت برای مثال بالا (/usr/local/bin/myscript.sh):

#!/ bin / bash
تست اکو
از $ خارج می شوید؟

همچنین می توانید پارامترها را با برنامه ارسال کنید:

لیست برنامه ها را با مسیر بررسی کنید/bin/ls -lrt / tmp /"
اگر وضعیت != 0 باشد، هشدار دهید

آرگومان های برنامه یا اسکریپت دنباله ای از رشته های جدا شده با فضای خالی است. در
مثال بالا رشته های '-lrt' و '/ tmp /"آدرس های برنامه هستند"/bin/ls'. اگر
از آرگومان ها استفاده می شود، توصیه می شود از نقل قول استفاده کنید " برای محصور کردن رشته، در غیر این صورت، اگر
هیچ استدلالی استفاده نمی شود، نقل قول مورد نیاز نیست.

نکات: اگر برنامه یک اسکریپت باشد، مترجم در خط اول مورد نیاز است. را
برنامه یا اسکریپت نیز باید قابل اجرا باشد.

اگر Monit به عنوان کاربر فوق العاده اجرا شود، می توانید به صورت اختیاری برنامه را به عنوان یک کاربر دیگر اجرا کنید
و/یا گروه در این مثال ما اجرا می کنیم ls برنامه به عنوان کاربر www و به عنوان کارکنان گروه:

برنامه ls را با مسیر بررسی کنید "/bin/ls دایرکتوری / tmp" به عنوان uid "www"
و "کارکنان"
اگر وضعیت != 0 باشد، هشدار دهید

Monit برنامه را به صورت دوره ای اجرا می کند و اگر وضعیت خروج از برنامه اجرا نشود
مطابق با نتیجه مورد انتظار، Monit می تواند یک عمل انجام دهد. در مثال بالا، Monit خواهد شد
در صورتی که مقدار خروجی با 0 متفاوت باشد، یک هشدار افزایش دهید. طبق قرارداد، 0 به معنای برنامه است
به طور عادی خارج شد

بررسی های برنامه ناهمزمان هستند. به این معنی که Monit منتظر خروج برنامه نخواهد بود،
اما در عوض، Monit برنامه را در پس زمینه شروع می کند و بلافاصله ادامه می دهد
بررسی ورودی سرویس بعدی monitrc. در چرخه بعدی، Monit بررسی خواهد کرد که آیا
برنامه تمام شده است و اگر چنین است، وضعیت خروج از برنامه را جمع آوری کنید. اگر وضعیت نشان می دهد
در صورت عدم موفقیت، Monit یک پیام هشدار حاوی خطای برنامه (stderr) ارسال می کند.
خروجی، در صورت وجود اگر برنامه پس از چرخه اول خارج نشد، Monit منتظر می ماند
چرخه دیگر و غیره اگر بعد از 5 دقیقه برنامه همچنان در حال اجرا باشد، Monit می کشد
آن را و ایجاد یک رویداد مهلت زمانی برنامه. امکان لغو مهلت زمانی پیش‌فرض وجود دارد
(به نحو زیر مراجعه کنید).

ماهیت ناهمزمان بررسی برنامه امکان رفتار غیرمسدود کننده را در برنامه فراهم می کند
طراحی فعلی Monit، اما با یک اثر جانبی همراه است: زمانی که برنامه به پایان رسید
در حال اجرا و منتظر ماندن مونیت برای جمع آوری نتیجه، به اصطلاح تبدیل به "زامبی" می شود.
روند. یک فرآیند زامبی هیچ منبع سیستمی را مصرف نمی کند (فقط PID در آن باقی می ماند
استفاده) و تحت کنترل Monit است و فرآیند زامبی از سیستم حذف می شود
به محض اینکه Monit وضعیت خروج را جمع آوری کرد. این بدان معنی است که هر "برنامه بررسی" خواهد بود
مرتبط با یک فرآیند در حال اجرا یا یک زامبی موقت. این سمت زامبی ناخواسته-
اثر در نسخه بعدی Monit حذف خواهد شد.

می توان از چندین تست وضعیت استفاده کرد، به عنوان مثال:

برنامه hwtest را با مسیر /usr/local/bin/hwtest.sh بررسی کنید
با تایم اوت 500 ثانیه
اگر وضعیت = 1، سپس هشدار
اگر وضعیت = 3 برای 5 چرخه، "/usr/local/bin/emergency.sh" را اجرا کنید

شبکه ارتباط دادن وضعیت تست
می توانید وضعیت پیوند شبکه را بررسی کنید. این تست فقط در یک شبکه چک قابل استفاده است
ورود سرویس در فایل کنترل Monit.

نحو:

اگر ناموفق بود پیوند، سپس اقدام کنید

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

اگر پیوند/رابط خراب باشد یا خطاهای پیوند شناسایی شده باشد، آزمایش ناموفق خواهد بود.

مثال:

شبکه eth0 را با رابط eth0 بررسی کنید
اگر لینک ناموفق بود، هشدار دهید

در صورت شکست لینک، می توانید یک برنامه شروع و توقف اضافه کنید تا به طور خودکار راه اندازی مجدد شود
رابطی که ممکن است کمک کند. (با دستورات شبکه مربوطه جایگزین کنید
سیستم)

شبکه eth0 را با رابط eth0 بررسی کنید
شروع برنامه = '/sbin/ipup eth0'
برنامه توقف = '/sbin/ipdown eth0'
اگر لینک ناموفق بود، دوباره راه اندازی کنید

شبکه ارتباط دادن ظرفیت تست
می توانید ظرفیت حالت پیوند شبکه را برای تغییرات بررسی کنید. این تست فقط قابل استفاده است
در یک ورودی سرویس شبکه در فایل کنترل Monit را بررسی کنید.

نحو:

اگر پیوند [ظرفیت] تغییر کرد، سپس اقدام کنید

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

اگر حالت پیوند تغییر کرده باشد (مثلاً حداکثر سرعت کاهش یافته) یا اگر حالت پیوند تغییر کرده باشد، آزمایش مطابقت دارد
حالت دوبلکس تغییر کرده است.

توجه: همه انواع رابط امکان نظارت بر ظرفیت را ندارند. واسط های شبه مانند
دستگاه loopback یا رابط های VMWare ویژگی سرعت ندارند.

مثال:

شبکه eth0 را با رابط eth0 بررسی کنید
اگر ظرفیت لینک تغییر کرد، هشدار دهید

شبکه اشباع تست
می توانید اشباع پیوند شبکه را بررسی کنید. سپس Monit استفاده از پیوند را بر اساس محاسبه می کند
در نرخ انتقال فعلی در برابر ظرفیت پیوند. این آزمایش فقط در یک چک قابل استفاده است
ورود سرویس شبکه در فایل کنترل Monit.

نحو:

مقدار اپراتور IF SATURATION٪، سپس اقدام کنید

اپراتور انتخابی از "<",">"،"!=","==" در نماد c، "gt"، "lt"، "eq"، "ne" در پوسته است.
علامت sh و "بزرگتر"، "کمتر"، "برابر"، "notequal" به شکل قابل خواندن توسط انسان (اگر نه
مشخص شده، پیش فرض برابر است).

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

توجه: این آزمایش به در دسترس بودن ویژگی سرعت و نه همه رابط بستگی دارد
انواع این ویژگی را دارند. شرح تست LINK SPEED را ببینید.

مثال:

شبکه eth0 را با رابط eth0 بررسی کنید
اگر اشباع بیش از 90 درصد باشد، هشدار دهید

شبکه پهنای باند تست
می‌توانید بارگذاری پیوند شبکه و استفاده از پهنای باند دانلود، نرخ انتقال فعلی را بررسی کنید
و کل داده های منتقل شده در 24 ساعت گذشته. این تست فقط در یک چک قابل استفاده است
ورود سرویس شبکه در فایل کنترل Monit.

اخطار: این تست نیاز به زمان نظرسنجی نظارتی دارد که حداکثر 30 ثانیه باشد.

نحو آزمایش نرخ پهنای باند فعلی بارگذاری:

IF UPLOAD عملگر مقدار واحد سپس اقدام

نحو آزمایش سرعت پهنای باند دانلود فعلی:

IF DOWNLOAD عملگر مقدار واحد سپس اقدام

دستور کل آزمون آپلود:

اگر واحد مقدار اپراتور آپلود کل در آخرین شماره واحد زمان باشد، عمل کنید

کل نحو تست دانلود:

اگر کل دانلود واحد مقدار اپراتور در آخرین شماره واحد زمان، سپس اقدام

اپراتور انتخابی از "<",">"،"!=","==" در نماد c، "gt"، "lt"، "eq"، "ne" در پوسته است.
علامت sh و "بزرگتر"، "کمتر"، "برابر"، "notequal" به شکل قابل خواندن توسط انسان (اگر نه
مشخص شده، پیش فرض برابر است).

واحد انتخابی از «B»، «KB»، «MB»، «GB» یا جایگزین‌های طولانی «بایت»، «کیلوبایت» است.
"مگابایت"، "گیگابایت".

واحد زمان یک انتخاب از "MINUTE(S)"، "HOUR(S)"، "DAY" است. توجه: مونیت چرخش را حفظ می کند
تعداد کل بایت های آپلود شده و دانلود شده فقط در 24 ساعت گذشته. ارزش
بنابراین، واحد زمان نمی‌تواند محدوده وسیع‌تر از یک روز را مشخص کند.

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

مثال:

شبکه eth0 را با رابط eth0 بررسی کنید
اگر آپلود > 500 کیلوبایت بر ثانیه باشد، هشدار دهید
اگر کل دانلود بیش از 1 گیگابایت در 2 ساعت گذشته باشد، هشدار دهید
اگر کل دانلود بیش از 10 گیگابایت در روز گذشته باشد، هشدار دهید

شبکه بسته ها تست
می‌توانید تعداد بسته‌های آپلود و دانلود پیوند شبکه، نرخ انتقال فعلی را بررسی کنید
و کل داده های منتقل شده در 24 ساعت گذشته. این آزمایش فقط در یک چک قابل استفاده است
ورود سرویس شبکه در فایل کنترل Monit.

اخطار: این تست نیاز به زمان نظرسنجی نظارتی دارد که حداکثر 30 ثانیه باشد.

نحو آزمایش نرخ پهنای باند فعلی بارگذاری:

IF UPLOAD مقدار اپراتور PACKETS/S سپس اقدام کنید

نحو آزمایش سرعت پهنای باند دانلود فعلی:

اگر مقدار اپراتور PACKETS/S را دانلود کنید، سپس اقدام کنید

دستور کل آزمون آپلود:

اگر مقدار بسته های اپراتور UPLOAD کل در آخرین عدد واحد زمان باشد، سپس اقدام کنید

کل نحو تست دانلود:

اگر بسته‌های مقدار اپراتور کل دانلود در آخرین عدد، واحد زمان، سپس اقدام

اپراتور انتخابی از "<",">"،"!=","==" در نماد c، "gt"، "lt"، "eq"، "ne" در پوسته است.
علامت sh و "بزرگتر"، "کمتر"، "برابر"، "notequal" به شکل قابل خواندن توسط انسان (اگر نه
مشخص شده، پیش فرض برابر است).

واحد زمان یک انتخاب از "MINUTE(S)"، "HOUR(S)"، "DAY" است. توجه: Monit کل را نگه می دارد
آمار آپلود/دانلود فقط برای 24 ساعت گذشته. مقدار واحد زمان برای این کار نمی تواند
بیش از یک روز طول می کشد.

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

مثال:

شبکه eth0 را با رابط eth0 بررسی کنید
اگر بیش از 1000 بسته در ثانیه آپلود شود، هشدار دهید
اگر کل آپلود بیش از 900000 بسته در یک ساعت گذشته باشد، هشدار دهید

شبکه پینگ تست
Monit می تواند با ارسال بسته های دیتاگرام درخواست اکو ICMP به یک تست پینگ شبکه را انجام دهد
میزبان و منتظر پاسخ باشید. این تست فقط در یک عبارت check host قابل استفاده است.
Monit همچنین باید به عنوان کاربر اصلی اجرا شود تا بتواند تست پینگ را انجام دهد (زیرا
تست پینگ باید از سوکت های خام استفاده کند که معمولاً فقط کاربر فوق العاده مجاز است).

نحو:

IF FILED PING[4|6]
[COUNT شماره]
[شماره SIZE]
[شماره TIMEOUT SECONDS]
[رشته آدرس]
سپس اقدام

اگر از نام میزبان DNS در بررسی میزبان بیانیه و نام میزبان حل می شود
چندین آدرس (یا IPv4 یا IPv6)، Monit اولین آدرس موجود را پینگ می کند و
با آدرس بعدی ادامه دهید تا یک اتصال موفق شود یا تا زمانی که دیگر وجود نداشته باشد
آدرس های باقی مانده برای امتحان می‌توانید Monit را مجبور کنید فقط آدرس‌های IPv4 یا IPv6 را با استفاده از آن پینگ کند
PING4 یا کلمه کلیدی PING6 به جای PING.

La COUNT پارامتر مشخص می کند که چند درخواست پینگ متوالی به هاست ارسال می شود
حداکثر در یک چرخه مقدار پیش فرض 3 است.

La اندازه پارامتر اندازه داده درخواست پینگ را مشخص می کند. پیش فرض 64 بایت است.

در صورت عدم پاسخ در داخل TIMEOUT ثانیه، Monit یک خطا گزارش می کند. اگر حداقل یک پاسخ
دریافت شد، تست پینگ موفقیت آمیز تلقی می شود.

La ADDRESS پارامتر آدرس IP منبع را مشخص می کند.

Monit به طور پیش‌فرض به ارسال می‌شود سه پینگ درخواست بسته در یک چرخه برای جلوگیری از
هشدار نادرست (یعنی تا 66٪ از دست دادن بسته قابل تحمل است). می توانید تنظیم کنید COUNT گزینه به a
مقدار بین 1 تا 20 برای ارسال بسته های بیشتر یا کمتر. اگر به موفقیت 100% پینگ نیاز دارید،
تعداد را روی 1 تنظیم کنید (یعنی فقط یک درخواست ارسال می شود و اگر بسته گم شد، یک درخواست ارسال می شود
خطا گزارش خواهد شد).

توجه داشته باشید که بسیاری از ISP ها اکنون شروع به فیلتر کردن بسته های پینگ یا ICMP کرده اند، در این صورت
هیچ پاسخی از طرف میزبان وجود نخواهد داشت.

اگر از تست پینگ در ورودی چک هاست استفاده شود، ابتدا این تست و در صورت تست اجرا می شود
اگر خراب شود، فرض می کنیم که اتصال به هاست قطع شده است و Monit خواهد شد نه ادامه دادن
با هر آزمایش پورت بعدی

مثال:

میزبان mmonit.com را با آدرس mmonit.com بررسی کنید
اگر پینگ ناموفق بود، شماره IPv4 یا IPv6 را هشدار دهید

میزبان mmonit.com را با آدرس 62.109.39.247 بررسی کنید
اگر پینگ ناموفق بود، هشدار # آدرس IPv4 است، بنابراین IPv4 ترجیح داده می شود

یا آزمایش کنید که سیستم به طور صریح از طریق IPv4 و IPv6 قابل دسترسی است:

میزبان mmonit.com را با آدرس mmonit.com بررسی کنید
اگر ping4 ناموفق بود، فقط IPv4 # هشدار دهید
اگر ping6 ناموفق بود، فقط IPv6 # هشدار دهید

یا با تمام پارامترها؛ پنج پینگ 128 بایتی را به mmonit.com ارسال کنید و تا 10 عدد صبر کنید
ثانیه برای پاسخ

میزبان mmonit.com را با آدرس mmonit.com بررسی کنید
اگر تعداد پینگ 5 سایز 128 با شکست 10 ثانیه ای انجام نشد، هشدار دهید

ارتباط TESTING
Monit می تواند تست اتصال را از طریق پورت های شبکه یا از طریق سوکت های یونیکس انجام دهد. یک ارتباط
تست فقط در یک فرآیند یا زمینه نوع سرویس میزبان قابل استفاده است.

اگر سرویسی به یک یا چند سوکت گوش می دهد، Monit می تواند به پورت (با استفاده از TCP یا
UDP) و بررسی کنید که سرویس اتصال را می پذیرد و امکان نوشتن وجود دارد
و از سوکت بخوانید. اگر اتصالی پذیرفته نشد یا اگر مشکلی وجود داشت
سوکت I/O، Monit یک عمل مشخص را اجرا می کند.

نحو تست پورت TCP/UDP:

در صورت شکست
[میزبان]

[آدرس محلی]
[ipversion]
[نوع]
[ssl [با گزینه‌های {...}]]
[جمع چک گواهی]
[روزهای معتبر گواهی]
[پروتکل | ، ...]
[تایم اوت]
[تلاش مجدد]
سپس اقدام

نحو تست سوکت یونیکس:

در صورت شکست

[نوع]
[پروتکل | ، ...]
[تایم اوت]
[تلاش مجدد]
سپس اقدام

مثال:

اگر پورت 80 ناموفق بود، هشدار دهید

اگر پورت 53 ناموفق بود، پروتکل udp dns را تایپ کنید سپس هشدار دهید

اگر unixsocket /var/run/sophie ناموفق بود، هشدار دهید

گزینه های ارسال:

میزبان: HOST نام میزبان. به صورت اختیاری میزبانی را برای اتصال به آن مشخص کنید. اگر میزبان داده نشود
اگر این تست در یک ورودی فرآیند استفاده شود، لوکال هاست فرض می شود. اگر این تست است
در داخل یک ورودی میزبان راه دور استفاده می شود، سپس میزبان راه دور ورودی فرض می شود.

بندر: PORT عدد. شماره پورت برای اتصال

unixsocket: یونیکس سوکت مسیر. مسیر یک سوکت یونیکس (فقط ماشین محلی) را مشخص می کند.

آدرس محلی: ADDRESS رشته. آدرس IP منبع برای استفاده.

ipversion: IPV4 | IPV6 . به صورت اختیاری نسخه IP را که Monit باید در هنگام تلاش استفاده کند، مشخص کنید
به پورت متصل شود در صورت عدم استفاده، Monit سعی می کند به اولین آدرس موجود متصل شود
(IPv4 یا IPv6). اگر چندین آدرس در دسترس باشد و اتصال به یک آدرس ناموفق باشد،
Monit آدرس بعدی را امتحان می کند و به همین ترتیب تا زمانی که یک اتصال موفق شود یا تا زمانی که هیچ اتصالی وجود نداشته باشد
آدرس های بیشتری برای امتحان باقی مانده است.

نوع: TYPE [TCP | UDP]. به صورت اختیاری نوع سوکتی را که Monit باید در هنگام تلاش استفاده کند، مشخص کنید
به پورت متصل شود انواع مختلف سوکت عبارتند از: TCP یا UDP، که در آن TCP یک معمولی است
سوکت مبتنی بر جریان، UDP، سوکت دیتاگرام. نوع سوکت پیش فرض TCP است.

ssl: [SSL | TLS] [با گزینه های {...}]. گزینه های SSL/TLS را تنظیم کنید و SSL جهانی/پیش فرض را لغو کنید
گزینه ها. می‌توانید نسخه SSL/TLS را برای استفاده، چه برای تأیید گواهی‌ها، چه اعتماد تنظیم کنید
گواهینامه های خود امضا شده یا فایل پایگاه داده گواهی های مشتری SSL را برای مشتری تنظیم کنید
احراز هویت گواهی

گواهی نامه چک جمع: گواهی چک [MD5|SHA1] مخلوط. سرور SSL را تأیید کنید
گواهی با بررسی چک‌سام آن. می توانید از MD5 یا SHA1 checksum استفاده کنید (اگر شما
نوع را مشخص نکنید، Monit خلاصه را بر اساس طول هش تعیین می کند). تو می توانی
با استفاده از openssl ابزار خط فرمان برای به دست آوردن مقدار چک مجموع برای گواهی شما، که
سپس می توانید در فایل کنترلی Monit استفاده کنید:

openssl x509 -fingerprint -sha1 -in server.crt | سر -1 | cut -f2 -d'='

مثال:

اگر شکست خورد
پورت 443
پروتکل https
and certificate checksum = "1ED948A6F4258ACAB964227EF4EB19FCC453B0F8"
سپس هشدار دهید

گواهی نامه منقضی می شود روزها: گواهی معتبر برای عدد روزها. ارسال یک هشدار اگر
گواهی در چند روز معین منقضی می شود. این تست برای بدست آوردن a بسیار مفید است
زمانی که زمان تمدید گواهی SSL فرا می رسد، اطلاع رسانی می شود.

مثال:

اگر شکست خورد
پورت 443
پروتکل https
و گواهی معتبر > 30 روز
سپس هشدار دهید

پروتکل: PROTO(COL) پروتکل. به صورت اختیاری پروتکلی را که Monit باید صحبت کند را مشخص کنید
ارتباط برقرار می شود. در حال حاضر مونیت می داند چگونه صحبت کند:
APACHE-SATUS
DNS
DWP
FTP
GPS
HTTP
HTTPS
IMAP
IMAPS
CLAMAV
LDAP2
LDAP3
LMTP
MEMCACHE
MONGODB
MySQL
NNTP
NTP3
PGSQL
POP
POPS
POSTFIX-POLICY
شعاع
RDATE
REDIS
RSYNC
الک
SIP
SMTP
SMTPS
SSH
TNS
وب سایت

اگر پروتکل سرور مورد نظر در این لیست یافت نشد، به سادگی آن را مشخص نکنید
پروتکل و Monit از یک تست اتصال پیش فرض استفاده خواهند کرد.

تایم اوت: [با] TIMEOUT عدد ثانیه ها. به صورت اختیاری زمان اتصال و خواندن را مشخص می کند
برای اتصال اگر Monit نتواند در این مدت به سرور متصل شود، فرض می شود
که اتصال ناموفق بود و عمل مشخص شده را اجرا کنید. مهلت زمانی اتصال پیش فرض
5 ثانیه است

دوباره امتحان کنید: دوباره امتحان کنید عدد. به صورت اختیاری تعداد تکرارهای متوالی را در داخل مشخص می کند
همان چرخه آزمایش در موردی که اتصال شکست خورد. پیش‌فرض ابتدا fail است
خطا.

اقدام انتخابی از "ALERT"، "RESTART"، "START"، "STOP"، "EXEC" یا "UNMONITOR" است.

خاص پروتکل آزمون گزینه های

عمومی (ارسال/انتظار)

اگر Monit از پروتکل صحبت شده توسط سرور پشتیبانی نمی کند، می توانید پروتکل خود را بنویسید
تست پروتکل با استفاده از ارسال و انتظار رشته های. در ارسال دستور یک رشته به
پورت سرور و انتظار عبارت یک رشته خوانده شده از سرور را با
رشته ای که در عبارت expect داده شده است.

نحو:

[ "رشته"]+

Monit یک رشته را همانطور که هست ارسال می کند و شما باید به یاد داشته باشید که CR و LF را در آن قرار دهید
اگر پروتکل انتظار داشته باشد که چنین کاراکترهایی یک رشته را خاتمه دهند، رشته ای به سرور ارسال می شود
(بیشتر پروتکل های مبتنی بر متن که از طریق اینترنت استفاده می شوند).

Monit به طور پیش‌فرض تا 255 بایت را از سرور می‌خواند و زمانی که از این رشته استفاده می‌کند
مقایسه رشته EXPECT می توانید با استفاده از محدودیت های تعیین شده، مقدار پیش فرض را لغو کنید
بیانیه.

در صورت نیاز می توانید از کاراکترهای غیر قابل چاپ در رشته SEND استفاده کنید. از نماد هگز استفاده کنید،
\0xHEXHEX برای ارسال هر کاراکتری در محدوده \0x00-\0xFF، یعنی 0-255 در اعشار. برای
به عنوان مثال، برای آزمایش سرور Quake 3:

ارسال "\0xFF\0xFF\0xFF\0xFFgetstatus"
انتظار "sv_floodProtect|sv_maxPing"

اگر سیستم شما از عبارات منظم POSIX پشتیبانی می کند، می توانید از عبارات منظم در آن استفاده کنید
رشته EXPECT را ببینید regex(7) برای کسب اطلاعات بیشتر در مورد انواع عبارات منظم که می توانید
در یک رشته انتظار استفاده کنید.

از آنجایی که هم مقایسۀ regex و هم رشته ای بر روی یک رشته پایان یافته صفر عمل می کنند، نمی توانید آزمایش کنید
برای '\0' در بافر EXPECT زیرا این کاراکتر پایان بافر را نشان می دهد. با این حال، ما
از "\0" در بافر انتظار به عنوان "\0" فرار کنید که می توانید آن را آزمایش کنید. یعنی '\' به دنبال آن
مقدار ascii برای 0. به عنوان مثال، در اینجا نحوه آزمایش برای یک رشته انتظار که شروع می شود، آمده است
با صفر به دنبال هر تعداد کاراکتر.

انتظار "^[\\]0.*"

در اینجا یک مثال ساده از پروتکل SMTP آورده شده است:

اگر شکست خورد
پورت 25 و
انتظار "^220.*"
ارسال "HELO localhost.localdomain\r\n"
انتظار "^250.*"
ارسال "QUIT\r\n"
سپس هشدار دهید

SEND/EXPECT را می توان با هر نوع سوکتی مانند سوکت های TCP، سوکت های یونیکس و UDP استفاده کرد.
پریز برق.

HTTP

نحو:

HTTP اولیه (COL).
[درخواست "رشته"]
[شماره اپراتور STATUS]
[CHECKSUM جمع چک]
[لیست هدرهای HTTP HEADERS]
[محتوا < "=" | "!=" > STRING]

درخواست گزینه می تواند یک رشته URL را تنظیم کند که یک سند را در سرور HTTP مشخص می کند. اگر
بیانیه درخواست مشخص نشده است، صفحه پیش فرض "/" درخواست خواهد شد.

مثلا:

اگر شکست خورد
پورت 80
پروتکل http
درخواست "/data/show?a=b&c=d"
سپس راه اندازی مجدد

وضعیت می توان از گزینه برای آزمایش صریح کد وضعیت HTTP که توسط HTTP بازگردانده شده است استفاده کرد
سرور در صورت عدم استفاده، تست پروتکل HTTP در صورتی که کد وضعیت بازگشتی داده شده باشد، ناموفق خواهد بود
بزرگ‌تر یا مساوی 400. می‌توانید با استفاده از این رفتار را لغو کنید وضعیت
مقدماتی

به عنوان مثال برای آزمایش اینکه یک صفحه انجام می دهد نه وجود داشته باشد (سرور HTTP باید 404 را در این مورد برگرداند
مورد):

اگر شکست خورد
پورت 80
پروتکل http
درخواست "/non/existent.php"
وضعیت = 404
سپس هشدار دهید

چک شما می توانید چک جمع اسناد بازگردانده شده توسط یک سرور HTTP را آزمایش کنید. یا MD5 یا
می توان از هش SHA1 استفاده کرد. مانیتور خواهد شد نه اگر سرور این کار را انجام می دهد، چک جمع را برای یک سند آزمایش کنید
HTTP را تنظیم نکنید محتوای طول سرتیتر. یک سرور HTTP باید این هدر را تنظیم کند
سرور یک سند ثابت (یعنی یک فایل). هیچ محدودیتی در اندازه سند وجود ندارد، اما
به خاطر داشته باشید که Monit از زمان برای دانلود سند از طریق شبکه برای محاسبه استفاده می کند
چک جمع

مثال:

اگر شکست خورد
پورت 80
پروتکل http
درخواست "/page.html"
checksum 8f7f419955cefa0b33a2ba316cba3659
سپس هشدار دهید

HTTP سرصفحه ها می توان از آن برای ارسال لیستی از هر عنوان HTTP با آزمایش پروتکل HTTP استفاده کرد. برای
به عنوان مثال، هدر میزبان. اگر هدر میزبان تنظیم نشده باشد، Monit از نام میزبان یا استفاده می کند
آدرس IP میزبان همانطور که در عبارت check host مشخص شده است. تعیین هدر میزبان
اگر می خواهید به هاست مجازی مبتنی بر نام متصل شوید و آن را آزمایش کنید مفید است. نحو برای
تنظیم هدر HTTP است

هدرهای http [نام: ارزش، نام: ارزش،..]

جایی که هر جفت name:value با "،" جدا می شود. اگر نیاز دارید از «:» در مقدار استفاده کنید
رشته، به عنوان مثال برای تنظیم شماره پورت برای هدر میزبان، باید مقدار را در آن قرار دهید
نقل قول ها مثلا،

هدرهای http [میزبان: "mmonit.com:443"]

در یک زمینه میزبان چک، استفاده از این عبارت ممکن است به نظر برسد

میزبان mmonit.com را با آدرس mmonit.com بررسی کنید
اگر شکست خورد
پروتکل پورت 80 http
با هدر http [میزبان: mmonit.com، Cache-Control: no-cache،
کوکی: csrftoken=nj1bI3CnMCaiNv4beqo8ZaCfAQQvpgLH]
و /monit/ را با محتوای = "Monit [0-9.]+" درخواست کنید.
سپس هشدار دهید

تنظیم هدرهای HTTP با آزمایش پروتکل HTTP مرتبط است و باید قبل از آن انجام شود
درخواست مانند مثال بالا

مطالب و محتوا گزینه الگوی مورد انتظار در داده های بازگشتی توسط سرور را تنظیم می کند. اگر
الگو مطابقت ندارد، رویداد راه اندازی می شود.

به طور پیش فرض حداکثر 1 مگابایت بررسی می شود. با استفاده از محدودیت های تعیین شده می توانید حد را افزایش دهید
بیانیه.

مثلا:

اگر شکست خورد
پورت 80
پروتکل http
محتوا = "foobar [0-9.]+"
سپس هشدار دهید

APACHE-SATUS

La APACHE-SATUS تست به شخص اجازه می دهد تا عملکرد سرور را با بررسی وضعیت بررسی کند
صفحه ایجاد شده توسط mod_status آپاچی، که انتظار می رود در آدرس پیش فرض آن باشد
http://www.example.com/server-status.

نحو:

پروتکل آپاچی-وضعیت [مسیر ] [ ]+

مسیر یک مسیر اختیاری برای وضعیت آپاچی است (به طور پیش فرض "/server-status")

ویژگی مخفف وضعیت فرزند است:

(1) ورود به سیستم (loglimit)
(2) بستن اتصالات (closelimit)
(3) انجام جستجوهای DNS (dnslimit)
(4) در keepalive با مشتری (keepalivelimit)
(5) پاسخ دادن به مشتری (replylimit)
(6) دریافت درخواست (محدودیت درخواست)
(7) مقداردهی اولیه (محدودیت شروع)
(8) انتظار برای اتصالات ورودی (محدودیت انتظار)
(9) با ظرافت بسته شدن (Gracefullimit)
(10) انجام مراحل پاکسازی (cleanuplimit)

اپراتور یکی از "<"، "="، ">" است.

عدد حد عددی صدک است.

هر یک از این محدودیت ها را می توان با مقداری نسبت به تعداد کل مقایسه کرد
پردازش های فرزند آپاچی فعال

شما می توانید همه این تست ها را در یک عبارت ترکیب کنید یا می توانید یک عبارت خاص را تست کنید
فقط محدود کردن اگر محدودیت ها را ترکیب کنید، باید آنها را با استفاده از کلمه کلیدی OR به یکدیگر متصل کنید.

مثال:

در صورت عدم موفقیت در پورت 80 پروتکل apache-status
loglimit > 10% یا
dnslimit > 50% یا
محدودیت انتظار < 20٪
سپس هشدار دهید

SIP

پروتکل SIP توسط سرورهای پلتفرم ارتباطی مانند استریسک و
سوئیچ رایگان.

نحو:

SIP پروتکل [TARGET valid@uri] [MAXFORWARD n]

هدف شما می توانید یک گیرنده جایگزین برای پیام، با افزودن یک سیپ uri معتبر تعیین کنید
بعد از این کلمه کلیدی

MAXFORWARD تعداد پراکسی‌ها یا دروازه‌هایی را که می‌توانند درخواست را به آن ارسال کنند، محدود کنید
سرور بعدی مقدار آن یک عدد صحیح در محدوده 0-255 است که به طور پیش فرض روی 70 تنظیم شده است. اگر حداکثر
فوروارد = 0، سرور بعدی ممکن است 200 OK پاسخ دهد (تست با موفقیت انجام شد) یا 483 Too Many ارسال کند
هاپ (تست ناموفق)

مثلا:

میزبان openser_all را با آدرس 127.0.0.1 بررسی کنید
اگر شکست خورد
پورت 5060 نوع پروتکل udp sip
با هدف "localhost:5060" و maxforward 6
سپس هشدار دهید

شعاع

نحو:

شعاع پروتکل [رشته مخفی]

راز شما می توانید یک راز جایگزین را مشخص کنید، پیش فرض "testing123" است.

مثلا:

فرآیند radiusd را با pidfile /var/run/radiusd.pid بررسی کنید
start program = "/etc/init.d/freeradius start"
stop program = "/etc/init.d/freeradius stop"
اگر شکست خورد
میزبان 127.0.0.1 پورت 1812 نوع شعاع پروتکل udp
پینگ پونگ مخفی
سپس هشدار دهید

MySQL

نحو:

پروتکل MYSQL [رشته رمز عبور USERNAME]

USERNAME نام کاربری MySQL (حداکثر 16 کاراکتر).

PASSWORD رمز عبور MySQL (کاراکترهای خاص را می توان استفاده کرد، اما برای غیر الفبایی
رمز عبور باید نقل قول شود).

اعتبارنامه ها هستند اختیاری. اگر اعتباری تنظیم نشده باشد، Monit آزمایش را با استفاده از آن انجام می دهد
ورود ناشناس این ممکن است باعث شود که خطای احراز هویت در گزارش MySQL شما ثبت شود
سطوح لاگ MySQL بالاتر.

اگر اعتبارنامه تنظیم شده باشد، Monit وارد سیستم می شود و پینگ MySQL را انجام می دهد. Monit به هیچ نیازی ندارد
امتیازات پایگاه داده، فقط به کاربر پایگاه داده نیاز دارد، توصیه می کنیم کاربر مستقل ایجاد کنید
برای تست Monit، به عنوان مثال:

ایجاد کاربر 'monit'@'host_from_which_monit_performs_testing' شناسایی شده توسط 'mysecretpassword';
مزایای فلاش؛

مثلا:

بررسی فرآیند mysql با pidfile /var/run/mysqld/mysqld.pid
شروع برنامه = "/sbin/start mysql"
برنامه توقف = "/sbin/stop mysql"
اگر شکست خورد
پورت 3306
پروتکل mysql نام کاربری "foo" رمز عبور "bar"
سپس هشدار دهید

یا با دستورات start/stop یونیکس سوکت و OS X

بررسی فرآیند mysql با pidfile /var/run/mysqld/mysqld.pid
start program = "/usr/local/mysql/support-files/mysql.server start"
stop program = "/usr/local/mysql/support-files/mysql.server stop"
اگر شکست خورد
unixsocket /tmp/mysql.sock
پروتکل mysql نام کاربری "foo" رمز عبور "bar"
سپس هشدار دهید

وب سایت

نحو:

پروتکل وب سوکت
[رشته درخواست]
[رشته HOST]
[رشته ORIGIN]
[شماره نسخه]

HOST می توانید یک هدر میزبان جایگزین را مشخص کنید

درخواست شما می توانید یک درخواست جایگزین را مشخص کنید، پیش فرض "/" است

اصل و نسب شما می توانید یک منبع جایگزین را مشخص کنید، پیش فرض این است "http://www.mmonit.com"

نسخه شما می توانید یک نسخه جایگزین را مشخص کنید، پیش فرض "0" است

مثلا:

میزبان websocket.org را با آدرس "echo.websocket.org" بررسی کنید
اگر شکست خورد
پورت 80 پروتکل وب سوکت
میزبان "echo.websocket.org"
درخواست "/"
اصل و نسب 'http://websocket.com'
13 نسخه
سپس هشدار دهید

پیکربندی مثال ها


ساده ترین شکل فقط عبارت چک است. در این مثال ما بررسی می کنیم که آیا وب ما
سرور در حال اجرا است و در غیر این صورت پیامی را وارد کنید:

فرآیند nginx را با pidfile /var/run/nginx.pid بررسی کنید

برای اینکه Monit سرور را در صورتی که در حال اجرا نیست راه اندازی کند، یک عبارت start اضافه کنید:

فرآیند nginx را با pidfile /var/run/nginx.pid بررسی کنید
start program = "/etc/init.d/nginx start"

در اینجا یک مثال پیشرفته تر برای نظارت بر وب سرور آپاچی در حال گوش دادن به آن است
شماره پورت پیش فرض برای HTTP و HTTPS. در این مثال، مونیت آپاچی را مجددا راه اندازی می کند
عدم پذیرش اتصالات در شماره پورت روشی که Monit برای راه اندازی مجدد استفاده می کند به این صورت است
ابتدا برنامه توقف را اجرا کنید، سپس صبر کنید (تا 30 ثانیه) تا فرآیند متوقف شود و سپس
برنامه start-program را اجرا کنید و منتظر بمانید (30 ثانیه) تا شروع شود. مدت زمان انتظار شروع یا توقف
را می توان با استفاده از گزینه "timeout" لغو کرد. اگر مونیت قادر به توقف یا راه اندازی نبود
اگر درخواست کرده باشید پیام های هشداری ارسال شود، یک پیام هشدار ناموفق ارسال می شود
ارسال شد.

فرآیند آپاچی را با pidfile /var/run/httpd.pid بررسی کنید
start program = "/etc/init.d/httpd start" با تایم اوت 60 ثانیه
stop program = "/etc/init.d/httpd stop"
اگر پورت 80 برای 2 سیکل ناموفق بود، دوباره راه اندازی کنید
اگر پورت 443 برای 2 سیکل ناموفق بود، دوباره راه اندازی کنید

این مثال نشان می دهد که چگونه می توانید یک برنامه را به عنوان یک کاربر مشخص (uid) و با a اجرا کنید
گروه مشخص شده (gid). بسیاری از برنامه های دیمون می توانند سوئیچ uid و gid را به تنهایی انجام دهند.
اما برای برنامه‌هایی که این کار را نمی‌کنند (مثلاً برنامه‌های جاوا)، توانایی monit برای شروع یک
برنامه به عنوان یک کاربر خاص می تواند بسیار مفید باشد. در این مثال ما تامکت جاوا را راه اندازی می کنیم
موتور Servlet به عنوان استاندارد هیچ کس کاربر و گروه لطفا توجه داشته باشید که Monit فقط می تواند
اگر کاربر فوق کاربر در حال اجرای Monit است، uid و gid را برای برنامه تغییر دهید، در غیر این صورت Monit
به سادگی درخواست تغییر uid و gid را نادیده می گیرد.

فرآیند تامکت را با pidfile /var/run/tomcat.pid بررسی کنید
start program = "/etc/init.d/tomcat start"
به عنوان uid هیچ کس و gid هیچ کس
stop program = "/etc/init.d/tomcat stop"
# همچنین می توانید به جای آن از شماره های شناسه استفاده کنید و بنویسید:
به عنوان uid 99 و با gid 99
اگر پورت 8080 ناموفق بود، هشدار دهید

در این مثال ما از udp برای تست اتصال استفاده می کنیم تا بررسی کنیم که آیا سرور نام در حال اجرا است:

فرآیند نامگذاری شده با pidfile /var/run/named.pid را بررسی کنید
start program = "/etc/init.d/named start"
stop program = "/etc/init.d/named stop"
اگر پورت 53 ناموفق بود، از پروتکل udp dns تایپ کنید، سپس راه اندازی مجدد کنید

مثال زیر نشان می دهد که چگونه می توان بررسی کرد که آیا سرویس 'sophie' پاسخ می دهد یا خیر
اتصالات در سوکت دامنه یونیکس آن:

فرآیند سوفی را با pidfile /var/run/sophie.pid بررسی کنید
start program = "/etc/init.d/sophie start"
stop program = "/etc/init.d/sophie stop"
اگر unix /var/run/sophie ناموفق بود، دوباره راه اندازی کنید

در این مثال ما یک وب سرور آپاچی در حال اجرا بر روی لوکال هاست را بررسی می کنیم که به آن پاسخ می دهد
چندین میزبان مجازی یا vhost مبتنی بر IP، از این رو عبارت میزبان قبل از پورت:

فرآیند آپاچی را با pidfile /var/run/httpd.pid بررسی کنید
شروع "/etc/init.d/httpd start"
توقف "/etc/init.d/httpd stop"
اگر میزبان www.sol.no پورت 80 ناموفق بود، هشدار دهید
اگر میزبان ناموفق پورت 443 shop.sol.no باشد، هشدار دهید
اگر میزبان chat.sol.no پورت 80 ناموفق بود، هشدار دهید

برای اطمینان از اینکه Monit با یک سرور HTTP ارتباط برقرار می کند، می توان یک تست پروتکل اضافه کرد:

فرآیند آپاچی را با pidfile /var/run/httpd.pid بررسی کنید
شروع "/etc/init.d/httpd start"
توقف "/etc/init.d/httpd stop"
اگر شکست خورد
میزبان www.sol.no پورت 80 پروتکل http
سپس هشدار دهید

این مثال روش دیگری را برای بررسی یک وب سرور با استفاده از send/expect نشان می دهد
سازوکار:

فرآیند آپاچی را با pidfile /var/run/httpd.pid بررسی کنید
شروع "/etc/init.d/httpd start"
توقف "/etc/init.d/httpd stop"
اگر شکست خورد
میزبان www.sol.no پورت 80 و
ارسال "GET / HTTP/1.1\r\nHost: www.sol.no\r\n\r\n"
انتظار "HTTP/[0-9\.]{3} 200.*"
سپس هشدار دهید

در اینجا ما یک هاست راه دور را پینگ می کنیم تا بررسی کنیم که آیا بالا است یا نه، یک هشدار ارسال می کنیم:

هاست www.tildeslash.com را با آدرس www.tildeslash.com چک کنید
اگر پینگ ناموفق بود، هشدار دهید

در مثال زیر از Monit می‌خواهیم تا چک‌سام را برای آن محاسبه و تأیید کند
باینری زیرین آپاچی که توسط برنامه های شروع و توقف استفاده می شود. در صورتی که آزمون چکسام باید
برای جلوگیری از راه اندازی مجدد یک باینری در معرض خطر، نظارت غیرفعال می شود:

فرآیند آپاچی را با pidfile /var/run/httpd.pid بررسی کنید
start program = "/etc/init.d/httpd start"
stop program = "/etc/init.d/httpd stop"
اگر میزبان پورت 80 www.tildeslash.com ناموفق بود، راه اندازی مجدد کنید
بستگی به apache_bin دارد

فایل apache_bin را با مسیر /usr/local/apache/bin/httpd چک کنید
اگر جمع چک ناموفق بود، آن را لغو نظارت کنید

در این مثال از Monit می‌خواهیم تا چک‌سام سند را روی یک سرور راه دور آزمایش کند. اگر
چک‌سوم تغییر کرد، ما یک هشدار ارسال می‌کنیم:

میزبان mmonit.com را با آدرس mmonit.com بررسی کنید
اگر شکست خورد
پروتکل پورت 80 http و
درخواست "/monit/dist/monit-5.7.tar.gz"
with checksum f9d26b8393736b5dfad837bb13780786
سپس هشدار دهید

در اینجا چند آزمایش برای برخی از سرورهای ارتباطی محبوب با استفاده از پروتکل SIP آورده شده است.
ابتدا سرور FreeSWITCH و سپس سرور Asterisk را تست می کنیم

سوئیچ آزاد فرآیند را بررسی کنید
با pidfile /usr/local/freeswitch/log/freeswitch.pid
start program = "/usr/local/freeswitch/bin/freeswitch -nc -hp"
برنامه توقف = "/usr/local/freeswitch/bin/freeswitch -stop"
اگر مجموع حافظه بیش از 1000.0 مگابایت برای 5 چرخه باشد، هشدار دهید
اگر مجموع حافظه بیش از 1500.0 مگابایت برای 5 چرخه باشد، هشدار دهید
اگر مجموع حافظه بیش از 2000.0 مگابایت برای 5 چرخه باشد، مجدداً راه اندازی کنید
اگر cpu > 60% برای 5 سیکل باشد، هشدار دهید
اگر شکست خورد
پورت 5060 نوع پروتکل udp SIP
هدف [ایمیل محافظت شده] و حداکثر 10
سپس راه اندازی مجدد

ستاره فرآیند را بررسی کنید
با pidfile /var/run/asterisk/asterisk.pid
start program = "/usr/sbin/asterisk"
stop program = "/usr/sbin/asterisk -r -x 'shutdown now'"
اگر مجموع حافظه بیش از 1000.0 مگابایت برای 5 چرخه باشد، هشدار دهید
اگر مجموع حافظه بیش از 1500.0 مگابایت برای 5 چرخه باشد، هشدار دهید
اگر مجموع حافظه بیش از 2000.0 مگابایت برای 5 چرخه باشد، مجدداً راه اندازی کنید
اگر cpu > 60% برای 5 سیکل باشد، هشدار دهید
اگر شکست خورد
پورت 5060 نوع پروتکل udp SIP
و هدف قرار دهید [ایمیل محافظت شده] حداکثر 10
سپس راه اندازی مجدد

برخی از سرورها شروع کننده آهسته هستند، مانند سرورهای کاربردی مبتنی بر جاوا. اگر ما
می خواهید چرخه نظرسنجی را پایین نگه دارید (یعنی کمتر از 60 ثانیه) اما به برخی از سرویس ها اجازه دهید آن را انجام دهند
زمان شروع، هر بیانیه مفید است:

هر 2 سیکل پروسه دینامو را با pidfile /etc/dynamo.pid چک کنید
start program = "/etc/init.d/dynamo start"
stop program = "/etc/init.d/dynamo stop"
اگر پورت 8840 ناموفق بود، هشدار دهید

در اینجا یک مثال است که در آن دو ورودی پایگاه داده را با هم گروه بندی می کنیم تا بتوانید آنها را مدیریت کنید
با هم، به عنوان مثال؛ 'پایگاه داده مانیتور - g شروع همه'. دستور mode نیز در نشان داده شده است
اولین ورودی و باعث می شود که مونیت سعی در راه اندازی مجدد این سرویس نداشته باشد اگر
در حال اجرا نیست:

فرآیند sybase را با pidfile /var/run/sybase.pid بررسی کنید
start = "/etc/init.d/sybase start"
stop = "/etc/init.d/sybase stop"
حالت غیرفعال
پایگاه داده گروهی

فرآیند اوراکل را با pidfile /var/run/oracle.pid بررسی کنید
start program = "/etc/init.d/oracle start"
stop program = "/etc/init.d/oracle stop"
اگر شکست خورد
پروتکل پورت 9001 tns
سپس راه اندازی مجدد
پایگاه داده گروهی

این مثال بررسی منبع، در صورت استفاده CPU از دیمون HTTP آپاچی، هشداری ارسال می کند.
و فرآیندهای فرزند آن برای دو چرخه از 60٪ فراتر می رود. اگر CPU Apache راه اندازی مجدد شود
استفاده بیش از 80٪ برای پنج چرخه یا استفاده از حافظه بیش از 100 مگابایت برای پنج چرخه یا اگر
میانگین بار ماشین ها برای 10 سیکل بیش از 8 است:

فرآیند آپاچی را با pidfile /var/run/httpd.pid بررسی کنید
start program = "/etc/init.d/httpd start"
stop program = "/etc/init.d/httpd stop"
اگر cpu > 40% برای 2 سیکل باشد، هشدار دهید
اگر cpu کل > 60% برای 2 سیکل باشد، هشدار دهید
اگر cpu کل > 80% برای 5 سیکل باشد، مجددا راه اندازی کنید
اگر مم > 100 مگابایت برای 5 چرخه، متوقف شود
if loadavg(5 دقیقه) بیشتر از 10.0 برای 8 چرخه و سپس متوقف شود

این مثال ها بیانیه timestamp با exec و نحوه راه اندازی مجدد آپاچی را نشان می دهد
اگر فایل پیکربندی آن تغییر کرده باشد.

فایل httpd.conf را با مسیر /etc/httpd/httpd.conf چک کنید
در صورت تغییر مهر زمانی
سپس exec "/etc/init.d/httpd graceful"

در این مثال استفاده از عبارت هشدار توسعه یافته و بررسی فایل را نشان می دهیم
وابستگی:

فرآیند آپاچی را با pidfile /var/run/httpd.pid بررسی کنید
start = "/etc/init.d/httpd start"
stop = "/etc/init.d/httpd stop"
هشدار admin@bar در {nonexist, timeout}
با فرمت نامه {
از: bofh@$HOST
موضوع: apache $EVENT - $ACTION
پیام: این رویداد در $HOST در $DATE رخ داد.
کارمند وفادار شما،
نظارت کردن
}
اگر میزبان پورت 80 www.tildeslash.com ناموفق بود، راه اندازی مجدد کنید
به httpd_bin بستگی دارد
آپاچی گروهی

فایل httpd_bin را با مسیر /usr/local/apache/bin/httpd چک کنید
هشدار security@bar در {checksum, timestamp,
مجوز، uid، gid}
با فرمت نامه {موضوع: Alaarrm! در $HOST}
در صورت شکست چک جمع
and expect 8f7f419955cefa0b33a2ba316cba3659
سپس unmonitor کنید
اگر مجوز 755 ناموفق بود، آن را حذف کنید
اگر ریشه uid ناموفق بود، مانیتور را حذف کنید
اگر gid root ناموفق بود، از مانیتور خارج کنید
اگر تمبر زمانی تغییر کرد، هشدار دهید
آپاچی گروهی

در این مثال، استفاده از دستور depend را نشان می دهیم. در این صورت ما می خواهیم
اوراکل و آپاچی را شروع کنید. با این حال، ما apache را برای استفاده از اوراکل به عنوان یک بک‌اند تنظیم کرده‌ایم، و اگر
اوراکل ریستارت می شود، آپاچی نیز باید ریستارت شود.

فرآیند آپاچی را با pidfile /var/run/httpd.pid بررسی کنید
start = "/etc/init.d/httpd start"
stop = "/etc/init.d/httpd stop"
بستگی به اوراکل دارد

فرآیند اوراکل را با pidfile /var/run/oracle.pid بررسی کنید
start = "/etc/init.d/oracle start"
stop = "/etc/init.d/oracle stop"
اگر پورت 9001 برای 5 سیکل ناموفق بود، دوباره راه اندازی کنید

بعد، ما 2 سرویس Oracle-import و Oracle-Export داریم که در صورت نیاز به راه اندازی مجدد
اوراکل دوباره راه اندازی می شود، اما مستقل از یکدیگر هستند.

فرآیند اوراکل را با pidfile /var/run/oracle.pid بررسی کنید
start = "/etc/init.d/oracle start"
stop = "/etc/init.d/oracle stop"
اگر پورت 9001 برای 3 سیکل ناموفق بود، دوباره راه اندازی کنید

بررسی فرآیند oracle-import
با pidfile /var/run/oracle-import.pid
start = "/etc/init.d/oracle-import start"
stop = "/etc/init.d/oracle-import stop"
بستگی به اوراکل دارد

بررسی فرآیند oracle-export
با pidfile /var/run/oracle-export.pid
start = "/etc/init.d/oracle-export start"
stop = "/etc/init.d/oracle-export stop"
بستگی به اوراکل دارد

با استفاده از خدمات onworks.net از monit آنلاین استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

دستورات لینوکس

Ad




×
تبلیغات
❤️اینجا خرید کنید، رزرو کنید یا بخرید - رایگان است، به رایگان ماندن خدمات کمک می‌کند.