Logování Vertex na MyPower

S adminem jsme zprovoznili logování Vertexu na MyPower.cz
K logování je třeba síťová karta SNMP zasunuta do Vertexu:
Potom je třeba nějaký stroj, který umí číst data přes SNMP protokol a posílat je ven přes http get. Popíšu zde Linux distribuci na OliNuxinu (stejné jako na Raspberry).
Na OliNuxinu běží monitoring, tak jsem mu přidal jednu úlohu navíc, přečíst data, zformátovat je a poslat přes http get na log.mypower.cz:
Pokud chcete logovat další hodnoty, které jsou v PHP skriptu zakomentovány, stačí odkomentovat a doplnit do http get.
Je třeba aby vaše distribuce PHP5 podporovala SNMP protokol, nebo celý systém SNMP spouštěný přes exec, který je také potřeba v php.ini povolit.
V cronovi (plán úloh v Linuxu) zadat pravidelnou úlohu za 1 minutu:
K logování je třeba síťová karta SNMP zasunuta do Vertexu:
Potom je třeba nějaký stroj, který umí číst data přes SNMP protokol a posílat je ven přes http get. Popíšu zde Linux distribuci na OliNuxinu (stejné jako na Raspberry).
Na OliNuxinu běží monitoring, tak jsem mu přidal jednu úlohu navíc, přečíst data, zformátovat je a poslat přes http get na log.mypower.cz:
- Kód: Vybrat vše
<?php
// načtení hodnot z Vertexu ****************************************
$host_ip="192.168.10.252"; // IP Vertexu ve vnitřní síti
// SNMP OID adresy jednotlivých dat vyčtených z Vertexu
$oid_pvP="1.3.6.1.4.1.21111.1.2.6.3.1.3.1"; //výkon PV
$oid_acP="1.3.6.1.4.1.21111.1.2.5.5.1.3.1"; //AC výkon
//$oid_pvU="1.3.6.1.4.1.21111.1.2.6.3.1.2.1"; //napětí PV
//$oid_akuI="1.3.6.1.4.1.21111.1.2.3.9.0"; // nabíjecí proud Aku
//$oid_akuU="1.3.6.1.4.1.21111.1.2.3.5.0"; // napětí Aku
function snmpDotaz($host,$ip) {
return exec("snmpget -c public -v1 -Oqvs ".$host." ".$ip);
}
$pv_p=intval(snmpDotaz($host_ip,$oid_pvP))/10;
$ac_p=intval(snmpDotaz($host_ip,$oid_acP))/10;
//$pv_u=intval(snmpDotaz($host_ip,$oid_pvU))/10;
//$aku_u=(intval(snmpDotaz($host_ip,$oid_akuU))/10)-0.9;
//$aku_i=intval(snmpDotaz($host_ip,$oid_akuI))/10;
$unix_time=time();
// poslání hodnot na mypower *******************************
$prikaz='wget -q -O /dev/null "http://log.mypower.cz/?fveid=<FVEID>&unix='.$unix_time."&p_pv=".$pv_p."&p_ac=".$ac_p.'"';
//echo $prikaz;
exec($prikaz);
?>
Pokud chcete logovat další hodnoty, které jsou v PHP skriptu zakomentovány, stačí odkomentovat a doplnit do http get.
Je třeba aby vaše distribuce PHP5 podporovala SNMP protokol, nebo celý systém SNMP spouštěný přes exec, který je také potřeba v php.ini povolit.
- Kód: Vybrat vše
podpora SNMP v PHP5:
apt-get install php5-snmp
podpora SNMP v systému:
apt-get install snmp
buď jedno nebo druhé, podle toho co vaše distribuce bude umět
povolit exec v php.ini:
smazat v disable_functions = pcntl_exec
V cronovi (plán úloh v Linuxu) zadat pravidelnou úlohu za 1 minutu:
- Kód: Vybrat vše
/usr/bin/php5 /var/www/mypower.php