Инструменты пользователя

Инструменты сайта


scripts:php

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
scripts:php [09.02.2018 09:51] viacheslavscripts:php [30.07.2024 19:21] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== Страница мониторинга ИБП по SNMP ======
 +<code php>
 +<!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>
 +</code>

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki