UPSSTATS.HTML(5) NUT Manual UPSSTATS.HTML(5)
نام (NAME)
upsstats.html - قالب HTML برای ابزار تحت وب upsstats در Network UPS
Tools
توضیحات (DESCRIPTION)
این فایل، و فایل همساختار upsstats-single.html برای برخی موارد کاربرد
خاص، توسط upsstats.cgi(8) جهت تولید صفحات وضعیت CGI در NUT استفاده
میشوند. دستورات مشخصی شناسایی شده و به صورت بلادرنگ با عناصر گوناگون
وضعیت جایگزین خواهند شد.
به عنوان یک بررسی امنیتی، فایل باید حتماً با دستور
@NUT_UPSSTATS_TEMPLATE@ شروع شود.
برای جزئیات بیشتر در خصوص پیکربندی برخی وبسرورهای پرکاربرد جهت اجرای
برنامههای CGI در NUT، لطفاً به صفحه راهنمای upsset.conf(5) مراجعه کنید.
نکته
این فایل قالب باید در مسیر پیکربندی NUT قرار گیرد. اگر از یک رونوشت
اختصاصی از آن دایرکتوری استفاده میکنید یا نسخهای که توسط باینریهای
منتقلشده به مکانهای cgi-bin وبسرور شما شناسایی نمیشود (مانند
ساختهای NUT برای ویندوز که به طور پیشفرض مسیرها را نسبت به هر
باینری جستجو میکنند)، صادر کردن متغیر محیطی NUT_CONFPATH را از
وبسرور مد نظر قرار دهید.
نکته
در پلتفرمهایی با پسوندهای الزامی برای نام فایلهای برنامه، مانند
ویندوز، ممکن است مجبور شوید به عنوان مثال از پسوند *.cgi.exe برای
برنامهها در فایلهای قالب HTML استفاده کنید (مانند UPSSTATSPATH و
UPSIMAGEPATH).
قالببندی (FORMATTING)
دستورات میتوانند در هر کجای یک خط قرار گیرند، اما باید با @ آغاز شده و
با @ پایان یابند.
هرگونه نویسه اضافی قبل یا بعد از دستورات بدون تغییر عبور داده خواهد شد.
استفاده از بیش از یک دستور در یک خط مجاز است، مادامی که هر دستور دارای
نویسه شروع و پایان مختص به خود باشد.
اگر نیاز به استفاده از نویسه @ دارید، از موجودیت HTML به صورت @
استفاده کنید تا به عنوان نویسه شروع تلقی نشود.
کنترل بلوک (BLOCK CONTROL)
برخی دستورات بلوکها را آغاز میکنند — بخشهایی از قالب که بسته به
پارامترهای معین، گنجانده، حذف یا تکرار میشوند.
کنترل بلوک - تکرار (BLOCK CONTROL - ITERATION)
@FOREACHUPS@
بلوکی را آغاز میکند که برای هر دستورالعمل MONITOR در hosts.conf(5)
تکرار خواهد شد. به این ترتیب میتوانید صفحاتی تولید کنید که تمامی
سیستمهای شما را به صورت همزمان نظارت میکنند.
@ENDFOR@
به یک بلوک FOREACHUPS پایان میدهد.
کنترل بلوک - تطبیق موارد خاص (BLOCK CONTROL - MATCHING SPECIFIC CASES)
@IFSUPP var@*
بلوکی را آغاز میکند که فقط در صورت پشتیبانی متغیر var توسط یوپیاس
جاری چاپ خواهد شد. این دستور عموماً برای جلوگیری از نمایش پیامهای
"not supported" با اجتناب کامل از فراخوانی برچسب و متغیر به کار
میرود.
@IFEQ var value@
بلوکی را آغاز میکند اگر مقدار بازگرداندهشده از متغیر var با value
مطابقت داشته باشد.
نکته
میتوانید از @IFEQ upsstats.use_celsius (0|1)@ برای بررسی تنظیم
فعلی کلید تغییر وضعیت @TEMPC@ یا @TEMPF@ استفاده کنید.
@IFBETWEEN varlow varhigh varvalue@
بلوکی را آغاز میکند اگر مقدار بازگرداندهشده توسط متغیر varvalue بین
مقادیر بازگرداندهشده توسط متغیرهای varlow و varhigh باشد.
@ELSE@
اگر دستور IF قبلی مطابقت نداشت، به جای آن این بخش را اجرا میکند.
@ENDIF@
به یک بلوک IF/ELSE پایان میدهد.
کنترل بلوک - عبارات پیشرفته (BLOCK CONTROL - ADVANCED EXPRESSIONS)
اگرچه تجزیهکننده تا حدودی محدود است، اما همچنان امکان ساخت عبارات نسبتاً
پیشرفته وجود دارد. کلید دستیابی به این هدف، این واقعیت است که چند دستور
کنترل بلوک با یکدیگر AND میشوند. این ساختار با یک مثال شرح داده شده است
(مثالهای بیشتر در upsstats.html موجود است).
@IFSUPP ambient.humidity@
@IFSUPP ambient.temperature@
این یوپیاس هم دمای محیط و هم رطوبت محیط را میشناسد.
@ELSE@
@IFSUPP ambient.humidity@
این یوپیاس فقط رطوبت محیط را میشناسد.
@ELSE@
@IFSUPP ambient.temperature@
این یوپیاس فقط دمای محیط را میشناسد.
@ELSE@
این یوپیاس چیزی نمیداند، چه آزاردهنده.
@ENDIF@
سایر دستورات (OTHER COMMANDS)
@NUT_UPSSTATS_TEMPLATE [args]@
فایل قالب الزاماً باید دقیقاً با @NUT_UPSSTATS_TEMPLATE@ یا
@NUT_UPSSTATS_TEMPLATE Some text@ آغاز شود تا upsstats.cgi(8) وادار
به نمایش فایلهای دلخواه نشود.
در حال حاضر این دستور و آرگومانهای آن نادیده گرفته میشوند؛ قالبهای
ارائهشده همراه با NUT از مقادیر آرگومان "default" و "single" عملاً
به عنوان توضیحاتی برای اشکالزدایی و عیبیابی استفاده میکنند.
@UPSSTATSPATH filename@
شناسه URI برای برنامه upsstats.cgi(8) که در ارجاعات HTML قرار
میگیرد. حالت پیشفرض نام برنامه است که آن را به پیوندی نسبی با صفحه
در حال نمایش در مرورگر تبدیل میکند.
ممکن است لازم باشد پسوند نام فایل برنامه مختص به پلتفرم را نیز شامل
شود، مانند @UPSSTATSPATH upsstats.cgi.exe@
@UPSIMAGEPATH filename@
شناسه URI برای برنامه upsimage.cgi(8) که در ارجاعات HTML قرار
میگیرد. حالت پیشفرض نام برنامه است که آن را به پیوندی نسبی با صفحه
در حال نمایش در مرورگر تبدیل میکند.
ممکن است لازم باشد پسوند نام فایل برنامه مختص به پلتفرم را نیز شامل
شود، مانند @UPSIMAGEPATH upsimage.cgi.exe@
@AMBTEMP@
درج دمای محیط در مقیاس دمایی فعلی.
@DATE format@
درج تاریخ و زمان فعلی. رشته قالببندی به strftime ارسال میشود،
بنابراین تقریباً هر قالبی امکانپذیر است. برای مقادیر مجاز به
strftime(3) مراجعه کنید.
@DEGREES@
درج نویسه موجودیت برای درجه (°) و سپس C یا F بسته به مقیاس دمای
فعلی.
@HOST@
درج شناسه میزبانی که نظارت میشود، مانند myups@localhost.
@HOSTDESC@
درج شرح میزبان از hosts.conf(5).
@HOSTLINK@
درج یک پیوند HTML به upsstats.cgi(8) در حالی که متغیر "host" روی
یوپیاس جاری تنظیم شده است. این دستور تنها درون یک بلوک FOREACHUPS
کاربرد دارد.
@TREELINK [Link text]@
درج یک پیوند HTML به upsstats.cgi(8) در حالی که متغیر "host" روی
یوپیاس جاری تنظیم شده و "treemode" برای نمایش تمام نقاط داده به
صورت یک صفحه HTML فعال است. این دستور در وهله اول درون یک بلوک
FOREACHUPS مفید است، اما به عنوان پاورقی در upsstats-single.html
نیز کاربرد دارد. در صورتی که "Link text" ارائه نشود، مقدار پیشفرض
آن "All data" خواهد بود.
@TREELINK_JSON [Link text]@
درج یک پیوند HTML به upsstats.cgi(8) در حالی که متغیر "host" روی
یوپیاس جاری تنظیم شده و "treemode" برای نمایش تمام نقاط داده به
صورت یک سند JSON فعال است. این دستور در وهله اول درون یک بلوک
FOREACHUPS مفید است، اما به عنوان پاورقی در upsstats-single.html
نیز کاربرد دارد. در صورتی که "Link text" ارائه نشود، مقدار پیشفرض
آن "JSON" خواهد بود.
@IMG varname @
درج یک تگ IMG SRC به upsimage.cgi(8) برای یکی از این متغیرهای
وضعیت:
battery.charge
شارژ باتری — بر حسب درصد
battery.voltage
میزان شارژ باتری بر حسب ولت
input.frequency
فرکانس برق ورودی (هرتز)
input.voltage
ولتاژ برق ورودی
input.L1-L2.voltage
ولتاژ ورودی، L1-L2 (سه فاز)
input.L2-L3.voltage
ولتاژ ورودی، L2-L3 (سه فاز)
input.L3-L1.voltage
ولتاژ ورودی، L3-L1 (سه فاز)
output.frequency
فرکانس برق خروجی (هرتز)
output.voltage
ولتاژ خروجی (از یوپیاس)
output.L1-L2.voltage
ولتاژ خروجی، L1-L2 (سه فاز)
output.L2-L3.voltage
ولتاژ خروجی، L2-L3 (سه فاز)
output.L3-L1.voltage
ولتاژ خروجی، L3-L1 (سه فاز)
output.L1.power.percent
بار یوپیاس، L1 (سه فاز)
output.L2.power.percent
بار یوپیاس، L2 (سه فاز)
output.L3.power.percent
بار یوپیاس، L3 (سه فاز)
ups.load
بار یوپیاس — بر حسب درصد
ups.temperature
دمای یوپیاس
بخش extra جایی است که میتوانید تعاریف اضافی را در آن قرار دهید. در حال
حاضر تعاریف معتبر، رنگها برای بخشهای مختلف نوارهای رسمشده توسط
upsimage.cgi(8) هستند. نامهای مجاز رنگ عبارتند از:
back_col
رنگ پسزمینه
scale_num_col
رنگ شمارههای مقیاس
summary_col
رنگ خلاصه (عدد در پایین)
ok_zone_maj_col
رنگ مقیاس اصلی برای ناحیه عادی ("ok")
ok_zone_min_col
رنگ مقیاس فرعی برای ناحیه عادی ("ok")
neutral_zone_maj_col
رنگ مقیاس اصلی برای ناحیه خنثی
neutral_zone_min_col
رنگ مقیاس فرعی برای ناحیه خنثی
warn_zone_maj_col
رنگ مقیاس اصلی برای ناحیه هشدار
warn_zone_min_col
رنگ مقیاس فرعی برای ناحیه هشدار
bar_col
رنگ نوار در وسط
تمام رنگها سهتاییهای هگزادسیمال هستند — مانند 0xff0000 برای قرمز،
0x00ff00 برای سبز و 0x0000ff برای آبی.
مثالها:
@IMG battery.charge@
@IMG battery.charge back_col=0xff00ff bar_col=0xaabbcc@
@IMG input.voltage ok_zone_maj_col=0x123456@
@REFRESH@
درج جادوی هدر META برای تازهسازی صفحه در صورتی که این متغیر توسط
مرورگر تنظیم شده باشد. این دستور باید در بخش HEAD صفحه قرار گیرد.
@STATUS separator@, @STATUS@
گسترش اختصارات در متغیر ups.status — عبارت OL به "On line"، عبارت
OB به "On battery" و موارد دیگر تبدیل میشود. مقادیر گزارششده توسط
جداکننده اختیاری مشخصشده جدا میشوند (
اگر مشخص نشده باشد)، که
از نویسه بعدی پس از "STATUS" آغاز میشود (به عنوان مثال، یک
دستورالعمل @STATUS @ ممکن است برای اجتناب از هرگونه جداسازی استفاده
شود، یا @STATUS @ برای جداسازی با فاصله).
@STATUSCOLOR@
درج سهتاییهای رنگ قرمز، سبز یا زرد بسته به شدت وضعیت فعلی یوپیاس.
عملیات عادی سبز است، هشدارهایی مانند تقویت یا کاهش ولتاژ
(trim/boost) یا "off" زرد هستند، و رویدادهای دیگر مانند کار روی
باتری یا باتری ضعیف قرمز هستند.
@VAR varname@
درج مقدار فعلی متغیر وضعیت varname در میزبان تحت نظارت، یا عبارت
"Not supported".
@RUNTIME@
درج زمان کارکرد فعلی، در قالب hh:mm:ss.
@TEMPC@
استفاده از مقیاس سلسیوس برای دادههای دما (پیشفرض).
@TEMPF@
استفاده از مقیاس فارنهایت برای دادههای دما.
@UPSTEMP@
درج دمای یوپیاس در مقیاس فعلی.
@BATTTEMP@
درج دمای باتری در مقیاس فعلی.
@UTILITYCOLOR@
منسوخ شده است. به جای آن از IFBETWEEN استفاده کنید (مثال موجود در
upsstats.html را ببینید).
@VERSION@
درج شماره نسخه نرمافزار.
سایر قالبها (OTHER TEMPLATES)
upsstats.cgi(8) همچنین فایلی به نام upsstats-single.html را در صورت
فراخوانی با مقدار host= تنظیمشده در URL باز خواهد کرد. آن فایل از همان
قوانین و تکنیکهای مستندشده در اینجا استفاده میکند.
همچنین ببینید (SEE ALSO)
upsstats.cgi(8), upsimage.cgi(8)
منابع اینترنتی: (Internet resources:)
صفحه اصلی NUT (Network UPS Tools):
https://www.networkupstools.org/historic/v2.8.5
Network UPS Tools 2.8.5 06/21/2026 UPSSTATS.HTML(5)