scripts:php
Страница мониторинга ИБП по SNMP
<!DOCTYPE html> <html lang="en"> <head> <title>UPS SNMP monitoring page</title> </head> <body> <?php // UPS IP $apcSymmetra0130 = "10.11.220.11"; $apcSymmetra2326 = "10.11.220.12"; $apcSmart3129 = "10.11.220.13"; $delta4023 = "10.11.220.14"; // SNMP settings $snmpGroup = "public"; $timeout = 10000; $retry = 100; // Delta OIDs $deltaModel = ".1.3.6.1.2.1.33.20.1.1.0"; $deltaModel2 = ".1.3.6.1.2.1.33.20.1.2.0"; $deltaInputVoltage = ".1.3.6.1.2.1.33.1.3.3.1.3.1"; $deltaTemp = ".1.3.6.1.2.1.33.1.2.7.0"; $deltaLoad = ".1.3.6.1.2.1.33.1.4.4.1.5.1"; $deltaAlarm = ".1.3.6.1.2.1.33.1.6.1.0"; // APC OIDs $apcModel = ".1.3.6.1.4.1.318.1.1.1.1.1.1.0"; $apcSN = ".1.3.6.1.4.1.318.1.1.1.1.2.3.0"; $apcInputVoltage = ".1.3.6.1.4.1.318.1.1.1.3.2.1.0"; $apcTemp = ".1.3.6.1.4.1.318.1.1.1.2.2.2.0"; $apcLoad = ".1.3.6.1.4.1.318.1.1.1.4.2.3.0"; // $apcAlarm = ".1.3.6.1.2.1.33.1.6.1.0"; ?> <h2>Отчёт о состоянии ИБП</h2> <table style="text-align: left;" border="1" cellpadding="2" cellspacing="2"> <tbody> <tr style="font-weight: bold;"> <td style="vertical-align: top;">Местоположение<br> </td> <td style="vertical-align: top;">Название устройства<br> </td> <td style="vertical-align: top;">Серийный номер<br> </td> <td style="vertical-align: top;">Входящее напряжение (В)<br> </td> <td style="vertical-align: top;">Температура (°C)<br> </td> </tr> <tr> <td style="vertical-align: top;">каб. 0130 </td> <td style="vertical-align: top;"><?php $apcModelInfo = substr(snmpget("$apcSymmetra0130", "$snmpGroup", "$apcModel", "$timeout", "$retry"), 9, -1); echo $apcModelInfo; ?> </td> <td style="vertical-align: top;"><?php $apcSNInfo = substr(snmpget("$apcSymmetra0130", "$snmpGroup", "$apcSN", "$timeout", "$retry"), 9, -1); echo $apcSNInfo; ?> </td> <td style="vertical-align: top;"><?php $apcInputVoltageInfo = substr(snmpget("$apcSymmetra0130", "$snmpGroup", "$apcInputVoltage", "$timeout", "$retry"), 8, 4); echo $apcInputVoltageInfo; ?> </td> <td style="vertical-align: top;"><?php $apcTempInfo = substr(snmpget("$apcSymmetra0130", "$snmpGroup", "$apcTemp", "$timeout", "$retry"), 8, 4); echo $apcTempInfo; ?> </td> </tr> <tr> <td style="vertical-align: top;">каб. 2326 </td> <td style="vertical-align: top;"><?php $apcModelInfo = substr(snmpget("$apcSymmetra2326", "$snmpGroup", "$apcModel", "$timeout", "$retry"), 9, -1); echo $apcModelInfo; ?> </td> <td style="vertical-align: top;"><?php $apcSNInfo = substr(snmpget("$apcSymmetra2326", "$snmpGroup", "$apcSN", "$timeout", "$retry"), 9, -1); echo $apcSNInfo; ?> </td> <td style="vertical-align: top;"><?php $apcInputVoltageInfo = substr(snmpget("$apcSymmetra2326", "$snmpGroup", "$apcInputVoltage", "$timeout", "$retry"), 8, 4); echo $apcInputVoltageInfo; ?> </td> <td style="vertical-align: top;"><?php $apcTempInfo = substr(snmpget("$apcSymmetra2326", "$snmpGroup", "$apcTemp", "$timeout", "$retry"), 8, 4); echo $apcTempInfo; ?> </td> </tr> <tr> <td style="vertical-align: top;">каб. 3129 </td> <td style="vertical-align: top;"><?php $apcModelInfo = substr(snmpget("$apcSmart3129", "$snmpGroup", "$apcModel", "$timeout", "$retry"), 9, -1); echo $apcModelInfo; ?> </td> <td style="vertical-align: top;"><?php $apcSNInfo = substr(snmpget("$apcSmart3129", "$snmpGroup", "$apcSN", "$timeout", "$retry"), 9, -1); echo $apcSNInfo; ?> </td> <td style="vertical-align: top;"><?php $apcInputVoltageInfo = substr(snmpget("$apcSmart3129", "$snmpGroup", "$apcInputVoltage", "$timeout", "$retry"), 8, 4); echo $apcInputVoltageInfo; ?> </td> <td style="vertical-align: top;"><?php $apcTempInfo = substr(snmpget("$apcSmart3129", "$snmpGroup", "$apcTemp", "$timeout", "$retry"), 8, 4); echo $apcTempInfo; ?> </td> </tr> <tr> <td style="vertical-align: top;">каб. 4023 </td> <td style="vertical-align: top;"><?php $deltaModelInfo = substr(snmpget("$delta4023", "$snmpGroup", "$deltaModel", "$timeout", "$retry"), 9, -1); $deltaModelInfo2 = substr(snmpget("$delta4023", "$snmpGroup", "$deltaModel2", "$timeout", "$retry"), 9, -2); echo "$deltaModelInfo" . " " . "$deltaModelInfo2"; ?> </td> // Серийник в Дельтах захардкожен, т.к. нет возможности получить его по SNMP <td style="vertical-align: top;">--------------- </td> <td style="vertical-align: top;"><?php $deltaInputVoltageInfo = substr(snmpget("$delta4023", "$snmpGroup", "$deltaInputVoltage", "$timeout", "$retry"), 9, 3); echo "$deltaInputVoltageInfo"; ?> </td> <td style="vertical-align: top;"><?php $deltaTempInfo = substr(snmpget("$delta4023", "$snmpGroup", "$deltaTemp", "$timeout", "$retry"), 8, 4); echo $deltaTempInfo; ?> </td> </tr> </tbody> </table> <p><i>Время формирования отчёта: <?php date_default_timezone_set('Europe/Moscow'); echo date('j F Y G:i:s'); ?> </i> </p> </body> </html>
scripts/php.txt · Последнее изменение: 30.07.2024 19:21 — 127.0.0.1