ãã®èšäºãæžããã£ããã¯äœã§ããïŒ ãippon winner 3000 monitorããšããã¯ãšãªãã€ã³ã¿ãŒãããã§æ€çŽ¢ããŸãã ã€ã³ã¿ãŒãããã¯éåžž
NUTã®èšå®ã«é¢ããèšäºãåºããŸããã ãã®ãããžã§ã¯ãã¯æ¬åœã«è峿·±ããã®ã§ãå€ãã®æ©èœããããŸãã ããããå°ããªãã®ã1ã€ãããŸãïŒ USBçµç±ã®ippon winner 3000ã§ã¯ãµããŒããããŠããŸããã COMããŒãã§ã¯ããã¹ãŠãããŸãæ©èœããŸãã USBæ¥ç¶ã®èšå®ãèŠãŸããããå®éã«æ€èšŒããã«ã³ããŒããŠè²Œãä»ããããã«æããŸãã ãã¶ãç§ã¯ééã£ãŠããŸãã å°ãªããšãç§ã¯ãããæ©èœãããããã«åæ¥æ®ºããããç¡é§ã ã£ãã
ç§ã¯ä»£æ¿ãããžã§ã¯ã
apcupsdãèŠã€ããŸããããã¹ãŠãå°ããªèšå®ã§ç®±ããåºãããŸããã ipponã®åè
3000 UPSã1å°ã®ã³ã³ãã¥ãŒã¿ãŒã«æ¥ç¶ãããã®ã¿ã¹ã¯ã¯USBçµç±ã§ç£èŠãæ
åœããZabbixããã®ã³ã³ãã¥ãŒã¿ãŒäžã«ãããŸãã Zabbixã®è©³çްã«ã€ããŠã¯èª¬æããŸããããå¥ã®èšäºã«å€ãããã®ã§ããã1ã€ã®èšäºã«å€ãããã®ã§ã¯ãªãããšã ãèšããŸãã ããã»ã¹ãæžãããšã«ã¯æå³ããããŸãã;ãã®ãããªèšäºã¯ãããããããŸãã æ¢è£œã®èšå®ãæã¡èŸŒãã ãã§ãã ããã±ãŒãžèªäœãã€ã³ã¹ããŒã«ããŸãã
$sudo apt-get install apcupsd
ããã©ã«ãã®æ§æãã¡ã€ã«ãšã¹ã¯ãªããã¯ãã¹ãŠãããã©ã«ãã§
/ etc / acpupsdã«ãããŸããã¹ããŒã¿ã¹ãã¡ã€ã«ãšæ§æãã¡ã€ã«ã®ååã«ç¹ã«æ³šæããŠãã ããã
apcupsd-ippon0.confUPSC USB
UPSTYPE USB
ããã€ã¹/ dev / usb / hiddev0
LOCKFILE / var / lock
SCRIPTDIR / etc / apcupsd
PWRFAILDIR / etc / apcupsd
NOLOGINDIR /ãªã©
ãªã³ããããªãŒé
å»¶6
ããããªãŒã¬ãã«5
3å
ã¿ã€ã ã¢ãŠã0
ã¢ãã€300
ã¢ããã£ã¬ã€60
NOLOGONç¡å¹
ãã«ãã£ã¬ã€0
NETSERVERãªã³
NISIP 127.0.0.1
NISPORT 3551
EVENTSFILE /var/log/apcupsd/apcupsd-ippon0.events
EVENTSFILEMAX 10
UPSCLASSã¹ã¿ã³ãã¢ãã³
UPSMODEç¡å¹
STATTIME 60
STATFILE /var/log/apcupsd/apcupsd-ippon0.status
LOGSTATSãªã
DATATIME 0
apcupsd-ippon1.confUPSC USB
UPSTYPE USB
ããã€ã¹/ dev / usb / hiddev1
LOCKFILE / var / lock
SCRIPTDIR / etc / apcupsd
PWRFAILDIR / etc / apcupsd
NOLOGINDIR /ãªã©
ãªã³ããããªãŒé
å»¶6
ããããªãŒã¬ãã«5
3å
ã¿ã€ã ã¢ãŠã0
ã¢ãã€300
ã¢ããã£ã¬ã€60
NOLOGONç¡å¹
ãã«ãã£ã¬ã€0
NETSERVERãªã³
NISIP 127.0.0.1
NISPORT 3552
EVENTSFILE /var/log/apcupsd/apcupsd-ippon1.events
EVENTSFILEMAX 10
UPSCLASSã¹ã¿ã³ãã¢ãã³
UPSMODEç¡å¹
STATTIME 60
STATFILE /var/log/apcupsd/apcupsd-ippon1.status
LOGSTATSãªã
DATATIME 0
ç°¡åãªã¹ã¯ãªããã䜿çšããŠå®è¡ããŸã
åæ§æãã¡ã€ã«ãapcupsd * confãã§apcupsdããŒã¢ã³ãèµ·åããŸãã
/ var / log / apcupsdãã£ã¬ã¯ããªã«ç§»åããŠããã®å
容ã調ã¹ãŸãããã¹ãŠãããŸããã£ãå Žåããã®å
å®¹ã¯æ¬¡ã®ããã«ãªããŸãã
apcupsd-ippon0.events
apcupsd-ippon0.status
apcupsd-ippon1.events
apcupsd-ippon1.status
ååãããã€ãã³ãæ¡åŒµåãæã€ãã¡ã€ã«ãããŒã¢ã³ã€ãã³ããala start-stopãªã©ã®åå ã§ããããšã¯æããã§ãã ç§ãã¡ã«ãšã£ãŠãã¹ããŒã¿ã¹æ¡åŒµåãæã€ãã¡ã€ã«ã¯éåžžã«è峿·±ããã®ã§ãã ãã®äžã®1ã€ã«ã€ããŠèª¬æããªãã説æããŸãã ä»åŸãzabbiã®å€éšåŠçã¯ãããã®ãã¡ã€ã«ããæ
å ±ãååŸãããšèšããŸãã
/var/log/apcupsd/apcupsd-ippon0.status APCïŒ001,031,0762-ããŒãžã§ã³çªå·ãè¡æ°ããã€ãæ°
æ¥ä»ïŒ2016-01-19 20:25:01 +0300-UPSããæ
å ±ãåä¿¡ããæé
HOSTNAMEïŒzavdiag-DNSãµãŒããŒå
ããŒãžã§ã³ïŒ3.14.10ïŒ2011幎9æ13æ¥ïŒdebian-apcupsdãã«ãããŒãžã§ã³
UPSNAMEïŒzavdiag-apcupsd.confããã®åå
ã±ãŒãã«ïŒUSBã±ãŒãã«-å¶åŸ¡ã±ãŒãã«ã®ã¿ã€ã
ãã©ã€ããŒïŒUSB UPSãã©ã€ããŒ-ãã©ã€ããŒå
UPSMODEïŒã¹ã¿ã³ãã¢ãã³
STARTTIMEïŒ2016-01-19 14:40:36 +0300-ããŒã¢ã³apcupsdãéå§ããããšã
ã¢ãã«ïŒHID UPS-ã¢ãã«
ã¹ããŒã¿ã¹ïŒãªã³ã©ã€ã³-çŸåšã®ã¹ããŒã¿ã¹ïŒãªã³ã©ã€ã³ããªã³ã©ã€ã³ãNOBATTãªã©ïŒãUPSããåé€
LOADPCTïŒ12.0ããŒã»ã³ãè² è·å®¹é-VAã«å¯Ÿããè² è·ã¬ãã«ãUPSããåé€
BCHARGEïŒ100.0ããŒã»ã³ã-UPSããåé€ãããããããªãŒå
é»ã®å²å
TIMELEFTïŒ62.4å-UPSããåé€ãããæšå®ããããªãŒå¯¿åœ
MBATTCHGïŒ5ããŒã»ã³ã-apcupsd.confã®BATTERYLEVELå€
MINTIMELïŒ3å-apcupsd.confã®MINUTESå€
MAXTIMEïŒ0ç§-apcupsd.confã®ã¿ã€ã ã¢ãŠãå€
OUTPUTVïŒ216.0ãã«ã-UPSããæœåºãããåºåé»å§
DWAKEïŒ-01ç§-è² è·ããªã³ã«ãªããUPSããåé€ããããŸã§ã黿ºãå埩ããŠããUPSãåŸ
æ©ããç§æ°ïŒèª€ã£ãŠè¡šç€ºããããšæããŸãïŒ
LOTRANSïŒ176.0ãã«ã-蚱容é»å§ã®äžéãUPSããåé€
HITRANSïŒ264.0ãã«ã-蚱容é»å§ã®äžéãUPSããåé€
ALARMDELïŒ30ç§-黿ºé害æã®ä¿¡å·äŒéã®é
å»¶æéãUPSããåé€ãããŸã
LINEFREQïŒ50.0 Hz-UPSããæœåºãããå
¥åé»å§åšæ³¢æ°
NUMXFERSïŒ0-UPSããååŸããç¶æ
倿Žã®æ°
TONBATTïŒ0ç§-çŸåšã®ããããªãŒå¯¿åœãUPSããåé€
CUMONBATTïŒ0ç§-ããããªå¯¿åœã®åèšãUPSããåé€
XOFFBATTïŒN / A-ããããªãŒãããããã¯ãŒã¯ãžã®æåŸã®ç§»è¡æé
ã»ã«ããã¹ãïŒããã-UPSã»ã«ããã¹ãã®çµæïŒOKãBT-äœå
é»ãBG-éè² è·ãNO-çŽåã®5åéã¯éå§ããŸããã§ããïŒãUPSããåé€ãããŸã
STATFLAGïŒ0x07000008ã¹ããŒã¿ã¹ãã©ã°-UPSããååŸããã¹ããŒã¿ã¹ãããæåå
SERIALNOïŒS42140618978-UPSã·ãªã¢ã«çªå·ãUPSããåé€
NOMPOWERïŒ2700ã¯ãã-UPSããæœåºããã宿 Œé»åïŒã¯ããïŒïŒã¢ã¯ãã£ãïŒïŒ
çµäºAPCïŒ2016-01-19 20:25:02 +0300-ã¹ããŒã¿ã¹åºåã®æé</ blockquote>
詳现ã«ã€ããŠã¯ã
ãã¡ããã芧ãã ããããŸãã
apcupsdæ§æã®è©³çްãèŠã€ããããšãã§ããŸãã
ã¹ã¯ãªãããã¡ã€ã«ãç·šéããã¡ãŒã«ã¢ãã¬ã¹ãå
¥åããŸãã
ã¹ã¯ãªããã®ç®çãç°¡åã«èª¬æããŸãã
changeme-ããããªãŒã®äº€æãå¿
èŠãªãšãã«åŒã³åºãããŸã
commfailure-ãããã¯ãšã®éä¿¡ã倱ããããšãã«åŒã³åºãããŸã
commok-ãããã¯ãšã®éä¿¡ã埩å
ããããšãã«åŒã³åºãããŸã
onbatter y-å
µèãã黿ºã«åãæ¿ãããšãã«åŒã³åºãããŸã
offbattery-ããããªãŒããåãæ¿ãããšãã«åŒã³åºãããŸã
killpower-ã·ã£ããããŠã³åã«åŒã³åºãããŸã
ããã§apcupsdã®èšå®ãå®äºããŸããã èŠããã«ãããã»ã¹ã¯æ¬¡ã®ããã«ãªããŸããããŒã¢ã³ã¯UPSããã€ã¹ãããŒãªã³ã°ããç¶æ
ãå€åãããšãã«é©åãªã¹ã¯ãªãããåŒã³åºããã¹ããŒã¿ã¹ãã¡ã€ã«ãçæããŸãã çŸåšãããããã¹ãŠãZabbixã«ãã€ã³ãããå¿
èŠããããŸãã
ç§ã®æèŠã§ã¯ãå¯äžã®è«ççãªæ¹æ³ã¯ã
å€éšãã§ãã¯ã䜿çšããŠãããã«ããŒã¿ãå
¥å
ããããšã§ãã
ãããè¡ãã«ã¯ãã¹ããŒã¿ã¹ãã¡ã€ã«ãè§£æããæå®ããããã©ã¡ãŒã¿ãŒã®å€ãååŸããã¹ã¯ãªããã䜿çšããŸãã ç§ã®å ŽåããšãŒãžã§ã³ããšzabbixãµãŒããŒã®äž¡æ¹ãåãã³ã³ãã¥ãŒã¿ãŒã«é
眮ãããŸãã ãšãŒãžã§ã³ãã¯ããŒã10050ã§ãµãŒããŒ10051ããªãã¹ã³ããŸããå€éšæ€èšŒãã¡ã€ã«ã眮ãããŠãããã£ã¬ã¯ããªãèŠã€ããå¿
èŠããããŸãã ãããè¡ãã«ã¯ããµãŒããŒæ§æãã¡ã€ã«
/etc/zabbix/zabbix_server.confã§æåå
ExternalScripts = / usr / lib / zabbix / externalscriptsã
æ¢ããŸãã ãã®ãã£ã¬ã¯ããªã«ãã§ãã¯ãã¡ã€ã«ãé
眮ããŸãã bashã¹ã¯ãªããã§ãã£ãŠãããã¡ã€ã«åã«ãããã䜿çšããªãã§ãã ããã æåã«ã次ã®ãããªã¹ã¯ãªãããäœæããŸããã
apcupsd-bashã¹ã¯ãªãã /etc/zabbix/zabbix_agentd.dãã£ã¬ã¯ããªã§ãå
容ã
å«ãuserparameter_apcupsd.confãã¡ã€ã«ãäœæããŸã
UserParameter=apcupsd[*],/usr/lib/zabbix/externalscripts/apcupsd $1 $2
ãšãŒãžã§ã³ãã®åèµ·åïŒ
$sudo service zabbix-server restart
ãã ãããªããµã€ãã®Zabbixã«ã¯èŠåããããŸã
å€éšãã§ãã¯ãä¹±çšããªãã§ãã ããïŒ Zabbixã·ã¹ãã ã®ããã©ãŒãã³ã¹ã倧å¹
ã«äœäžããå¯èœæ§ããããŸãã
ãããŠãç§ã¯ç®¡çè
ã§ããã ãã§ãªããããã£ãã§ãããã®ã§ã
Cã®å€éšãã§ãã¯ãæžãçŽãããšã«ããŸãã
ã ãããŠã誰ããã®ããã©ãŒãã³ã¹ãéæããããç¥ã£ãŠããŸãã
å
容ãå«ãapcups.cãã¡ã€ã«ãäœæããŸãã
apcupsd.c #include <stdio.h> #include <string.h> #include <unistd.h> char ValueParam[30]; char *GetValue(char *NameVar, char *FileName) { FILE *fconfig=fopen(FileName,"r"); char fileline[255]; unsigned char FLAGDDOT=0,FLAGSPACEB=0; memset(ValueParam,0,sizeof(ValueParam)); while(!feof(fconfig)) { fgets (fileline, 255, fconfig); if(strncmp(fileline,NameVar,strlen(NameVar))==0) { for(int i=0;i<strlen(fileline);i++) { if(fileline[i]!=':' && FLAGDDOT==0) continue; if(FLAGDDOT==0) { FLAGDDOT=1; continue; } if(fileline[i]==' ' && FLAGSPACEB==0) continue; if(fileline[i]==' ' && FLAGSPACEB==1) break; if(FLAGSPACEB==0) FLAGSPACEB=1; ValueParam[strlen(ValueParam)]=fileline[i]; ValueParam[strlen(ValueParam)+1]=0; } if(strlen(ValueParam)>0) break; } } fclose(fconfig); return ValueParam; } void main(int argc, char* argv[]) { //argv[1] - hostname argv[2] - param char fname[255]; // "ippon" 2 if((argc==3) && (strncmp(argv[1],"ippon",5)==0) ) { memset(fname,0,sizeof(fname)); strcpy(fname,"/var/log/apcupsd/apcupsd-"); strcat(fname,argv[1]); strcat(fname,".status"); // // /var/log/apcupsd/apcupsd-ipponX.status if(access( fname, F_OK ) != -1) { puts(GetValue(argv[2],fname)); } } return; }
次ã®ããã«ã³ã³ãã€ã«ããŸãã
gcc apcupsd.c -o apcupsd -std=c99
ã³ã³ãã€ã«ãããã¡ã€ã«ã/ usr / lib / zabbix / externalscriptsã«é
眮ããŸãã
æ®ã£ãŠããã®ã¯
ãZabbixã®
ãã³ãã¬ãŒããã€ã³ããŒãããããšã ãã§ãã
æ®éçãªããšããããšããç®æšãèªåèªèº«ã«èšå®ããã®ã§ã¯ãªããéã«ãå¿
èŠãªæå°åã詊ã¿ãŸããã
ãã³ãã¬ãŒãã«ååšã
ãŸã ïŒ
ãã©ã¡ãŒã¿ãŒã®èª¬æã¯äžèšãåç
§ ïŒïŒ

ã°ã©ãã®å Žåã4ã€ã®ãã©ã¡ãŒã¿ãŒã®ã¿ãäœæããŸããã

ããããªãŒã®å
é»ã黿µè² è·ãåºåé»å§ãããã³ããããªãŒã®æ®ã寿åœã
apcupsdããŒã¢ã³ã®ã¹ã¯ãªããèªäœãã¡ãŒã«ã«éç¥ãéä¿¡ãããããããªã¬ãŒã«ã¯éå§ããçç±ããããŸããã ã€ã³ã¿ãŒããããåããé»è©±ã¯åžžã«ããªããšäžç·ã§ãã ããã ãã§ããããªãã®è³ªåã«çããŠããããã§ãã
ããã«æ°æ¥åŸãç§ã¯ããªããšå
±æããéåžžã«è峿·±ããã®ãèŠã€ããŸããã ããããããã¯ãäœæ¥éãåµé çãªèŠçããããªããæãã§ãããã
apcupsdãããžã§ã¯ãã«é¢ããŠã¯ãããã¯æ¬è³ªçã«çå¿ã§ãäž»ã«APC UPSã®äžã§ç ãæŸãŸãããŠããŸãã ããã䜿çšãããšãUSBçµç±ã§æ¥ç¶ãããšãã«ãUSB + COMãçµã¿åãããããã€ã¹ã䜿çšãããå¯èœæ§ãé«ããªããŸãã ç§ã®å Žåãããã¯äžæ¬åè
3000ã§ããããã€ãã¹ã®ãã¡ãããããªãŒã®é»åãšæž©åºŠã¯è¡šç€ºãããŸããã æããã«ããããã®ãã©ã¡ãŒã¿ãŒã¯APCã«ã¯ãããŸããã
NUTãããžã§ã¯ãã«é¢ããŠã¯ãããæ®éçã§ãããããã䜿çšãããšããŸããªUPSãæŸãå¯èœæ§ãé«ããªããŸãã
USB + COMãçµã¿åãããæ¥ç¶ã§æãéèŠãªãã€ãã¹ã¯ãCOMã§ã®ã¿ãµããŒããããŸãïŒ