'\" t
.\" Title: upsmon
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot
.\" Date: 06/21/2026
.\" Manual: راهنمای NUT
.\" Source: Network UPS Tools 2.8.5
.\" Language: Persian
.\"
.TH "UPSMON" "8" "06/21/2026" "Network UPS Tools 2\&.8\&.5" "راهنمای NUT"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "نام (NAME)"
upsmon \- پایشگر UPS و کنترلکننده خاموشسازی سیستم
.SH "خلاصه دستور (SYNOPSIS)"
.sp
\fBupsmon\fR \-h
.sp
\fBupsmon\fR \-c \fIcommand\fR [\-P \fIpid\fR]
.sp
\fBupsmon\fR [\-D] [\-F | \-B] [\-K] [\-p] [\-u \fIuser\fR]
.SH "توضیحات (DESCRIPTION)"
.sp
\fBupsmon\fR یک پردازش کلاینت است که مسئولیت مهمترین بخش پایش UPS را بر عهده دارد \(em خاموش کردن سیستم هنگام قطع برق\&. این برنامه میتواند در طول رخدادهای مربوط به برق، برنامههای کمکی دیگر را جهت اعلان خبر فراخوانی کند\&.
.sp
upsmon میتواند با استفاده از یک پردازش واحد، چندین سیستم را پایش کند\&. به هر UPS که در فایل پیکربندی \fBupsmon.conf\fR(5) تعریف شده است، یک مقدار توان و یک نوع (\fBprimary\fR یا \fBsecondary\fR) اختصاص داده میشود\&.
.SH "گزینهها (OPTIONS)"
.PP
\fB\-c\fR \fIcommand\fR
.RS 4
ارسال دستور
\fIcommand\fR
به پردازش موجود upsmon\&. دستورات معتبر عبارتند از:
.PP
\fBfsd\fR
.RS 4
خاموش کردن تمام UPSهای حالت primary (با احتیاط استفاده شود)
.RE
.PP
\fBstop\fR
.RS 4
توقف پایش و خروج
.RE
.PP
\fBreload\fR
.RS 4
بازخوانی فایل پیکربندی
\fBupsmon.conf\fR(5)\&.
در صورت کار نکردن، به بخش "ظرافتهای بازخوانی" در زیر مراجعه کنید\&.
.RE
.RE
.PP
\fB\-P\fR \fIpid\fR
.RS 4
ارسال سیگنال دستور بالا با استفاده از شماره PID مشخصشده، به جای بررسی فایل PID\&. این گزینه میتواند در تعریف واحدهای سرویس که
upsmon
اصلی را به صورت یک پردازش پیشزمینه اجرا میکنند کمک کند تا نیازی به اتکا به فایل PID نداشته باشد\&.
.RE
.PP
\fB\-D\fR
.RS 4
افزایش سطح اشکالزدایی\&. upsmon به طور پیشفرض در پیشزمینه اجرا خواهد شد و اطلاعات مربوط به فرآیند پایش را در stdout چاپ میکند\&. برای جزئیات بیشتر، از این گزینه چندین بار استفاده کنید\&.
.RE
.PP
\fB\-F\fR
.RS 4
upsmon بدون در نظر گرفتن تنظیمات اشکالزدایی، در پیشزمینه اجرا خواهد شد\&.
.RE
.PP
\fB\-B\fR
.RS 4
upsmon بدون در نظر گرفتن تنظیمات اشکالزدایی، در پسزمینه اجرا خواهد شد\&.
.RE
.PP
\fB\-K\fR
.RS 4
بررسی فلگ خاموشسازی\&. اگر وجود داشته باشد و حاوی رشته جادویی upsmon باشد، upsmon با وضعیت
EXIT_SUCCESS
خارج میشود\&. هر شرایط دیگری باعث میشود upsmon با وضعیت
EXIT_FAILURE
خارج شود\&.
.sp
میتوانید برای اطمینان از خروج موفقیتآمیز
upsmon \-K
در اسکریپتهای خاموشسازی خود بررسی انجام دهید تا بدانید چه زمانی باید
\fBupsdrvctl\fR(8)
را برای خاموش کردن UPS فراخوانی کنید\&.
.RE
.PP
\fB\-p\fR
.RS 4
اجرا با دسترسیهای ممتاز در تمام مدت\&. معمولاً upsmon به دو پردازش تقسیم میشود\&. بخش عمده کد به عنوان یک کاربر غیرممتاز اجرا میشود، و تنها یک بخش رابط کوچک با دسترسی
root
اجرا میشود تا در صورت نیاز نهایتاً
SHUTDOWNCMD
را فراخوانی کند\&. این سوییچ آن حالت را غیرفعال کرده و سیستم قدیمی «همیشه با دسترسی کامل root» را اجرا میکند\&.
.sp
این حالت توصیه نمیشود و نباید از آن استفاده کنید مگر اینکه دلیل بسیار موجهی داشته باشید\&.
.RE
.PP
\fB\-u\fR \fIuser\fR
.RS 4
تنظیم کاربر برای پردازش پایش غیرممتاز\&. این گزینه هنگام استفاده از
\fI\-p\fR
هیچ تاثیری ندارد\&.
.sp
مقدار پیشفرض
\fIuser\fR
در زمان پیکربندی ساخت با
configure \-\-with\-user=\&.\&.\&.
تعیین میشود\&. معمولاً این کاربر
\fInobody\fR
است (اگر به شکل دیگری پیکربندی نشده باشد)، که اصلاً ایدهآل نیست، بنابراین اکثر توزیعهای بستهبندیشده احتمالاً یک کاربر خاص
\fInut\fR
را برای این کار دارند\&. اگر اسکریپتهای اعلان شما نیاز به اجرا تحت یک کاربر خاص دارند، آن را در اینجا تنظیم کنید\&.
.sp
همچنین میتوانید این مقدار را در فایل
\fBupsmon.conf\fR(5)
با دستورالعمل
RUN_AS_USER
تعیین کنید\&.
.RE
.SH "گزینههای عمومی (COMMON OPTIONS)"
.PP
\fB\-h\fR
.RS 4
نمایش پیام راهنمای خط فرمان\&.
.RE
.PP
\fB\-V\fR
.RS 4
نمایش بنر نسخه NUT\&. در صورتی که
export NUT_DEBUG_LEVEL=1
یا سطح پرگویی بیشتری را صادر کنید، ممکن است جزئیات بیشتری نمایش داده شود\&.
.RE
.PP
\fB\-W\fR \fIsecs\fR
.RS 4
تنظیم مهلت زمانی برای اتصالات اولیه شبکه (به طور پیشفرض آنها به طور نامحدود غیرمسدودکننده هستند، یا تا زمانی که سیستم تلاش را قطع کند)\&. متغیر محیطی اختیاری
NUT_DEFAULT_CONNECT_TIMEOUT
را لغو میکند\&.
.RE
.SH "تعاریف UPS (UPS DEFINITIONS)"
.sp
در \fBupsmon.conf\fR(5)، باید حداقل یک UPS را که پایش خواهد شد مشخص کنید\&. از دستورالعمل MONITOR به این صورت استفاده کنید:
.sp
.if n \{\
.RS 4
.\}
.nf
MONITOR \*(Aqsystem\*(Aq \*(Aqpowervalue\*(Aq \*(Aqusername\*(Aq \*(Aqpassword\*(Aq \*(Aqtype\*(Aq
.fi
.if n \{\
.RE
.\}
.sp
مقدار \fIsystem\fR به یک سرور \fBupsd\fR(8) اشاره دارد، به فرم upsname[@hostname[:port]]\&. مقدار پیشفرض \fIhostname\fR برابر "localhost" و مقدار پیشفرض \fIport\fR برابر \fI3493\fR است\&. چند مثال در ادامه آورده شده است:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
"su700@mybox" به معنای یک UPS با نام "su700" بر روی سیستمی به نام "mybox" است\&. این فرم عادی است\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
"fenton@bigbox:5678" یک UPS با نام "fenton" روی سیستمی به نام "bigbox" است که
\fBupsd\fR(8)
را روی درگاه "5678" اجرا میکند\&.
.RE
.sp
مقدار \fIpowervalue\fR مشخص میکند که چه تعداد از منابع تغذیه این سیستم کلاینت توسط این UPS تغذیه میشوند\&. این مقدار معمولاً برابر \fI1\fR قرار میگیرد، اما بخش مربوط به مقادیر توان را در زیر ببینید\&.
.sp
مقدار \fIusername\fR یک بخش در فایل \fBupsd.users\fR(5) شما است\&. هر گذرواژهای که در آن بخش تعیین کردهاید باید با \fIpassword\fR تعیینشده در این فایل برای نمونه سرور داده متناظر مطابقت داشته باشد\&.
.sp
نوع تعیینشده در آن بخش از پیکربندی سرور داده نیز باید با \fItype\fR در اینجا مطابقت داشته باشد \(em \fBprimary\fR یا \fBsecondary\fR (آن را به عنوان یک "نقش upsmon" در نظر بگیرید)\&. به طور کلی، یک پردازش کلاینت "primary" پردازشی است که روی سیستمی اجرا میشود که UPS واقعاً به درگاه سریال یا USB آن متصل است، و یک "secondary" سیستمی است که توان خود را از UPS میگیرد اما نمیتواند مستقیماً با آن ارتباط برقرار کند\&. برای اطلاعات بیشتر به بخش انواع UPS مراجعه کنید\&.
.SH "رخدادهای اعلان (NOTIFY EVENTS)"
.sp
\fBupsmon\fR هنگام پایش هر UPS، چندین رخداد را شناسایی میکند\&. اینها "رخدادهای اعلان" نامیده میشوند، زیرا میتوان از آنها برای اطلاعرسانی وضعیت به کاربران و مدیران استفاده کرد\&. برای اطلاعات در مورد سفارشیسازی نحوه ارسال این پیامها، به بخشهای دیگر مربوط به NOTIFY در زیر مراجعه کنید\&.
.PP
\fBONLINE\fR
.RS 4
دستگاه UPS مجدداً به برق متصل شد\&.
.RE
.PP
\fBONBATT\fR
.RS 4
دستگاه UPS روی باتری قرار دارد\&.
.RE
.PP
\fBLOWBATT\fR
.RS 4
باتری UPS ضعیف است (طبق تشخیص درایور)\&.
.RE
.PP
\fBFSD\fR
.RS 4
دستور رفتن به حالت «خاموشسازی اجباری» به UPS داده شده است\&.
.RE
.PP
\fBCOMMOK\fR
.RS 4
ارتباط با UPS برقرار شد\&.
.RE
.PP
\fBCOMMBAD\fR
.RS 4
ارتباط با UPS به تازگی قطع شد\&.
.RE
.PP
\fBSHUTDOWN\fR
.RS 4
سیستم محلی در حال خاموش شدن است\&.
.RE
.PP
\fBREPLBATT\fR
.RS 4
باتری UPS نیاز به تعویض دارد\&.
.RE
.PP
\fBNOCOMM\fR
.RS 4
امکان برقراری تماس با UPS جهت پایش وجود ندارد\&.
.RE
.PP
\fBNOPARENT\fR
.RS 4
پردازش والد
upsmon
از کار افتاد \- خاموشسازی غیرممکن است\&.
.RE
.PP
\fBCAL\fR
.RS 4
کالیبراسیون UPS در حال انجام است\&.
.RE
.PP
\fBNOTCAL\fR
.RS 4
کالیبراسیون UPS پایان یافت\&.
.RE
.PP
\fBOFF\fR
.RS 4
دستگاه UPS به صورت مدیریتی خاموش یا در حالت خواب است\&.
.RE
.PP
\fBNOTOFF\fR
.RS 4
دستگاه UPS دیگر به صورت مدیریتی خاموش یا در حالت خواب نیست\&.
.RE
.PP
\fBBYPASS\fR
.RS 4
دستگاه UPS روی مدار کنارگذر است (برقدار است، اما محافظت نمیکند)\&.
.RE
.PP
\fBNOTBYPASS\fR
.RS 4
دستگاه UPS دیگر روی مدار کنارگذر نیست\&.
.RE
.PP
\fBECO\fR
.RS 4
دستگاه UPS در حالت ECO یا حالت مشابه (تعریف و نامگذاری شده توسط سازنده) قرار دارد؛ نامهای دیگر شامل حالت بازدهی بالا (High Efficiency mode) و سامانه ذخیره انرژی (Energy Saver System) است\&.
.sp
به عنوان مثال، مستندات Eaton حالت High Efficiency را به عنوان نوعی کنارگذر پایششده توسط سختافزار با تغییر وضعیت زیر ۱۰ میلیثانیه به حالت Online در صورت بروز مشکل تعریف میکند (چیزی که در گذشته به عنوان Line-Interactive شناخته میشد)، که میتواند به جای اجرای همیشگی در حالت تبدیل دوگانه (امنتر، اما با اتلاف بیشتر و تاثیر منفی بر عمر باتری)
\fBانتخاب شود\fR\&.
دستگاههای قدیمیتر فقط یکی از این دو را پیادهسازی میکردند\&.
.RE
.PP
\fBNOTECO\fR
.RS 4
دستگاه UPS دیگر در حالت ECO نیست (به بالا مراجعه کنید)\&.
.RE
.PP
\fBALARM\fR
.RS 4
دستگاه UPS یک یا چند هشدار فعال دارد (برای جزئیات به
ups\&.alarm
نگاه کنید)\&.
.RE
.PP
\fBNOTALARM\fR
.RS 4
دستگاه UPS دیگر در وضعیت هشدار نیست (هیچ هشدار فعالی وجود ندارد)\&.
.RE
.PP
\fBOVER\fR
.RS 4
بار اضافه بر روی UPS قرار دارد\&.
.RE
.PP
\fBNOTOVER\fR
.RS 4
دیگر بار اضافه بر روی UPS وجود ندارد\&.
.RE
.PP
\fBTRIM\fR
.RS 4
دستگاه UPS در حال کاهش ولتاژ ورودی است\&.
.RE
.PP
\fBNOTTRIM\fR
.RS 4
دستگاه UPS دیگر در حال کاهش ولتاژ ورودی نیست\&.
.RE
.PP
\fBBOOST\fR
.RS 4
دستگاه UPS در حال تقویت ولتاژ ورودی است\&.
.RE
.PP
\fBNOTBOOST\fR
.RS 4
دستگاه UPS دیگر در حال تقویت ولتاژ ورودی نیست\&.
.RE
.PP
\fBOTHER\fR
.RS 4
دستگاه UPS حداقل یک نشانه وضعیت طبقهبندینشده دارد\&.
.RE
.PP
\fBNOTOTHER\fR
.RS 4
دستگاه UPS دیگر هیچ نشانه وضعیت طبقهبندینشدهای ندارد\&.
.RE
.PP
\fBSUSPEND_STARTING\fR
.RS 4
سیستمعامل در حال ورود به حالت sleep/suspend/hibernate است\&.
.RE
.PP
\fBSUSPEND_FINISHED\fR
.RS 4
سیستمعامل به تازگی از حالت sleep/suspend/hibernate خارج شده است، و برای جلوگیری از خاموشسازی ناخواسته، مقادیر خواندهشده قدیمی UPS را غیرفعال میکند\&.
.RE
.SH "دستور اعلان (NOTIFY COMMAND)"
.sp
در \fBupsmon.conf\fR(5)، میتوانید برنامهای به نام NOTIFYCMD پیکربندی کنید که رخدادهای پیشآمده را مدیریت کند\&.
.sp
نحو دستور: NOTIFYCMD "\fIpath to program\fR"
.sp
مثال:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
NOTIFYCMD "/usr/local/bin/notifyme"
.RE
.sp
به یاد داشته باشید اگر مسیر حاوی فاصله است، آن را داخل "علامت نقلقول دوگانه" قرار دهید\&. این برنامه ترجیحاً نباید متکی به دریافت هیچ آرگومان خط فرمانی باشد\&.
.sp
برنامهای که به عنوان NOTIFYCMD خود اجرا میکنید میتواند از متغیرهای محیطی NOTIFYTYPE و UPSNAME استفاده کند تا بداند چه اتفاقی و روی کدام UPS رخ داده است\&. همچنین پیام اعلان (به زیر مراجعه کنید) را به عنوان اولین (و تنها) آرگومان دریافت میکند، بنابراین میتوانید پیام از پیش قالببندیشده را نیز تحویل دهید\&.
.sp
توجه داشته باشید که NOTIFYCMD برای یک رخداد خاص تنها زمانی فراخوانی میشود که فلگ EXEC را با استفاده از فلگهای اعلان تنظیم کرده باشید، همانطور که در زیر توضیح داده شده است\&.
.SH "فلگهای اعلان (NOTIFY FLAGS)"
.sp
به طور پیشفرض، تمام رخدادهای اعلان (به بالا مراجعه کنید) یک پیام سراسری (wall) برای تمام کاربران ایجاد میکنند، و علاوه بر آن از طریق syslog ثبت میشوند\&. به استثنای ویندوز که در آن upsmon به طور پیشفرض فقط در syslog مینویسد\&. میتوانید این رفتار را با دستورالعمل NOTIFYFLAG در فایل پیکربندی تغییر دهید:
.sp
نحو دستور: NOTIFYFLAG \fInotifytype\fR \fIflags\fR
.sp
مثالها:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
NOTIFYFLAG ONLINE SYSLOG
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
NOTIFYFLAG ONBATT SYSLOG+WALL
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
NOTIFYFLAG LOWBATT SYSLOG+WALL+EXEC
.RE
.sp
فلگهایی که میتوان برای یک رخداد اعلان خاص تنظیم کرد عبارتند از:
.PP
\fBSYSLOG\fR
.RS 4
نوشتن این پیام در syslog\&.
.RE
.PP
\fBWALL\fR
.RS 4
ارسال این پیام به تمام کاربران سیستم از طریق
\fBwall\fR(1)\&.
.RE
.PP
\fBEXEC\fR
.RS 4
اجرای NOTIFYCMD\&.
.RE
.PP
\fBIGNORE\fR
.RS 4
هیچ کاری انجام نده\&. اگر از این استفاده میکنید، از هیچ فلگ دیگری استفاده نکنید\&.
.RE
.sp
میتوانید این فلگها را با هم ترکیب کنید؛ برای مثال، SYSLOG+WALL+EXEC هر سه کار را برای یک رخداد مشخص انجام میدهد\&.
.SH "پیامهای اعلان (NOTIFY MESSAGES)"
.sp
برنامه upsmon همراه با پیامهای پیشفرضی برای هر یک از رخدادهای NOTIFY ارائه میشود\&. این پیامها را میتوان با دستورالعمل NOTIFYMSG تغییر داد\&.
.sp
نحو دستور: NOTIFYMSG \fItype\fR "\fImessage\fR"
.sp
مثالها:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
NOTIFYMSG ONLINE "UPS %s is getting line power"
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
NOTIFYMSG ONBATT "Someone pulled the plug on %s"
.RE
.sp
اولین نمونه از %s با شناسه UPS ایجادکننده رخداد جایگزین میشود\&. این پیامها هنگام ارسال مستقیم پیامهای wall به کاربران از طرف upsmon استفاده میشوند و همچنین به NOTIFYCMD نیز منتقل میگردند\&.
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBیادداشت\fR
.ps -1
.br
.sp
برخی اعلانها، مانند NOTIFY_ALARM و NOTIFY_OTHER، میتوانند نمونه دومی از %s را بپذیرند که به ترتیب با متن هشدار یا نشانه ناشناخته جایگزین میشود\&.
.sp .5v
.RE
.SH "مقادیر توان (POWER VALUES)"
.sp
«مقدار توان کلی فعلی» مجموع توان تمام UPSهایی است که در حال حاضر قادر به تامین برق سیستم میزبان upsmon هستند\&. هر UPS که آنلاین است یا فقط روی باتری کار میکند به این عدد کمک میکند\&. اگر یک UPS در وضعیت بحرانی باشد (روی باتری و با باتری ضعیف) یا در حالت «خاموشسازی اجباری» قرار گرفته باشد، دیگر در این مقدار مشارکتی ندارد\&.
.sp
نحو دستور: MONITOR \fIupsname\fR \fIpowervalue\fR \fIusername\fR \fIpassword\fR \fItype\fR
.sp
یک «مقدار توان» در خط MONITOR در فایل پیکربندی، تعداد منابع تغذیهای است که UPS در سیستم فعلی آنها را تغذیه میکند\&.
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
به طور معمول شما فقط یک منبع تغذیه دارید، بنابراین روی
\fI1\fR
تنظیم میشود\&.
.sp
مثال:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
MONITOR myups@myhost 1 username mypassword primary
.RE
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
در یک سرور بزرگ با منابع تغذیه افزونه (redundant)، مقدار توان برای یک UPS ممکن است بزرگتر از ۱ باشد\&. همچنین ممکن است بیش از یکی از آنها تعریف شده باشد\&.
.sp
مثالهایی برای یک سرور با چهار ماژول منبع تغذیه و دو UPS (که هر کدام دو منبع تغذیه آن سرور را تغذیه میکنند):
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
MONITOR ups\-alpha@myhost 2 username mypassword primary
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
MONITOR ups\-beta@myhost 2 username mypassword primary
.RE
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
اگر یک UPS هیچ توانی به آن سیستم نمیرساند، میتوانید مقدار توان آن را برابر
\fI0\fR
قرار دهید\&. این حالت عموماً زمانی استفاده میشود که میخواهید از ویژگیهای اعلان upsmon برای یک UPS استفاده کنید، حتی اگر آن دستگاه در عمل سیستم میزبان این نمونه کلاینت upsmon را تغذیه نکند\&.
.sp
این را روی "primary" تنظیم نکنید مگر اینکه واقعاً بخواهید وقتی این نمونه upsmon به دلایل خود نیاز به خاموش شدن پیدا کرد، این UPS را خاموش کنید\&.
.sp
مثال:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
MONITOR faraway@anotherbox 0 username mypassword secondary
.RE
.RE
.sp
«حداقل مقدار توان» تعداد منابع تغذیهای است که برای روشن نگه داشتن رایانه این کلاینت upsmon باید برق دریافت کنند\&.
.sp
نحو دستور: MINSUPPLIES \fIvalue\fR
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
رایانههای شخصی معمولی فقط ۱ منبع تغذیه دارند، بنابراین اکثر کاربران این مقدار را در حالت پیشفرض رها میکنند\&.
.sp
مثال:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
MINSUPPLIES 1
.RE
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
اگر سرور یا سیستم مشابهی با توان افزونه دارید، این مقدار معمولاً بالاتر تنظیم میشود\&. سیستمی که نیاز دارد همیشه سه منبع تغذیه از ۴ منبع آن کار کنند، این مقدار را روی ۳ تنظیم میکند\&.
.sp
مثال:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
MINSUPPLIES 3
.RE
.sp
هنگامی که مقدار کل توان خارجی محافظتشده با UPS سالم به کمتر از حداقل مقدار توان مورد نیاز افت کند،
upsmon
دنباله خاموشسازی را آغاز میکند\&. این طراحی به شما امکان میدهد برخی از منابع تغذیه خود را در یک محیط توان افزونه از دست بدهید بدون اینکه کل سیستم از کار بیفتد، در حالی که همچنان برای سیستمهای کوچکتر نیز به درستی کار میکند\&.
.RE
.SH "انواع اتصال UPS و نقشهای UPSMON (UPS CONNECTION TYPES AND UPSMON ROLES)"
.sp
برنامههای \fBupsmon\fR و \fBupsd\fR(8) همیشه روی یک سیستم یکسان اجرا نمیشوند\&. وقتی روی یک سیستم اجرا میشوند، هر UPS که مستقیماً به آن میزبان upsmon متصل است باید در حالت "primary" پایش شود، که باعث میشود آن نمونه upsmon کنترل آن تجهیزات را در دست بگیرد و پیش از خاموش کردن سیستم محلی، منتظر قطع اتصال سیستمهای "secondary" بماند\&. این کار به سیستمهای دوردست (که فقط از طریق شبکه پایش میکنند) اجازه میدهد تا قبل از اینکه upsdrvctl shutdown به صورت محلی روی سیستم اصلی اجرا شود و برق همه آنها را قطع کند، به شکل منظم خاموش شوند\&.
.sp
وقتی upsmon به عنوان secondary اجرا میشود، برای اطلاع از وضعیت UPS به سیستم دوردست متکی است\&. وقتی آن UPS بحرانی میشود (روی باتری و باتری ضعیف)، بلافاصله دستور خاموشسازی محلی را فراخوانی میکند\&. این فرآیند باید به سرعت انجام شود\&. هنگامی که تمام ثانویهها اتصال خود را از سرور دوردست \fBupsd\fR(8) قطع کردند، پردازش upsmon در حالت primary آن فرآیند خاموشسازی خود را آغاز خواهد کرد\&. سیستمهای secondary شما همگی باید قبل از اینکه سیستم اصلی منبع تغذیه مشترک را خاموش کند، به حالت سکون درآمده و خاموش شوند، در غیر این صورت ممکن است به فایلسیستم آسیب برسد\&.
.sp
برنامه upsmon با ثانویههایی که قفل میکنند، متوقف میشوند، یا به هر نحوی موفق نمیشوند به موقع و به آرامی اتصال خود را از \fBupsd\fR(8) قطع کنند، از طریق تایمر HOSTSYNC رفتار میکند\&. در شرایط خاموشسازی، upsmon اصلی پس از این بازه زمانی صرفنظر کرده و به هر حال سیستم را خاموش میکند\&. این کار مانع از آن میشود که سیستم اصلی در صورت خرابی احتمالی یک ثانویه برای همیشه منتظر بماند (که میزبان اصلی را به خطر میاندازد)\&. مقدار پیشفرض این بازه ۱۵ ثانیه است\&.
.sp
اگر سیستم اصلی شما خیلی سریع خاموش میشود، بازه زمانی FINALDELAY را روی مقداری بزرگتر از مقدار پیشفرض ۱۵ ثانیه تنظیم کنید\&. این مقدار را خیلی زیاد تنظیم نکنید، زیرا ممکن است پیش از خاموش شدن سیستم توسط پردازش upsmon اصلی، شارژ باتری UPS تمام شود\&. اگر به زمان بیشتری نیاز دارید، خاموشسازی را پس از مدت کوتاهی از کارکرد روی باتری آغاز کنید؛ برای جزئیات به بخش خاموشسازیهای زمانبندیشده مراجعه کنید\&.
.sp
برای دیدگاه فنیتر، لطفاً بخش گردش کار فعالیت خاموشسازی را ببینید\&.
.SH "خاموشسازیهای زمانبندیشده (TIMED SHUTDOWNS)"
.sp
برای آن موقعیتهای نادری که فرآیند خاموشسازی نمیتواند بین زمان اعلام باتری ضعیف و قطع واقعی توان بار توسط UPS تکمیل شود، از برنامه کمکی \fBupssched\fR(8) استفاده کنید\&. میتوانید از آن به همراه upsmon برای زمانبندی خاموشسازی بر اساس رخداد «روی باتری» استفاده کنید\&. سپس upssched میتواند پس از کارکرد طولانیمدت روی باتری، برای آغاز خاموشسازی به سراغ upsmon بازگردد\&.
.sp
این کار میتواند پیچیده و نامرتب باشد، بنابراین در صورت امکان به مدیریت پیشفرض UPS بحرانی پایبند بمانید\&.
.SH "منابع تغذیه افزونه (REDUNDANT POWER SUPPLIES)"
.sp
اگر برای توان افزونه بیش از یک منبع تغذیه دارید، ممکن است بیش از یک UPS نیز داشته باشید که رایانه شما را تغذیه میکند\&. برنامه upsmon میتواند این وضعیت را مدیریت کند\&. حتماً مقادیر توان UPS را به درستی و مقدار MINSUPPLIES را به اندازه کافی بالا تنظیم کنید تا سیستم تا زمانی که واقعاً نیاز به خاموش شدن ندارد، به کار خود ادامه دهد\&.
.sp
برای مثال، رایانه HP NetServer LH4 به طور پیشفرض دارای ۳ منبع تغذیه نصبشده است و یک محفظه خالی دارد\&. این دستگاه دو کابل برق دارد، یکی در هر طرف کیس\&. این یعنی یک کابل برق به دو محفظه منبع تغذیه برق میرساند، و شما فقط میتوانید دو UPS تغذیهکننده برق داشته باشید\&.
.sp
دستگاه UPS با نام "alpha" را به کابلی که دو منبع تغذیه را تغذیه میکند وصل کنید، و UPS با نام "beta" را به کابلی که منبع سوم و اسلات خالی را تغذیه میکند وصل نمایید\&. مقدار توان alpha را برابر ۲ و beta را برابر ۱ تعریف کنید\&. مقدار MINSUPPLIES را روی ۲ قرار دهید\&.
.sp
وقتی alpha روی باتری میرود، مقدار کل توان فعلی شما در ۳ باقی میماند، زیرا هنوز برق تامین میکند\&. با این حال، به محض اینکه به حالت بحرانی برود (روی باتری و باتری ضعیف)، دیگر در مقدار کل توان فعلی مشارکتی نخواهد داشت\&. این بدان معناست که مقدار برابر ۱ خواهد شد (تنها beta)، که کمتر از ۲ است\&. این مقدار برای اجرای سیستم ناکافی است، و upsmon دنباله خاموشسازی را فراخوانی میکند\&.
.sp
اما اگر beta بحرانی شود، کم کردن سهم آن مقدار کل فعلی را از ۳ به ۲ میرساند\&. این مقدار برای برآورده کردن حداقل کافی است، بنابراین سیستم مانند قبل به کار خود ادامه خواهد داد\&. اگر beta بعداً بازگردد، دوباره اضافه میشود و مقدار فعلی به ۳ بازمیگردد\&. این به شما امکان میدهد تا زمانی که حداقل مقدار توان را در تمام اوقات حفظ کنید، UPSها را تعویض کنید، پیکربندی توان را تغییر دهید یا هر کار دیگری انجام دهید\&.
.SH "عملیات ترکیبی (MIXED OPERATIONS)"
.sp
علاوه بر توانایی پایش چندین UPS، upsmon میتواند آنها را در نقشهای مختلف نیز پایش کند\&. اگر سیستمی با چندین منبع تغذیه دارید که توسط باتریهای UPS جداگانه سرویسدهی میشوند، این امکان وجود دارد که روی یک UPS در نقش اصلی (primary) و روی دیگری در نقش ثانویه (secondary) باشید\&. این حالت معمولاً زمانی رخ میدهد که درگاههای سریال یا USB شما تمام شده باشند و لازم باشد پایش را از طریق سیستم دیگری در آن نزدیکی انجام دهید\&.
.sp
این حالت نیز پیچیده است، به خصوص زمانی که نوبت به خاموش کردن یک UPS میرسد که بحرانی شده اما سیستم محلی را تغذیه نمیکند\&. میتوانید این کار را با استفاده از اسکریپتنویسی در اسکریپت دستور اعلان خود انجام دهید، اما فراتر از محدوده این راهنما است\&.
.SH "خاموشسازیهای اجباری (FORCED SHUTDOWNS)"
.sp
وقتی upsmon مجبور میشود سیستم محلی را خاموش کند، فلگ "FSD" (خاموشسازی اجباری) را روی تمام UPSهایی که در حالت primary اجرا میکند تنظیم مینماید\&. این کار برای همگامسازی سیستمهای secondary در شرایطی استفاده میشود که یک سیستم primary که در غیر این صورت مشکلی ندارد، به دلیل رخ دادن رویدادی اضطراری روی سیستم مدیریت UPS باید خاموش شود\&.
.sp
میتوانید این حالت را روی سیستمی با upsmon در حالت primary به صورت دستی با اجرای نسخه دیگری از برنامه با آرگومان خط فرمان \-c fsd فراخوانی کنید\&. این قابلیت زمانی مفید است که میخواهید پیش از رسیدن به مرحله بحرانی، خاموشسازی را از طریق ابزارهای بیرونی مانند \fBupssched\fR(8) آغاز کنید\&.
.sp
برای دیدگاه فنیتر، لطفاً بخش گردش کار فعالیت خاموشسازی را ببینید\&.
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBهشدار\fR
.ps -1
.br
.sp
لطفاً توجه داشته باشید که طبق طراحی، از آنجا که نیاز به خاموش و روشن کردن بار داریم و نمیخواهیم در صورت بازگشت برق شهر در لحظه نامناسب، برخی سیستمها خاموش شده و برخی دیگر روشن بمانند، فلگ "FSD" از سرور داده حذف نمیشود مگر اینکه دیمن آن راهاندازی مجدد شود\&. اگر گام نخست را در حالت بحرانی برداریم، معمولاً قصد داریم تمام مسیر را تا انتها طی کنیم \(em یعنی تمام سرورها را به آرامی خاموش کنیم و UPS را خاموش نماییم\&.
.sp .5v
.RE
.sp
در نظر داشته باشید که برخی دستگاههای UPS و درایورهای مربوطه نیز وضعیت "FSD" را مجدداً قفل یا آشکار میکنند حتی اگر برق شهر وصل باشد، اما شارژ باتری باقیمانده کمتر از آستانه پیکربندیشده به عنوان "ایمن" در دستگاه باشد (معمولاً اگر پس از یک قطعی طولانی برق، UPS را به صورت دستی روشن کنید)\&. این امر طبق طراحی سازندگان مربوطه UPS انجام میشود، زیرا در چنین شرایطی آنها نمیتوانند تضمین کنند که در صورت وقوع قطعی جدید برق، دستگاه UPS آنها بتواند مجدداً سیستمهای شما را با امنیت خاموش کند\&. بنابراین خاموش ماندن سیستمها تا شارژ کافی باتریها، بهتر و ایمنتر تلقی میشود\&.
.sp
هنگام فرارسیدن زمان خاموشسازی، upsmon فایل POWERDOWNFLAG را ایجاد میکند تا به سیستمعامل اطلاع دهد که UPS باید در مراحل پایانی دنباله خاموشسازی خاموش شود\&. این فایل در صورت وجود، هنگام شروع به کار upsmon حذف میشود تا خاموشسازی عادی بعدی موجب خاموش شدن UPS نشود\&. (به طور کلی این فایل را نمیتوان در طول خاموشسازی حذف کرد زیرا ممکن است سیستم فایل فقطخواندنی شده باشد\&. اگر فایل در یک فایلسیستم مبتنی بر RAM باشد، وجود نخواهد داشت و بررسی برای حذف آن انجام نخواهد شد\&.)
.SH "شبیهسازی قطعی برق (SIMULATING POWER FAILURES)"
.sp
برای آزمایش خاموشسازی همگامشده بدون کشیدن دوشاخه UPSها، فقط کافی است فلگ خاموشسازی اجباری (FSD) را روی آنها تنظیم کنید\&. میتوانید این کار را با فراخوانی مجدد upsmon برای تنظیم فلگ انجام دهید، یعنی:
.sp
.if n \{\
.RS 4
.\}
.nf
:; upsmon \-c fsd
.fi
.if n \{\
.RE
.\}
.sp
پس از آن، سیستم اصلی و ثانویه دنباله معمول خاموشسازی خود را طوری انجام میدهند که گویی باتری بحرانی شده است، در حالی که شما میتوانید زمان صرفشده برای آنها را اندازهگیری کنید\&. این کار برای تجهیزات UPS شما بسیار راحتتر است و از خزیدن زیر میز برای یافتن دوشاخه بهتر است\&.
.sp
توجه داشته باشید که میتوانید از تنظیم ساختگی SHUTDOWNCMD نیز استفاده کنید تا فقط گزارش دهد که سیستمها در این نقطه خاموش میشوند، بدون اینکه در عمل کار آنها را مختل کند\&.
.sp
برای الگوبرداری، میتوانید پیکربندی انجامشده توسط مجموعه تستهای یکپارچهسازی NUT را در دایرکتوری tests/NIT در سورسهای NUT مشاهده کنید، از جمله ارجاع به اسکریپتهای خاموشسازی و اعلان که فقط فعالیت را ثبت میکنند (ممکن است مجبور شوید حداقل یک ساخت ساده از NUT را پیکربندی کرده و make check\-NIT\-sandbox را اجرا کنید تا برخی فایلهای پیکربندی تولید شوند \(em یا اسکریپت nit\&.sh را که آنها را به هم متصل میکند بررسی کنید)\&. به طور خاص، scripts/misc/notifyme\-debug را نه تنها به عنوان یک ثبتکننده وقایع، بلکه اختیاری به عنوان پوششدهنده upssched (در اجراهای آزمایشی) ببینید، و clients/upssched\-cmd را به عنوان پیادهسازی نمونهای از یک CMDSCRIPT در \fBupssched\fR(8) که آن هم بر ثبت وقایع تمرکز دارد بررسی نمایید\&.
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBهشدار\fR
.ps -1
.br
.sp
پس از چنین آزمایشهای ساختگی، ممکن است لازم باشد سرور داده NUT یعنی upsd را مجدداً راهاندازی کنید تا فلگ "FSD" آن برای دستگاهها و کلاینتهای درگیر پاک شود، و مطمئن شوید هیچ فایلی که نام آن در گزینه POWERDOWNFLAG ذکر شده است (مانند /etc/killpower) روی سیستمهای primary برنامه upsmon تحت آزمایش باقی نماند\&.
.sp .5v
.RE
.SH "گردش کار فعالیت خاموشسازی (SHUTDOWN ACTIVITY WORKFLOW)"
.sp
با نگاهی به سورسکدهای clients/upsmon\&.c به عنوان مرجع نهایی، میتوانید زنجیره رخدادها را در طول یک خاموشسازی اجباری بیابید\&. این میتواند به درک متغیرهای زمانی درگیر و اعلانهای ارسالی (که ممکن است بخواهید آنها را مدیریت کنید، شاید با \fBupssched\fR(8)) کمک کند:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
مسیر فعالیت خاموشسازی یک میزبان زمانی آغاز میشود که کلاینت
upsmon
در حال اجرای محلی آن (در هر نقشی) تشخیص دهد که وضعیت برق بحرانی است، مثلاً با داشتن تعداد بسیار کمی منابع تغذیه «سالم» در یک قطعی واقعی، و/یا با مشاهده
FSD
در میان نشانههای
ups\&.status
\(em که احتمالاً هنوز در سرور داده
upsd
هنگام راهاندازی یک نمونه جدید
upsmon
قفل مانده است، یا زمانی که شما
upsmon \-c fsd
را در آن سیستم برای شبیهسازی قطعی برق فراخوانی میکنید؛
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
چنین نمونهای از
upsmon
به متد
forceshutdown()
میرسد؛
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
در آنجا روی تمام UPSهایی که با نقش primary پایش میکند حلقه میزند و متد
setfsd()
را برای هر کدام فراخوانی میکند (که در صورت عدم ارسال قبلی، باعث ارسال یک اعلان
FSD
محلی میشود)؛
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
اگر چنین UPSهایی وجود نداشته باشد \(em ما یک secondary هستیم، و بلافاصله وارد متد
doshutdown()
میشویم؛
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
در غیر این صورت ما یک primary هستیم، و تنها پس از تکمیل متد
sync_secondaries()
وارد متد
doshutdown()
میشویم، که:
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
یک حلقه بینهایت را اجرا میکند تا زمانی که دیگر هیچ کلاینت ماندگار دیگری به سرور داده (upsd) برای هر یک از UPSهایی که برای آنها primary هستیم متصل نباشد، یا مهلت زمانی
HOSTSYNC
سپری شود؛
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
اگر قرار باشد منتظر بماند (اگر کلاینتهای دیگری در اولین چرخه حلقه دیده شوند)، باید یک اعلان
SHUTDOWN_HOSTSYNC
صادر کند\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
در نهایت، در متد
doshutdown()
این پردازش:
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
یک اعلان
SHUTDOWN
صادر میکند؛
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
به اندازه
FINALDELAY
منتظر میماند؛
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
تایمر
SHUTDOWNEXIT
را آغاز میکند (که ممکن است برای وادار کردن پردازش
upsmon
به ماندگاری پس از فراخوانی
SHUTDOWNCMD
استفاده شود \(em مثلاً میتواند توسط یک secondary برای مسدود کردن قطع زودهنگام برق توسط primary در برخی سناریوها مانند متوقفسازی ایمن ماشینآلات خارجی استفاده شود)؛
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
دستور
SHUTDOWNCMD
را فراخوانی میکند (یا مستقیماً در حالت تکپردازشی، یا در حالت متداول با اعلام به بخش با دسترسی
root
جهت انجام آن)؛
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
در صورت پیکربندی، به اندازه
SHUTDOWNEXIT
درنگ میکند؛
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
در نهایت از دیمن خارج میشود (همچنین باعث میشود با قطع خط ارتباطی بین آنها، بخش دارای دسترسی
root
نیز خارج شود)\&.
.RE
.sp
توجه داشته باشید که اگر upsmon شما به بخشهای دارای امتیاز و بدون امتیاز تقسیم شده باشد، تمام اعلانها در زمینه غیرممتاز اجرا میشوند (اسکریپتهای مدیریتی شما ممکن است در صورت نیاز به انجام کاری روی سیستم، نیاز به استفاده صریح از sudo داشته باشند)\&. فقط SHUTDOWNCMD در زمینه ممتاز فراخوانی میشود\&.
.SH "دستگاههای UPS از دسترفته (DEAD UPSES)"
.sp
در صورتی که upsmon نتواند به \fBupsd\fR(8) دسترسی پیدا کند، پس از فاصلهای که با DEADTIME در \fBupsmon.conf\fR(5) کنترل میشود، آن UPS را «مرده» اعلام میکند\&. اگر این اتفاق در حالی بیفتد که آن UPS آخرین بار در وضعیت کار روی باتری شناخته شده بود، فرض میشود که به وضعیت بحرانی رسیده و دیگر در مقدار کل توان مشارکتی ندارد\&.
.sp
برنامه upsmon به طور پیشفرض هر ۳۰۰ ثانیه یک بار با یک اعلاندهنده "NOCOMM" به شما در مورد دستگاه UPS که امکان تماس با آن برای پایش وجود ندارد هشدار میدهد\&. این مقدار را میتوان با تنظیم NOCOMMWARNTIME تغییر داد\&.
.sp
همچنین upsmon معمولاً خرابیهای نظرسنجی را برای هر دستگاه که در هر حلقه POLLFREQ وجود دارد (مثلاً "Data stale" یا "Driver not connected") طبق پیکربندی به لاگ سیستم گزارش میدهد\&. اگر انتظار میرود دستگاههای شما برای مدتی طولانی در دسترس نباشند، میتوانید از POLLFAIL_LOG_THROTTLE_MAX برای کاهش فشار روی ترافیک و ذخیرهسازی syslog استفاده کنید، از طریق ارسال این پیامها فقط یک بار در هر چند چرخه حلقه، و زمانی که شرایط خطا تغییر کرده یا برطرف شده باشد\&. یک مقدار منفی به معنای رفتار استاندارد است (ثبت در هر حلقه، عملاً مانند حالتی که max=1 باشد)، و مقدار صفر به معنای عدم تکرار پیام است (فقط در آغاز و پایان/تغییر وضعیت خرابی ثبت شود)\&.
.sp
توجه داشته باشید که این محدودکننده فقط بر یک وضعیت خطای فعال اخیر برای هر دستگاه پایششده اعمال میشود\&.
.SH "هشدارهای UPS (UPS ALARMS)"
.sp
سازندگان UPS و درایورهای UPS ممکن است هشدارهای مختص دستگاه را برای آگاهسازی کاربر از شرایط بالقوه وخیم UPS پیادهسازی کنند\&. وضعیت "ALARM" به عنوان مخرج مشترک پیادهسازیهای مختلف در میان درایورهای گوناگون UPS و به طور کلی هر زمان که متغیر "ups\&.alarm" توسط درایور خاص UPS گزارش شود، روی آن UPS تنظیم خواهد شد\&.
.sp
کاربر میتواند با استفاده از اعلاندهندههای "ALARM" و "NOTALARM" که توسط upsmon هنگام رخ دادن یا برطرف شدن وضعیت "ALARM" گزارش میشوند، واکنش نشان دهد\&.
.sp
از آنجا که هشدارهای اعلامشده توسط UPS معمولاً ماهیتی وخیم دارند، upsmon دستگاه UPS در چنین وضعیتی را از نزدیکتر زیر نظر میگیرد و فرکانس نظرسنجی را در صورت نیاز افزایش میدهد\&.
.sp
هنگامی که قطعی اتصال در چنین وضعیت هشداری رخ دهد، upsmon به طور پیشفرض UPS ناپایدار را بحرانی/از دسترفته در نظر میگیرد و این امر در صورتی که هشدار واقعی در عمل ماهیتی عادی داشته باشد (مثلاً ناشی از حالت HE/ECO)، ممکن است منجر به خاموشسازیهای اشتباه شود\&. این رفتار را میتوان با استفاده از تنظیم ALARMCRITICAL در upsmon\&.conf تغییر داد\&.
.SH "ظرافتهای بازخوانی (RELOADING NUANCES)"
.sp
برنامه upsmon معمولاً اختیارات کاربر root را برای پردازشی که بیشترین کار را انجام میدهد، از جمله مدیریت سیگنالهایی مانند SIGHUP برای بازخوانی فایل پیکربندی، واگذار میکند\&. این بدان معنی است که فایل \fBupsmon.conf\fR(5) شما باید توسط حساب کاربری غیرریشهای که upsmon به آن تغییر وضعیت میدهد قابل خواندن باشد\&.
.sp
اگر میخواهید بازخوانی کار کند، upsmon باید به عنوان کاربری اجرا شود که دسترسی خواندن فایل پیکربندی را دارد\&. توصیه میکنیم یک کاربر جدید صرفاً برای این منظور ایجاد کنید، زیرا قابل خواندن کردن فایل توسط "nobody" (کاربر پیشفرض) ایده بدی خواهد بود؛ بستهها معمولاً همراه با یک کاربر nut یا ups برای اجرای سرویسهای دیمن NUT عرضه میشوند\&.
.sp
برای اطلاعات بیشتر در این مورد به بخش RUN_AS_USER در \fBupsmon.conf\fR(5) مراجعه کنید\&.
.sp
علاوه بر این، به دلیل مدل دو پردازشی، نمیتوانید تعاریف SHUTDOWNCMD یا POWERDOWNFLAG را با یک بازخوانی مجدد تغییر دهید\&. اگر آن مقادیر را تغییر دهید، \fBباید\fR upsmon را متوقف کرده و مجدداً راهاندازی کنید\&. upsmon در صورت تغییر هر یک از این مقادیر در طول بازخوانی، در syslog به شما هشدار خواهد داد\&.
.SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)"
.sp
\fBNUT_DEBUG_LEVEL\fR در صورتی که هیچ آرگومان \fB\-D\fR در خط فرمان ارائه نشده باشد سطح پرگویی پیشفرض اشکالزدایی را تنظیم میکند، اما درخواست اجرای دیمن در حالت پیشزمینه را صادر نمیکند\&.
.sp
\fBNUT_CONFPATH\fR نام مسیر دایرکتوری است که شامل upsmon\&.conf و سایر فایلهای پیکربندی است\&. اگر این متغیر تنظیم نشده باشد، \fBupsmon\fR از مقدار پیشفرض توکار استفاده میکند که اغلب /usr/local/ups/etc است\&.
.sp
\fBNUT_QUIET_INIT_UPSNOTIFY=true\fR میتواند برای جلوگیری از ارسال اعلان توسط دیمنهایی استفاده شود که میتوانند چارچوبهای مدیریت سرویس (مانند systemd) را از گذر از نقاط عطف چرخه حیات خود مطلع سازند (از جمله اعلانهای مربوط به عدم پشتیبانی سیستم از چنین ویژگیهای مدرنی، یک بار در هر اجرا)\&.
.sp
\fBNUT_QUIET_INIT_BANNER=true\fR میتواند برای سرکوب بنر نام و نسخه ابزار NUT استفاده شود\&. به دلیل تاثیر نامطلوب در عیبیابی برای سرویسها توصیه نمیشود، اما ممکن است در پروفایلهای شل یا اسکریپتهایی که خروجیهای ابزار NUT را پردازش میکنند مفید باشد\&.
.SH "فایلها (FILES)"
.sp
\fBupsmon.conf\fR(5)
.SH "همچنین ببینید (SEE ALSO)"
.SS "سرور:"
.sp
\fBupsd\fR(8)
.SS "کلاینتها:"
.sp
\fBupsc\fR(8), \fBupscmd\fR(8), \fBupsrw\fR(8), \fBupsmon\fR(8)
.SS "برنامههای CGI:"
.sp
\fBupsset.cgi\fR(8), \fBupsstats.cgi\fR(8), \fBupsimage.cgi\fR(8)
.SS "منابع اینترنتی:"
.sp
صفحه خانگی NUT (Network UPS Tools):