UPSSTATS.CGI(8) NUT Manual UPSSTATS.CGI(8)

upsstats.cgi - نمایشگر وضعیت UPS مبتنی بر وب

upsstats.cgi


یادداشت

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

upsstats.cgi یک کلاینت فقط‌خواندنی NUT است که از فایل‌های الگو برای ساخت صفحات وب حاوی اطلاعات وضعیت سخت‌افزار UPS استفاده می‌کند. این ابزار می‌تواند بخش‌هایی از آن فایل‌های الگو را برای نظارت هم‌زمان بر چندین دستگاه تکرار کند، یا بر یک UPS منفرد متمرکز شود.

این الگوها همچنین می‌توانند شامل ارجاعاتی به upsimage.cgi(8) برای نمایش گرافیکی سطوح شارژ باتری، خوانش‌های ولتاژ و بار مصرفی UPS باشند.

برای جزئیات بیشتر درباره پیکربندی وب‌سرورهای پرکاربرد جهت اجرای برنامه‌های CGI مربوط به NUT، لطفاً به صفحه upsset.conf(5) مراجعه کنید.


یادداشت

در پلتفرم‌هایی با پسوندهای الزامی نام فایل اجرایی (مانند ویندوز)، ممکن است نیاز باشد برای نمونه از پسوند *.cgi.exe برای برنامه‌ها در فایل‌های الگوی HTML (مانند UPSSTATSPATH و UPSIMAGEPATH) استفاده کنید.

دستور upsstats فقط با سرورهای upsd(8) که در hosts.conf(5) شما تعریف شده‌اند گفتگو می‌کند. اگر این ابزار با پیام "Access to that host is not authorized" خطا داد، ابتدا آن فایل را بررسی کنید.

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

فایل پیش‌فرض مورد استفاده برای بازبینی کلی دستگاه‌ها upsstats.html است. یک الگوی جایگزین می‌تواند از طریق گزینه پرس‌وجوی CGI به‌صورت &template_list=... تعیین شود؛ فایل مربوطه باید از طریق گزینه CUSTOM_TEMPLATE_LIST در hosts.conf(5) مجاز شده باشد.

هنگام نظارت بر یک UPS منفرد، فایل نمایش‌داده‌شده upsstats-single.html است. یک الگوی جایگزین می‌تواند از طریق گزینه پرس‌وجوی CGI به‌صورت &template_single=... تعیین شود؛ فایل مربوطه باید از طریق گزینه CUSTOM_TEMPLATE_SINGLE در hosts.conf(5) مجاز شده باشد.

الگوهای جایگزین باید ساختاری مشابه الگوهای پیش‌فرض داشته باشند، در همان دایرکتوری قرار گیرند، و نام فایل آن‌ها حاوی .htm باشد. می‌توانید این مورد را در بخش رشته پرس‌وجوی URI (برای مثال، در index.html محلی خود یا خانه‌های اضافه‌شده به header.html) مشخص کنید، به عنوان مثال:

.../cgi-bin/upsstats.cgi?template_single=custom-s.html&template_list=custom-l.html

قالب این فایل‌ها، از جمله دستورات معتبر، در upsstats.html(5) مستند شده است.

علاوه بر پردازش الگوهای HTML، upsstats.cgi می‌تواند با افزودن پارامتر json به رشته پرس‌وجو (مانند ?json یا &json) به عنوان یک API از نوع JSON فراخوانی شود.

هنگامی که این پارامتر وجود داشته باشد، اسکریپت CGI تجزیه تمام الگوهای HTML را نادیده گرفته و به جای آن یک شیء JSON بازمی‌گرداند.

ساختار خروجی JSON به این بستگی دارد که آیا پارامتر host نیز ارائه شده است یا خیر:

•چندمیزبانی (پیش‌فرض): اگر پارامتر host مشخص نشده باشد، اسکریپت یک شیء JSON واحد حاوی کلید "devices" بازمی‌گرداند. این کلید حاوی یک آرایه است که هر عنصر آن یک شیء JSON نشان‌دهنده یک UPS تحت نظارت است.
•حالت تک‌میزبان: اگر پارامتر host مشخص شده باشد (مانند ?host=myups@localhost&json)، اسکریپت یک شیء JSON واحد برای آن UPS بازمی‌گرداند (درون یک آرایه "devices" قرار نخواهد گرفت).

در هر دو حالت، هر شیء UPS شامل موارد زیر است:

•host: شناسه UPS (مانند "myups@localhost")
•desc: توضیحات میزبان برگرفته از hosts.conf
•status_raw: رشته خام وضعیت (مانند "OL")
•status_parsed: آرایه‌ای از رشته‌های وضعیت خوانا برای انسان (مانند ["Online"])
•vars: شیئی حاوی درخت کامل تمام متغیرهای موجود برای آن UPS (مانند "battery.charge": "100"، "ups.model": "...")

hosts.conf(5)، upsstats.html(5)، upsstats-single.html

upsimage.cgi(8)

صفحه اصلی NUT (Network UPS Tools): https://www.networkupstools.org/historic/v2.8.5

06/21/2026 Network UPS Tools 2.8.5