| UPSMON(8) | راهنمای NUT | UPSMON(8) |
نام (NAME)
upsmon - پایشگر UPS و کنترلکننده خاموشسازی سیستم
خلاصه دستور (SYNOPSIS)
upsmon -h
upsmon -c command [-P pid]
upsmon [-D] [-F | -B] [-K] [-p] [-u user]
توضیحات (DESCRIPTION)
upsmon یک پردازش کلاینت است که مسئولیت مهمترین بخش پایش UPS را بر عهده دارد — خاموش کردن سیستم هنگام قطع برق. این برنامه میتواند در طول رخدادهای مربوط به برق، برنامههای کمکی دیگر را جهت اعلان خبر فراخوانی کند.
upsmon میتواند با استفاده از یک پردازش واحد، چندین سیستم را پایش کند. به هر UPS که در فایل پیکربندی upsmon.conf(5) تعریف شده است، یک مقدار توان و یک نوع (primary یا secondary) اختصاص داده میشود.
گزینهها (OPTIONS)
-c command
fsd
stop
reload
-P pid
-D
-F
-B
-K
میتوانید برای اطمینان از خروج موفقیتآمیز upsmon -K در اسکریپتهای خاموشسازی خود بررسی انجام دهید تا بدانید چه زمانی باید upsdrvctl(8) را برای خاموش کردن UPS فراخوانی کنید.
-p
این حالت توصیه نمیشود و نباید از آن استفاده کنید مگر اینکه دلیل بسیار موجهی داشته باشید.
-u user
مقدار پیشفرض user در زمان پیکربندی ساخت با configure --with-user=... تعیین میشود. معمولاً این کاربر nobody است (اگر به شکل دیگری پیکربندی نشده باشد)، که اصلاً ایدهآل نیست، بنابراین اکثر توزیعهای بستهبندیشده احتمالاً یک کاربر خاص nut را برای این کار دارند. اگر اسکریپتهای اعلان شما نیاز به اجرا تحت یک کاربر خاص دارند، آن را در اینجا تنظیم کنید.
همچنین میتوانید این مقدار را در فایل upsmon.conf(5) با دستورالعمل RUN_AS_USER تعیین کنید.
گزینههای عمومی (COMMON OPTIONS)
-h
-V
-W secs
تعاریف UPS (UPS DEFINITIONS)
در upsmon.conf(5)، باید حداقل یک UPS را که پایش خواهد شد مشخص کنید. از دستورالعمل MONITOR به این صورت استفاده کنید:
MONITOR 'system' 'powervalue' 'username' 'password' 'type'
مقدار system به یک سرور upsd(8) اشاره دارد، به فرم upsname[@hostname[:port]]. مقدار پیشفرض hostname برابر "localhost" و مقدار پیشفرض port برابر 3493 است. چند مثال در ادامه آورده شده است:
مقدار powervalue مشخص میکند که چه تعداد از منابع تغذیه این سیستم کلاینت توسط این UPS تغذیه میشوند. این مقدار معمولاً برابر 1 قرار میگیرد، اما بخش مربوط به مقادیر توان را در زیر ببینید.
مقدار username یک بخش در فایل upsd.users(5) شما است. هر گذرواژهای که در آن بخش تعیین کردهاید باید با password تعیینشده در این فایل برای نمونه سرور داده متناظر مطابقت داشته باشد.
نوع تعیینشده در آن بخش از پیکربندی سرور داده نیز باید با type در اینجا مطابقت داشته باشد — primary یا secondary (آن را به عنوان یک "نقش upsmon" در نظر بگیرید). به طور کلی، یک پردازش کلاینت "primary" پردازشی است که روی سیستمی اجرا میشود که UPS واقعاً به درگاه سریال یا USB آن متصل است، و یک "secondary" سیستمی است که توان خود را از UPS میگیرد اما نمیتواند مستقیماً با آن ارتباط برقرار کند. برای اطلاعات بیشتر به بخش انواع UPS مراجعه کنید.
رخدادهای اعلان (NOTIFY EVENTS)
upsmon هنگام پایش هر UPS، چندین رخداد را شناسایی میکند. اینها "رخدادهای اعلان" نامیده میشوند، زیرا میتوان از آنها برای اطلاعرسانی وضعیت به کاربران و مدیران استفاده کرد. برای اطلاعات در مورد سفارشیسازی نحوه ارسال این پیامها، به بخشهای دیگر مربوط به NOTIFY در زیر مراجعه کنید.
ONLINE
ONBATT
LOWBATT
FSD
COMMOK
COMMBAD
SHUTDOWN
REPLBATT
NOCOMM
NOPARENT
CAL
NOTCAL
OFF
NOTOFF
BYPASS
NOTBYPASS
ECO
به عنوان مثال، مستندات Eaton حالت High Efficiency را به عنوان نوعی کنارگذر پایششده توسط سختافزار با تغییر وضعیت زیر ۱۰ میلیثانیه به حالت Online در صورت بروز مشکل تعریف میکند (چیزی که در گذشته به عنوان Line-Interactive شناخته میشد)، که میتواند به جای اجرای همیشگی در حالت تبدیل دوگانه (امنتر، اما با اتلاف بیشتر و تاثیر منفی بر عمر باتری) انتخاب شود. دستگاههای قدیمیتر فقط یکی از این دو را پیادهسازی میکردند.
NOTECO
ALARM
NOTALARM
OVER
NOTOVER
TRIM
NOTTRIM
BOOST
NOTBOOST
OTHER
NOTOTHER
SUSPEND_STARTING
SUSPEND_FINISHED
دستور اعلان (NOTIFY COMMAND)
در upsmon.conf(5)، میتوانید برنامهای به نام NOTIFYCMD پیکربندی کنید که رخدادهای پیشآمده را مدیریت کند.
نحو دستور: NOTIFYCMD "path to program"
مثال:
به یاد داشته باشید اگر مسیر حاوی فاصله است، آن را داخل "علامت نقلقول دوگانه" قرار دهید. این برنامه ترجیحاً نباید متکی به دریافت هیچ آرگومان خط فرمانی باشد.
برنامهای که به عنوان NOTIFYCMD خود اجرا میکنید میتواند از متغیرهای محیطی NOTIFYTYPE و UPSNAME استفاده کند تا بداند چه اتفاقی و روی کدام UPS رخ داده است. همچنین پیام اعلان (به زیر مراجعه کنید) را به عنوان اولین (و تنها) آرگومان دریافت میکند، بنابراین میتوانید پیام از پیش قالببندیشده را نیز تحویل دهید.
توجه داشته باشید که NOTIFYCMD برای یک رخداد خاص تنها زمانی فراخوانی میشود که فلگ EXEC را با استفاده از فلگهای اعلان تنظیم کرده باشید، همانطور که در زیر توضیح داده شده است.
فلگهای اعلان (NOTIFY FLAGS)
به طور پیشفرض، تمام رخدادهای اعلان (به بالا مراجعه کنید) یک پیام سراسری (wall) برای تمام کاربران ایجاد میکنند، و علاوه بر آن از طریق syslog ثبت میشوند. به استثنای ویندوز که در آن upsmon به طور پیشفرض فقط در syslog مینویسد. میتوانید این رفتار را با دستورالعمل NOTIFYFLAG در فایل پیکربندی تغییر دهید:
نحو دستور: NOTIFYFLAG notifytype flags
مثالها:
فلگهایی که میتوان برای یک رخداد اعلان خاص تنظیم کرد عبارتند از:
SYSLOG
WALL
EXEC
IGNORE
میتوانید این فلگها را با هم ترکیب کنید؛ برای مثال، SYSLOG+WALL+EXEC هر سه کار را برای یک رخداد مشخص انجام میدهد.
پیامهای اعلان (NOTIFY MESSAGES)
برنامه upsmon همراه با پیامهای پیشفرضی برای هر یک از رخدادهای NOTIFY ارائه میشود. این پیامها را میتوان با دستورالعمل NOTIFYMSG تغییر داد.
نحو دستور: NOTIFYMSG type "message"
مثالها:
اولین نمونه از %s با شناسه UPS ایجادکننده رخداد جایگزین میشود. این پیامها هنگام ارسال مستقیم پیامهای wall به کاربران از طرف upsmon استفاده میشوند و همچنین به NOTIFYCMD نیز منتقل میگردند.
یادداشت
برخی اعلانها، مانند NOTIFY_ALARM و NOTIFY_OTHER، میتوانند نمونه دومی از %s را بپذیرند که به ترتیب با متن هشدار یا نشانه ناشناخته جایگزین میشود.
مقادیر توان (POWER VALUES)
«مقدار توان کلی فعلی» مجموع توان تمام UPSهایی است که در حال حاضر قادر به تامین برق سیستم میزبان upsmon هستند. هر UPS که آنلاین است یا فقط روی باتری کار میکند به این عدد کمک میکند. اگر یک UPS در وضعیت بحرانی باشد (روی باتری و با باتری ضعیف) یا در حالت «خاموشسازی اجباری» قرار گرفته باشد، دیگر در این مقدار مشارکتی ندارد.
نحو دستور: MONITOR upsname powervalue username password type
یک «مقدار توان» در خط MONITOR در فایل پیکربندی، تعداد منابع تغذیهای است که UPS در سیستم فعلی آنها را تغذیه میکند.
مثال:
مثالهایی برای یک سرور با چهار ماژول منبع تغذیه و دو UPS (که هر کدام دو منبع تغذیه آن سرور را تغذیه میکنند):
این را روی "primary" تنظیم نکنید مگر اینکه واقعاً بخواهید وقتی این نمونه upsmon به دلایل خود نیاز به خاموش شدن پیدا کرد، این UPS را خاموش کنید.
مثال:
«حداقل مقدار توان» تعداد منابع تغذیهای است که برای روشن نگه داشتن رایانه این کلاینت upsmon باید برق دریافت کنند.
نحو دستور: MINSUPPLIES value
مثال:
مثال:
هنگامی که مقدار کل توان خارجی محافظتشده با UPS سالم به کمتر از حداقل مقدار توان مورد نیاز افت کند، upsmon دنباله خاموشسازی را آغاز میکند. این طراحی به شما امکان میدهد برخی از منابع تغذیه خود را در یک محیط توان افزونه از دست بدهید بدون اینکه کل سیستم از کار بیفتد، در حالی که همچنان برای سیستمهای کوچکتر نیز به درستی کار میکند.
انواع اتصال UPS و نقشهای UPSMON (UPS CONNECTION TYPES AND UPSMON ROLES)
برنامههای upsmon و upsd(8) همیشه روی یک سیستم یکسان اجرا نمیشوند. وقتی روی یک سیستم اجرا میشوند، هر UPS که مستقیماً به آن میزبان upsmon متصل است باید در حالت "primary" پایش شود، که باعث میشود آن نمونه upsmon کنترل آن تجهیزات را در دست بگیرد و پیش از خاموش کردن سیستم محلی، منتظر قطع اتصال سیستمهای "secondary" بماند. این کار به سیستمهای دوردست (که فقط از طریق شبکه پایش میکنند) اجازه میدهد تا قبل از اینکه upsdrvctl shutdown به صورت محلی روی سیستم اصلی اجرا شود و برق همه آنها را قطع کند، به شکل منظم خاموش شوند.
وقتی upsmon به عنوان secondary اجرا میشود، برای اطلاع از وضعیت UPS به سیستم دوردست متکی است. وقتی آن UPS بحرانی میشود (روی باتری و باتری ضعیف)، بلافاصله دستور خاموشسازی محلی را فراخوانی میکند. این فرآیند باید به سرعت انجام شود. هنگامی که تمام ثانویهها اتصال خود را از سرور دوردست upsd(8) قطع کردند، پردازش upsmon در حالت primary آن فرآیند خاموشسازی خود را آغاز خواهد کرد. سیستمهای secondary شما همگی باید قبل از اینکه سیستم اصلی منبع تغذیه مشترک را خاموش کند، به حالت سکون درآمده و خاموش شوند، در غیر این صورت ممکن است به فایلسیستم آسیب برسد.
برنامه upsmon با ثانویههایی که قفل میکنند، متوقف میشوند، یا به هر نحوی موفق نمیشوند به موقع و به آرامی اتصال خود را از upsd(8) قطع کنند، از طریق تایمر HOSTSYNC رفتار میکند. در شرایط خاموشسازی، upsmon اصلی پس از این بازه زمانی صرفنظر کرده و به هر حال سیستم را خاموش میکند. این کار مانع از آن میشود که سیستم اصلی در صورت خرابی احتمالی یک ثانویه برای همیشه منتظر بماند (که میزبان اصلی را به خطر میاندازد). مقدار پیشفرض این بازه ۱۵ ثانیه است.
اگر سیستم اصلی شما خیلی سریع خاموش میشود، بازه زمانی FINALDELAY را روی مقداری بزرگتر از مقدار پیشفرض ۱۵ ثانیه تنظیم کنید. این مقدار را خیلی زیاد تنظیم نکنید، زیرا ممکن است پیش از خاموش شدن سیستم توسط پردازش upsmon اصلی، شارژ باتری UPS تمام شود. اگر به زمان بیشتری نیاز دارید، خاموشسازی را پس از مدت کوتاهی از کارکرد روی باتری آغاز کنید؛ برای جزئیات به بخش خاموشسازیهای زمانبندیشده مراجعه کنید.
برای دیدگاه فنیتر، لطفاً بخش گردش کار فعالیت خاموشسازی را ببینید.
خاموشسازیهای زمانبندیشده (TIMED SHUTDOWNS)
برای آن موقعیتهای نادری که فرآیند خاموشسازی نمیتواند بین زمان اعلام باتری ضعیف و قطع واقعی توان بار توسط UPS تکمیل شود، از برنامه کمکی upssched(8) استفاده کنید. میتوانید از آن به همراه upsmon برای زمانبندی خاموشسازی بر اساس رخداد «روی باتری» استفاده کنید. سپس upssched میتواند پس از کارکرد طولانیمدت روی باتری، برای آغاز خاموشسازی به سراغ upsmon بازگردد.
این کار میتواند پیچیده و نامرتب باشد، بنابراین در صورت امکان به مدیریت پیشفرض UPS بحرانی پایبند بمانید.
منابع تغذیه افزونه (REDUNDANT POWER SUPPLIES)
اگر برای توان افزونه بیش از یک منبع تغذیه دارید، ممکن است بیش از یک UPS نیز داشته باشید که رایانه شما را تغذیه میکند. برنامه upsmon میتواند این وضعیت را مدیریت کند. حتماً مقادیر توان UPS را به درستی و مقدار MINSUPPLIES را به اندازه کافی بالا تنظیم کنید تا سیستم تا زمانی که واقعاً نیاز به خاموش شدن ندارد، به کار خود ادامه دهد.
برای مثال، رایانه HP NetServer LH4 به طور پیشفرض دارای ۳ منبع تغذیه نصبشده است و یک محفظه خالی دارد. این دستگاه دو کابل برق دارد، یکی در هر طرف کیس. این یعنی یک کابل برق به دو محفظه منبع تغذیه برق میرساند، و شما فقط میتوانید دو UPS تغذیهکننده برق داشته باشید.
دستگاه UPS با نام "alpha" را به کابلی که دو منبع تغذیه را تغذیه میکند وصل کنید، و UPS با نام "beta" را به کابلی که منبع سوم و اسلات خالی را تغذیه میکند وصل نمایید. مقدار توان alpha را برابر ۲ و beta را برابر ۱ تعریف کنید. مقدار MINSUPPLIES را روی ۲ قرار دهید.
وقتی alpha روی باتری میرود، مقدار کل توان فعلی شما در ۳ باقی میماند، زیرا هنوز برق تامین میکند. با این حال، به محض اینکه به حالت بحرانی برود (روی باتری و باتری ضعیف)، دیگر در مقدار کل توان فعلی مشارکتی نخواهد داشت. این بدان معناست که مقدار برابر ۱ خواهد شد (تنها beta)، که کمتر از ۲ است. این مقدار برای اجرای سیستم ناکافی است، و upsmon دنباله خاموشسازی را فراخوانی میکند.
اما اگر beta بحرانی شود، کم کردن سهم آن مقدار کل فعلی را از ۳ به ۲ میرساند. این مقدار برای برآورده کردن حداقل کافی است، بنابراین سیستم مانند قبل به کار خود ادامه خواهد داد. اگر beta بعداً بازگردد، دوباره اضافه میشود و مقدار فعلی به ۳ بازمیگردد. این به شما امکان میدهد تا زمانی که حداقل مقدار توان را در تمام اوقات حفظ کنید، UPSها را تعویض کنید، پیکربندی توان را تغییر دهید یا هر کار دیگری انجام دهید.
عملیات ترکیبی (MIXED OPERATIONS)
علاوه بر توانایی پایش چندین UPS، upsmon میتواند آنها را در نقشهای مختلف نیز پایش کند. اگر سیستمی با چندین منبع تغذیه دارید که توسط باتریهای UPS جداگانه سرویسدهی میشوند، این امکان وجود دارد که روی یک UPS در نقش اصلی (primary) و روی دیگری در نقش ثانویه (secondary) باشید. این حالت معمولاً زمانی رخ میدهد که درگاههای سریال یا USB شما تمام شده باشند و لازم باشد پایش را از طریق سیستم دیگری در آن نزدیکی انجام دهید.
این حالت نیز پیچیده است، به خصوص زمانی که نوبت به خاموش کردن یک UPS میرسد که بحرانی شده اما سیستم محلی را تغذیه نمیکند. میتوانید این کار را با استفاده از اسکریپتنویسی در اسکریپت دستور اعلان خود انجام دهید، اما فراتر از محدوده این راهنما است.
خاموشسازیهای اجباری (FORCED SHUTDOWNS)
وقتی upsmon مجبور میشود سیستم محلی را خاموش کند، فلگ "FSD" (خاموشسازی اجباری) را روی تمام UPSهایی که در حالت primary اجرا میکند تنظیم مینماید. این کار برای همگامسازی سیستمهای secondary در شرایطی استفاده میشود که یک سیستم primary که در غیر این صورت مشکلی ندارد، به دلیل رخ دادن رویدادی اضطراری روی سیستم مدیریت UPS باید خاموش شود.
میتوانید این حالت را روی سیستمی با upsmon در حالت primary به صورت دستی با اجرای نسخه دیگری از برنامه با آرگومان خط فرمان -c fsd فراخوانی کنید. این قابلیت زمانی مفید است که میخواهید پیش از رسیدن به مرحله بحرانی، خاموشسازی را از طریق ابزارهای بیرونی مانند upssched(8) آغاز کنید.
برای دیدگاه فنیتر، لطفاً بخش گردش کار فعالیت خاموشسازی را ببینید.
هشدار
لطفاً توجه داشته باشید که طبق طراحی، از آنجا که نیاز به خاموش و روشن کردن بار داریم و نمیخواهیم در صورت بازگشت برق شهر در لحظه نامناسب، برخی سیستمها خاموش شده و برخی دیگر روشن بمانند، فلگ "FSD" از سرور داده حذف نمیشود مگر اینکه دیمن آن راهاندازی مجدد شود. اگر گام نخست را در حالت بحرانی برداریم، معمولاً قصد داریم تمام مسیر را تا انتها طی کنیم — یعنی تمام سرورها را به آرامی خاموش کنیم و UPS را خاموش نماییم.
در نظر داشته باشید که برخی دستگاههای UPS و درایورهای مربوطه نیز وضعیت "FSD" را مجدداً قفل یا آشکار میکنند حتی اگر برق شهر وصل باشد، اما شارژ باتری باقیمانده کمتر از آستانه پیکربندیشده به عنوان "ایمن" در دستگاه باشد (معمولاً اگر پس از یک قطعی طولانی برق، UPS را به صورت دستی روشن کنید). این امر طبق طراحی سازندگان مربوطه UPS انجام میشود، زیرا در چنین شرایطی آنها نمیتوانند تضمین کنند که در صورت وقوع قطعی جدید برق، دستگاه UPS آنها بتواند مجدداً سیستمهای شما را با امنیت خاموش کند. بنابراین خاموش ماندن سیستمها تا شارژ کافی باتریها، بهتر و ایمنتر تلقی میشود.
هنگام فرارسیدن زمان خاموشسازی، upsmon فایل POWERDOWNFLAG را ایجاد میکند تا به سیستمعامل اطلاع دهد که UPS باید در مراحل پایانی دنباله خاموشسازی خاموش شود. این فایل در صورت وجود، هنگام شروع به کار upsmon حذف میشود تا خاموشسازی عادی بعدی موجب خاموش شدن UPS نشود. (به طور کلی این فایل را نمیتوان در طول خاموشسازی حذف کرد زیرا ممکن است سیستم فایل فقطخواندنی شده باشد. اگر فایل در یک فایلسیستم مبتنی بر RAM باشد، وجود نخواهد داشت و بررسی برای حذف آن انجام نخواهد شد.)
شبیهسازی قطعی برق (SIMULATING POWER FAILURES)
برای آزمایش خاموشسازی همگامشده بدون کشیدن دوشاخه UPSها، فقط کافی است فلگ خاموشسازی اجباری (FSD) را روی آنها تنظیم کنید. میتوانید این کار را با فراخوانی مجدد upsmon برای تنظیم فلگ انجام دهید، یعنی:
:; upsmon -c fsd
پس از آن، سیستم اصلی و ثانویه دنباله معمول خاموشسازی خود را طوری انجام میدهند که گویی باتری بحرانی شده است، در حالی که شما میتوانید زمان صرفشده برای آنها را اندازهگیری کنید. این کار برای تجهیزات UPS شما بسیار راحتتر است و از خزیدن زیر میز برای یافتن دوشاخه بهتر است.
توجه داشته باشید که میتوانید از تنظیم ساختگی SHUTDOWNCMD نیز استفاده کنید تا فقط گزارش دهد که سیستمها در این نقطه خاموش میشوند، بدون اینکه در عمل کار آنها را مختل کند.
برای الگوبرداری، میتوانید پیکربندی انجامشده توسط مجموعه تستهای یکپارچهسازی NUT را در دایرکتوری tests/NIT در سورسهای NUT مشاهده کنید، از جمله ارجاع به اسکریپتهای خاموشسازی و اعلان که فقط فعالیت را ثبت میکنند (ممکن است مجبور شوید حداقل یک ساخت ساده از NUT را پیکربندی کرده و make check-NIT-sandbox را اجرا کنید تا برخی فایلهای پیکربندی تولید شوند — یا اسکریپت nit.sh را که آنها را به هم متصل میکند بررسی کنید). به طور خاص، scripts/misc/notifyme-debug را نه تنها به عنوان یک ثبتکننده وقایع، بلکه اختیاری به عنوان پوششدهنده upssched (در اجراهای آزمایشی) ببینید، و clients/upssched-cmd را به عنوان پیادهسازی نمونهای از یک CMDSCRIPT در upssched(8) که آن هم بر ثبت وقایع تمرکز دارد بررسی نمایید.
هشدار
پس از چنین آزمایشهای ساختگی، ممکن است لازم باشد سرور داده NUT یعنی upsd را مجدداً راهاندازی کنید تا فلگ "FSD" آن برای دستگاهها و کلاینتهای درگیر پاک شود، و مطمئن شوید هیچ فایلی که نام آن در گزینه POWERDOWNFLAG ذکر شده است (مانند /etc/killpower) روی سیستمهای primary برنامه upsmon تحت آزمایش باقی نماند.
گردش کار فعالیت خاموشسازی (SHUTDOWN ACTIVITY WORKFLOW)
با نگاهی به سورسکدهای clients/upsmon.c به عنوان مرجع نهایی، میتوانید زنجیره رخدادها را در طول یک خاموشسازی اجباری بیابید. این میتواند به درک متغیرهای زمانی درگیر و اعلانهای ارسالی (که ممکن است بخواهید آنها را مدیریت کنید، شاید با upssched(8)) کمک کند:
توجه داشته باشید که اگر upsmon شما به بخشهای دارای امتیاز و بدون امتیاز تقسیم شده باشد، تمام اعلانها در زمینه غیرممتاز اجرا میشوند (اسکریپتهای مدیریتی شما ممکن است در صورت نیاز به انجام کاری روی سیستم، نیاز به استفاده صریح از sudo داشته باشند). فقط SHUTDOWNCMD در زمینه ممتاز فراخوانی میشود.
دستگاههای UPS از دسترفته (DEAD UPSES)
در صورتی که upsmon نتواند به upsd(8) دسترسی پیدا کند، پس از فاصلهای که با DEADTIME در upsmon.conf(5) کنترل میشود، آن UPS را «مرده» اعلام میکند. اگر این اتفاق در حالی بیفتد که آن UPS آخرین بار در وضعیت کار روی باتری شناخته شده بود، فرض میشود که به وضعیت بحرانی رسیده و دیگر در مقدار کل توان مشارکتی ندارد.
برنامه upsmon به طور پیشفرض هر ۳۰۰ ثانیه یک بار با یک اعلاندهنده "NOCOMM" به شما در مورد دستگاه UPS که امکان تماس با آن برای پایش وجود ندارد هشدار میدهد. این مقدار را میتوان با تنظیم NOCOMMWARNTIME تغییر داد.
همچنین upsmon معمولاً خرابیهای نظرسنجی را برای هر دستگاه که در هر حلقه POLLFREQ وجود دارد (مثلاً "Data stale" یا "Driver not connected") طبق پیکربندی به لاگ سیستم گزارش میدهد. اگر انتظار میرود دستگاههای شما برای مدتی طولانی در دسترس نباشند، میتوانید از POLLFAIL_LOG_THROTTLE_MAX برای کاهش فشار روی ترافیک و ذخیرهسازی syslog استفاده کنید، از طریق ارسال این پیامها فقط یک بار در هر چند چرخه حلقه، و زمانی که شرایط خطا تغییر کرده یا برطرف شده باشد. یک مقدار منفی به معنای رفتار استاندارد است (ثبت در هر حلقه، عملاً مانند حالتی که max=1 باشد)، و مقدار صفر به معنای عدم تکرار پیام است (فقط در آغاز و پایان/تغییر وضعیت خرابی ثبت شود).
توجه داشته باشید که این محدودکننده فقط بر یک وضعیت خطای فعال اخیر برای هر دستگاه پایششده اعمال میشود.
هشدارهای UPS (UPS ALARMS)
سازندگان UPS و درایورهای UPS ممکن است هشدارهای مختص دستگاه را برای آگاهسازی کاربر از شرایط بالقوه وخیم UPS پیادهسازی کنند. وضعیت "ALARM" به عنوان مخرج مشترک پیادهسازیهای مختلف در میان درایورهای گوناگون UPS و به طور کلی هر زمان که متغیر "ups.alarm" توسط درایور خاص UPS گزارش شود، روی آن UPS تنظیم خواهد شد.
کاربر میتواند با استفاده از اعلاندهندههای "ALARM" و "NOTALARM" که توسط upsmon هنگام رخ دادن یا برطرف شدن وضعیت "ALARM" گزارش میشوند، واکنش نشان دهد.
از آنجا که هشدارهای اعلامشده توسط UPS معمولاً ماهیتی وخیم دارند، upsmon دستگاه UPS در چنین وضعیتی را از نزدیکتر زیر نظر میگیرد و فرکانس نظرسنجی را در صورت نیاز افزایش میدهد.
هنگامی که قطعی اتصال در چنین وضعیت هشداری رخ دهد، upsmon به طور پیشفرض UPS ناپایدار را بحرانی/از دسترفته در نظر میگیرد و این امر در صورتی که هشدار واقعی در عمل ماهیتی عادی داشته باشد (مثلاً ناشی از حالت HE/ECO)، ممکن است منجر به خاموشسازیهای اشتباه شود. این رفتار را میتوان با استفاده از تنظیم ALARMCRITICAL در upsmon.conf تغییر داد.
ظرافتهای بازخوانی (RELOADING NUANCES)
برنامه upsmon معمولاً اختیارات کاربر root را برای پردازشی که بیشترین کار را انجام میدهد، از جمله مدیریت سیگنالهایی مانند SIGHUP برای بازخوانی فایل پیکربندی، واگذار میکند. این بدان معنی است که فایل upsmon.conf(5) شما باید توسط حساب کاربری غیرریشهای که upsmon به آن تغییر وضعیت میدهد قابل خواندن باشد.
اگر میخواهید بازخوانی کار کند، upsmon باید به عنوان کاربری اجرا شود که دسترسی خواندن فایل پیکربندی را دارد. توصیه میکنیم یک کاربر جدید صرفاً برای این منظور ایجاد کنید، زیرا قابل خواندن کردن فایل توسط "nobody" (کاربر پیشفرض) ایده بدی خواهد بود؛ بستهها معمولاً همراه با یک کاربر nut یا ups برای اجرای سرویسهای دیمن NUT عرضه میشوند.
برای اطلاعات بیشتر در این مورد به بخش RUN_AS_USER در upsmon.conf(5) مراجعه کنید.
علاوه بر این، به دلیل مدل دو پردازشی، نمیتوانید تعاریف SHUTDOWNCMD یا POWERDOWNFLAG را با یک بازخوانی مجدد تغییر دهید. اگر آن مقادیر را تغییر دهید، باید upsmon را متوقف کرده و مجدداً راهاندازی کنید. upsmon در صورت تغییر هر یک از این مقادیر در طول بازخوانی، در syslog به شما هشدار خواهد داد.
متغیرهای محیطی (ENVIRONMENT VARIABLES)
NUT_DEBUG_LEVEL در صورتی که هیچ آرگومان -D در خط فرمان ارائه نشده باشد سطح پرگویی پیشفرض اشکالزدایی را تنظیم میکند، اما درخواست اجرای دیمن در حالت پیشزمینه را صادر نمیکند.
NUT_CONFPATH نام مسیر دایرکتوری است که شامل upsmon.conf و سایر فایلهای پیکربندی است. اگر این متغیر تنظیم نشده باشد، upsmon از مقدار پیشفرض توکار استفاده میکند که اغلب /usr/local/ups/etc است.
NUT_QUIET_INIT_UPSNOTIFY=true میتواند برای جلوگیری از ارسال اعلان توسط دیمنهایی استفاده شود که میتوانند چارچوبهای مدیریت سرویس (مانند systemd) را از گذر از نقاط عطف چرخه حیات خود مطلع سازند (از جمله اعلانهای مربوط به عدم پشتیبانی سیستم از چنین ویژگیهای مدرنی، یک بار در هر اجرا).
NUT_QUIET_INIT_BANNER=true میتواند برای سرکوب بنر نام و نسخه ابزار NUT استفاده شود. به دلیل تاثیر نامطلوب در عیبیابی برای سرویسها توصیه نمیشود، اما ممکن است در پروفایلهای شل یا اسکریپتهایی که خروجیهای ابزار NUT را پردازش میکنند مفید باشد.
فایلها (FILES)
همچنین ببینید (SEE ALSO)
سرور:
کلاینتها:
برنامههای CGI:
منابع اینترنتی:
صفحه خانگی NUT (Network UPS Tools): https://www.networkupstools.org/historic/v2.8.5
| 06/21/2026 | Network UPS Tools 2.8.5 |