ã¿ãªããããã«ã¡ã¯ã

åæ
çãªäœè«èª¬æãããªããžã§ã¯ããå®æãããæéããªãã£ãããããã®èšäºã¯æ°é±éãã©ããã«ãããŸããã ããããç§ã圌ãã®èšäºã§èšãããã£ãããšã®ååããã§ã«ã«ããŒããŠããåå¿ãã¡ã®çæ»æã®äžã§ãç§ã¯ãæ©ããªãªãŒã¹ããæ©ããªãªãŒã¹ããããããããªãªãŒã¹ããããšããååã«åŸããå
容ãå
¬éããããšã«ããŸããã ããã«ãéçºã¯80ïŒ
å®äºããŠããŸãã
ãUniversal Control Unitãæ倧éã«æŽ»çšããããšããèšäºãå
¬éãããŠãããå€ãã®æéãçµéããŸããïŒæ£ç¢ºã«ã¯1幎以äžïŒã ãã®ããã€ã¹çšã®éåžžã®ãœãããŠã§ã¢ã¹ã¿ããã£ã³ã°ãäœæããã®ã«ååã§ã¯ãããŸããããååã§ã¯ãããŸããã çµå±ã®ãšãããããã¯çŸããã®ããã§ã¯ãªããã»ã³ãµãŒããããŒã¿ãåéãããã®ããŒã¿ãç£èŠã·ã¹ãã ïŒç§ã®å Žåã¯ZabbixïŒã«è¡šç€ºãããããšã確èªããå¿
èŠããããŸã
ããŒã1-ãœãããŠã§ã¢
éå»ã«ããœãããŠã§ã¢ã®å
å¡«ãã以äžãå®è£
ãããŸããã
- æ¥ç¶ããããã¹ãŠãæ©èœããŠããããšã瀺ããã¹ãã¹ã¯ãªãã
- 枩床ã»ã³ãµãŒãã枬å®å€ãåéããzabbiksaã®ã¹ã¯ãªãã
ntpdãšgpsdã«å¥ã
ã®ã¢ãã¿ãŒãäœæããè©Šã¿ããããŸããã zabbixããã®ããŒã¿ãèªã¿åããããã«ããªãããæ§æãèªã¿åããæ§æã«åŸã£ãŠããŸããŸãªãœãŒã¹ããããŒã¿åéããã»ã¹ãéå§ãããããã®ããã»ã¹ããããŒã¿ãåéããç»é¢ã«èªã¿åãå€ã衚瀺ã§ããã¯ãã®ã¹ãŒããŒã¢ãã¿ãŒã«å€ãã®æéãè²»ããããŸããã å®éãèšå®ãèªã¿åã£ãŠå¿
èŠãªããã»ã¹ãçæããããã»ã¹ãããŒãžã£ãŒãå®è£
ããããšãå€æããéåžžã«ã¯ãŒã«ã§ããããšãå€æããç»é¢äžã®æç»ã¯ãèšå®ããã¬ã€ã¢ãŠããèªã¿åããã¿ã€ããŒã«ãã£ãŠç»é¢ã®å
容ãå€æŽããæ¹æ³ããç¥ã£ãŠããããã®æç¹ã§ããã»ã¹ããããŒã¿ãåéããŸãå¿
èŠã§ãã ãã®ã¹ãŒããŒã¢ãã¿ãŒã«ã¯ãããŒã¿ãåéããå®éã®ããã»ã¹ã ãããããŸãã ããã«ããã¿ã³ã«æ©èœãå²ãåœãŠãããã®ä¿¡å·ã·ã¹ãã ãäœæããããããŸããŸãªããŒã¿ãœãŒã¹ã®åªå
é äœãèæ
®ããããããªã©ã®ã¢ã€ãã¢ããããŸãããããã¹ãŠãç§ã®èªç±æéã«åºãŠããããããã®ã¹ãŒããŒã¢ãã¿ãŒã¯éåžžã«è¥å€§åããŠå·šå€§ãªãã®ã«ãªããŸããã
ãã°ããã®éãæ¬æ ŒçãªãœãããŠã§ã¢å
å¡«ã®éçºã§åŸç¹ããŸããã Nenuachoãã¹ã¯ãªããã¯åäœããã«ãŒã«ã¯ãåäœãã-觊ããªãã§ãã ããããšåœŒããèšãããã«ã管çè
ã®èãªãã«ãŒã«ã§ãã ããããããã¯äžéã§ã-ç£èŠãããã»ã©ãããå€ãã®ã¹ã¯ãªãããèšè¿°ããzabbixã®SELinuxã«è¿œå ããå¿
èŠãããïŒç§ã¯raspiãç£èŠããŠããã ãã§ã¯ãããŸããïŒããã¯ç解ã§ããŸãã ç§ã¯æ¬åœã«zabbiksã®SELinuxãå®å
šã«ç¡å¹ã«ãããã¯ãããŸããã§ããã ãããã£ãŠãç§ã¯èããªããã°ãªããŸããã§ããã
ãããŠãç£èŠã·ã¹ãã ã«ããŒã¿ãåéããæ¹æ³ãç解ããŸãããã
- éå§è
ã¯æ¬¡ã®ãšããã§ãã
- ã¢ã¯ãã£ãç£èŠ-ç£èŠå¯Ÿè±¡ããŒãã¯ããŒã¿è»¢éïŒããã·ã¥ïŒãéå§ããŸã
- ããã·ãç£èŠ-ç£èŠããŒãã¯ããŒã¿è»¢éãéå§ããŸãïŒãã«ïŒ
- ããŒã¿åéæ¹æ³å¥ïŒ
- ãšãŒãžã§ã³ãããµããŒãããã¡ããªãã¯ã®ã¿ã䜿çšãããç£èŠå¯Ÿè±¡ããŒãäžã®ãšãŒãžã§ã³ãçµç±
- ç£èŠå¯Ÿè±¡ããŒãäžã®ãšãŒãžã§ã³ããä»ããŠãã¹ã¯ãªããã§ãšãŒãžã§ã³ããå±éããŸã
- SNMP
- ããªããã£ãping
- Telnetã§
- ...ãªã©
ç§ã¯ãã«ã®ç£èŠã䜿çšããŠããŸãããå®æçãªçç±ã§ã¯ãªããããŸããŸè¡ãããŸããã å®éãç¹ã«è»œãè² è·ã§ã¯ãããã·ã¥ãšãã«ã®éã«å€§ããªéãã¯ãããŸããïŒä»¥åã®äœåã®1ã€ã§ã¯ãNagios + NSCAãè¡ããŸãããã倧ããªéãã«æ°ã¥ããªãã£ãã®ã§ããŸã æã§èŠçŽ ãäœæããå¿
èŠããããŸãïŒã ãã§ã«ããã·ã¥ã¢ãã¿ãªã³ã°ãè¡ã£ãŠããå Žåã¯zabbix_senderã䜿çšã§ããŸãããããã«ååšãããè©ŠçšçããããŸããããŸããäºãã«å¹²æžããã®ã¯é¢åã§ãã ããããã©ã®ãããã³ã«ãç£èŠããããšããåé¡ã§ã¯ãéžæè¢ã¯å€§ããããã«èŠããŸãããããã§ã¯ãããŸãããæ€åºã¯ãšãŒãžã§ã³ããŸãã¯SNMPãä»ããŠã®ã¿ãµããŒãããã2ã€ã®ãªãã·ã§ã³ããæ®ãããŠããŸããã 説æãããŠããSELinuxã®åé¡ã«ããããšãŒãžã§ã³ãã衚瀺ãããªããªããŸãã åºæ¥äžãããSNMPã«ãããã«ã¢ãã¿ãªã³ã°ããŸã ãããŸãã
ã»ãïŒ ãªã也æ¯ã§ããïŒ Linuxã§ã¯ãsnmpdãããããã«èŠããŸãããã©ãããã°å¿
èŠãªãã®ãè¿ãããšãã§ããŸãããsnmpdã¯äœãç¥ããªãã®ã§ããïŒ snmpdã«ã¯ãä»»æã®OIDã«ãã£ãŠä»»æã®ããŒã¿ãæäŸããããã®3ã€ã®ïŒæ ¹æ¬çã«ç°ãªãïŒæ¹æ³ããããŸãã
- å€éšã¹ã¯ãªããïŒexec / sh / execfix / extend / extendfix / pass / pass_persistãã£ã¬ã¯ãã£ãïŒã®å®è¡ã¯ãSELinuxã®æœåšçãªåé¡ãšãå¶åŸ¡ãããªãäžé£ã®ã¹ã¯ãªããããã³ãã«ãªã£ãŠããŸããããæªãã§ãã ã¯ããpass_persistã¯ãã€ããªããŒã¿è»¢éã«ã¯é©ããŠããªããšèšããŸãã æ¥ããããã«ãããã€ããŠãããããããŸãããããšã«ãã100äžåã®ã¹ã¯ãªãããäœæãããšããèãã¯å¥œãã§ã¯ãããŸããã
- çµã¿èŸŒã¿ã®perlã«äœããæžããã.soãããŠã³ããŒãããŸã-ããŒã«ãç¥ããããªãããããŒã«ãç¥ããããªããso-shkiãæžããããªããç§ã¯Cã§æžãããã°ã©ããŒã§ã¯ãããŸããã
- å€éšãšãŒãžã§ã³ãïŒãããã·ãSMUXãAgentXïŒããããŒã¿ãååŸããŸã-ããããããã¯è¯ãããã«èãããŸãããççµåã¯èšèªã«äŸåããŸããã ç解ããŸãããïŒ
- proxy-æå®ããããã¹ãäžã®SNMPãšãŒãžã§ã³ãã«OIDãèŠæ±ããŸãã SNMPãããã³ã«å
šäœãå®è£
ããå¿
èŠããããŸãããããã¯ãŸã£ãã圹ã«ç«ããããªãå¥ã®ããŒãããäœããèŠæ±ããã®ããããŒã«ã«ã§ããŒã¿ãåä¿¡ããããšãã«ãããã¯ãŒã¯ã䜿çšããŸãã 127.0.0.1ã®ååšã«ã€ããŠã¯ç¥ã£ãŠããŸããããããã«ããŠãSNMPã¯ãŸã£ããç¬ããŸããã
- SMUX-åŒã³åºãåŽãšãŒãžã§ã³ãã®smuxãããã³ã«ããµããŒãããå¿
èŠããããããã©ã«ãã§ã¯ãnet-snmpã¯smuxãµããŒããªãã§æ§ç¯ãããŸãïŒãããŠããã§ã«ntpdã¯ppsããµããŒãããããã«åæ§ç¯ãããŸãã ã¯ãããã®smuxã¯SNMPãã±ããã®åãªãã©ãããŒã§ããããµããšãŒãžã§ã³ãããšãŒãžã§ã³ãã«ç»é²ããæ©èœãè¿œå ããã ãã§ãã
- AgentXã¯åºæ¬çã«SMUXãšåãã§ããããããã³ã«ã®ã¿ãããã·ã³ãã«ã§ãããã±ãŒãžããã軜éã§ãã ãŸããããã¯ããã©ã«ãã§net-snmpã«ã³ã³ãã€ã«ãããŠããããããçŽ æŽãããã§ãã ç§ãã¡ã®éžæã®ããã«èãããŸãã
ç§ã¯Pythonã§æžããŠããã®ã§ãã ããããã§ã«agentxãããã³ã«ãå®è£
ããŠãããã©ãããæ¢ãã«è¡ããŸããã ãããŠãçµå±ã®ãšããã
https://github.com/rayed/pyagentxãš
https://github.com/pief/python-netsnmpagentãšããçŽ æŽããã人ã
ãããŸããã 2çªç®ã®ãããžã§ã¯ãã¯ãã掻æ°ãããããã«èŠããŸãããæåã®ãããžã§ã¯ãã¯ããã·ã³ãã«ã«èŠããŸãã ç§ã¯æåã®ãã®ïŒpyagentxïŒããå§ããŸãããããã¯åäœããå¿
èŠãªããšã¯ãã¹ãŠè¡ããŸãã ãããããã®ã©ã€ãã©ãªã«ããŒã¿ã転éããæ¹æ³ã«ã€ããŠèãå§ãããšãã2çªç®ã®ããã±ãŒãžïŒpython-netsnmpagentïŒãæ±ããããšæããŸããã pyagentxã®åé¡ã¯ãæžã蟌ã¿æ¹æ³ã§ãããåŒã³åºãé¢æ°ããããŒã¿ãåä¿¡ã§ããªããããæ°ããããŒã¿ã®èŠæ±ã¯snmpdã«æŽæ°ãéä¿¡ããé¢æ°ã§çŽæ¥çºçããå¿
èŠãããããšã§ããããã¯åžžã«äŸ¿å©ã§åžžã«å¯èœãšã¯éããŸããã ãã¡ãããç¬èªã®äœããåæ§ç¯ããŠæ©èœãåå®çŸ©ããããšãã§ããŸããããå®éã«ã¯ã¯ã©ã¹ãã»ãŒå®å
šã«æžãæããå¿
èŠããããŸãããããããããããããŸããã§ãã-ç§ãã¡ã¯èã®äžã§éçºããŠããŸãããã¹ãŠãã·ã³ãã«ã§è¿
éã§ãªããã°ãªããŸããã ãã ããpython-netsnmpagentãåŠçããããšã«æµæã¯ãããŸãããpyagentxããã¢ããããŒã¿ãŒã«ããŒã¿ã転éããæ¹æ³ãèŠã€ããŸããããããã«ã€ããŠã¯ä»¥äžã§è©³ãã説æããŸãã
次ã®è³ªåã¯-ã¢ãŒããã¯ãã£ã¯ã©ã®ããã«èŠããŸããïŒ ããŒã¿ãœãŒã¹ããã©ãŒã¯ããããããããŒã¿ãèªã¿åããã£ã¹ãããã£ãŒãäœæããããšããè©Šã¿ã¯æ¢ã«å®äºããŠãããããŸãããŸãçµäºããªãã£ãããïŒäžèšãåç
§ïŒããã£ã¹ãããã£ãŒã®å®è£
ãæŸæ£ããããšã«ãªããŸããã ããã§ãã©ããã§systemdã«ã€ããŠã®èšäºãèŠããããããšãããå¯æ¥ã«å¯ŸåŠããããšããå€ã欲æ±ãããäžåºŠãããã£ãã®ã§ããã£ã¹ãããã£ãã·ã¹ãã åããããšã«ããŸããã å«ãã¯å«ãã ããç®±ããåºããŠããã«ããããã§ã«ã©ã¹ãã«ãããã©ãããç§ãã¡ã¯ç解ããŸãã
ç§ãèŠã€ããsystemdã®äŸ¿å©ãªæ©èœã¯äœã§ããïŒ
- ç¡æã®æªé-simpleïŒãŸãã¯notifyïŒã¿ã€ãã®ãµãŒãã¹ãŠããããèšè¿°ãããã®ããã®ã³ãŒãã1è¡ãèšè¿°ããã«ããŒã¢ã³ãååŸããŸãã ããããªãpython-daemonããã³/ãŸãã¯daemonize
- èœäžãããŠãããã®èªååèµ·å-ããã§ãã³ã¡ã³ãã¯äžèŠã§ãäžè²«æ§ã®ãªããšã©ãŒãé²ããŸã
- ãœã±ããã®èªã¿åããšãœã±ããã®æºåããŸã ã§ããŠããªããŠãããœã±ãããžã®æžã蟌ã¿ãåžæãã誰ãããããè¡ãããšãã§ããå Žåãäžè¬ã«ãœã±ããã®ã¢ã¯ãã£ãåãšãœã±ãã管çã¯éåžžã«äŸ¿å©ã§ãã ããã«ããªãŒããŒã¯ãœã±ãããžã®æžã蟌ã¿æã«ã¢ã¯ãã£ãã«ãªããRAMãç¯çŽã§ããŸãïŒãã ããååã§ã¯ãªãã£ãããã§ã¯ãããŸãã...ïŒ
- ãã³ãã¬ãŒããŠããã-å€æ°ã®åäžã®ã»ã³ãµãŒãããå Žåã1ã€ã®ãŠãããããå€ãã®ããã»ã¹ãçæããç°ãªããã©ã¡ãŒã¿ãŒãå
šå¡ã«æž¡ããŠæ¥œããããšãã§ããŸã
- ïŒæ€åºãé
ããããŸã å®è£
ãããŠããªãïŒunits-timers-ãŠããããå®æçã«å®è¡ã§ããŸãã ãªãcronã§ã¯ãããŸãã-cronã®æå°æéã¯1åã§ãããã»ã³ãµãŒãããé »ç¹ã«ããŒãªã³ã°ãããããã§ãã ãªãã¹ãªãŒãããªãã®ãïŒïŒ-åŸ
æ©ãã¢ã¯ãã£ãã§æéãããªãããå§ãããã-ã¯ããã»ã³ãµãŒãNç§ããšã«ãã«ããŸãããããŒã¿ã®èªã¿åããšåŠçãèæ
®ãããšãããŒã¿æŽæ°æéã¯Nç§ã§ã¯ãªããN + xãã€ãŸãããŒã¿æŽæ°æéã®èªã¿åãã¯xã«ç§»åããŸã
ãããã®èª¿æ»çµæã念é ã«çœ®ããŠãã¢ãŒããã¯ãã£ãæãããŸããã
- systemdã¯ãã»ã³ãµãŒããã»ã¹ãšã³ã¬ã¯ã¿ããã»ã¹éã®éä¿¡çšã®ãœã±ãããéãããã¹ãŠã®ã»ã³ãµãŒããã»ã¹ãåããœã±ããã«æžã蟌ã¿ãŸã
- systemdã¯ã»ã³ãµãŒããã»ã¹ã®ãŠããããèµ·åããŸã
- ã»ã³ãµãŒããã»ã¹ã¯ã»ã³ãµãŒããããŒã¿ãèªã¿åãããœã±ããã«æžã蟌ã¿ãã¹ãªãŒãç¶æ
ã«ãªããŸãïŒãã®æç¹ã§systemdã¿ã€ããŒãŠããããèŠã€ãããŸããã§ããïŒ
- ã»ã³ãµãŒããã®ããŒã¿ããœã±ããã«æžã蟌ãŸãããšããã«ãsystemdã¯ããã»ã¹ã³ã¬ã¯ã¿ãŒãéå§ããŸããããã»ã¹ã³ã¬ã¯ã¿ãŒã¯ã»ã³ãµãŒããæŽæ°ãåãåããéæ³ã®ããã«åŠçããŠå
éšç¶æ
ã§ä¿åããŸãã ããã»ã¹ã³ã¬ã¯ã¿ãŒã¯æ»ãªãªã
- ã³ã¬ã¯ã¿ãŒããã»ã¹ã¯å¥ã®ã¹ã¬ãããçæããŸãïŒããã»ã¹éã®IPCãåé¿ããããã«ãããã»ã¹ã§ã¯ãªãã¹ã¬ããã§ãããã®ã¿ã¹ã¯ã® python ã§ã¯å€å°æ²ããã§ããããªãããæãã®ãã以äžã«èšè¿°ããŸãïŒãå
éšç¶æ
ã¯agentxãããã³ã«ã䜿çšããŠsnmpdã«è»¢éãããŸã
éåžžã«æªãå Žæã®1ã€ã¯ãã³ã¬ã¯ã¿ãŒã¹ããªãŒã ãšagentxã¹ããªãŒã ã®éã®å
±æå
éšç¶æ
ã§ãã ããããPythonã«ã¯2ã€ã®ã¹ã¬ããéã®åæã®åé¡ã解決ããéæ³ã®GILããããããç§ã¯ãããèš±ããŸããã ãã¡ãããããã¯éåžžã«æªãããšã§ãããæ¬ã«ãããšããã§ã¯ãããŸããã å
±æç¶æ
ãå¥ã®ããã»ã¹ã«ç§»åããagentxããã»ã¹ãšã³ã¬ã¯ã¿ãŒããã»ã¹ããœã±ãããä»ããŠç¶æ
ããã»ã¹ã§åäœããããšããã¢ã€ãã¢ããããŸããããå¥ã®ãœã±ãããäœæããå¥ã®ãŠããããäœæãããããªã©ã§ãã
ãã®ã¿ã¹ã¯ã«é¢é£ã㊠Python
㧠IPCã奜ãã§ã¯ãªãã£ãçç±ïŒ
- ãã¥ãŒã¯æ£åžžã«æ©èœããŸããããããã®ãã¥ãŒã«ã¯ååãä»ããããŠããªãããããã¥ãŒã€ã³ã¹ã¿ã³ã¹ãåå²ããã»ã¹ã«æž¡ãå¿
èŠããããŸãã ç§ã®å Žåãããã¯pyagentxãå®å
šã«æžãæããããšãæå³ããŸã
- ãããŒãžã£ãŒã¯ç§ã®åé¡ã解決ãããããããŸããããããã§ãpyagentxãå®å
šã«æžãæããããšãæå³ããŸã
- posix / sysv ipcã¯çŽ æŽãããã§ãããååä»ãã®ãã¥ãŒããããŸãããäžéšã®ã·ã¹ãã ã§ã¯ãããã®ãã¥ãŒã®ãµã€ãºã¯å¶éãããŠããŸã-éåžžã«äžååã«å¶éãããŠããŸãïŒããšãã°ãmacosã§ã¯ãã¥ãŒããšã«2KBãè¶
ããã«èšå®ããããšãã§ããŸãäžå¯èœïŒã sysv ipcã®å®è£
ã«ãããããŸããŸãªçšåºŠã®æ²æšããåããããŸããŸãªã·ã¹ãã ã§å®è¡ããå¿
èŠããã£ãããã§ã¯ãããŸãããããã¥ãŒãã³ã°ãè¡ããããããŸããã§ããã ããã«å
æ°ã«ããã
- posix / sysv ipcåã³-ãã¥ãŒã¯ãããã¯ããŠããŸããã€ãŸãããã¥ãŒããã®èªã¿åããã空ããè¿ãåã«ãæå°ã®ã¿ã€ã ã¢ãŠããå¿
èŠã§ãã pyagentxã®å ŽåãupdateïŒïŒã§ãã¥ãŒããã®èªã¿åãããããã¯ããããšã¯éåžžã«æãŸãããªããéåžžã¯æ²æšã§ã
- posix / sysv ipc-ãã¥ãŒã®åœåã«é¢ããåé¡ã ã¡ãã»ãŒãžãã¥ãŒã«ã¯ååãä»ããããŠããŸãããååã§ã¯ãªãããŒã«ãã£ãŠååãä»ããããŠããŸãã ããŒã¯éå±€çãŸãã¯æå³çã«æçœã§ã¯ãªããããäžæã§ãªãããŒãéžæããã®ã¯ç°¡åã§ãã Pythonã®posix / sysv ipcã®å®è£
ã§ã¯ããã¥ãŒããŒãèªåçã«çæã§ããŸãããåé¡ã¯-äœããpyagentxã«æž¡ãããšãã§ããã°ããã¥ãŒãããã«æž¡ããèŠãããããªãããšã§ãã ftokã䜿çšããŠããŒãçæããããšã¯å¯èœã§ãããftokã¯
int random() {return 4;}
ãããããŒã®äžææ§ã«å¯Ÿããä¿¡é Œæ§ãäœããšæžããŠããŸã [ã䜿çšæ¹æ³ã®ãã³ãããŸã§ã¹ã¯ããŒã«ã int random() {return 4;}
- ïŒå€éšã®ãã¥ãŒãããŒã«ãŒãé¢äžããªãããšã¯ããæ°ã«ãªããŸããã§ãããã¿ã¹ã¯ã¯ãã¥ãŒãããŒã«ãŒãä¿æããã»ã©ã®ãã®ã§ã¯ãããŸãã-è¿œå ã®ãµãŒãã¹ãè¿œå ã®é çïŒ
dbusã¯ãã¹ãŠã®ãã©ãã«ã®è§£æ±ºçã®ããã«èŠããsystemdãååšãããšãããªãã©ãã«ã§ãååšããŸãããåé¡ã¯pydbusãAPIãå
¬éããããã«GLib> = 2.46ãå¿
èŠãšããraspbianã§ã¯2.42ã®ã¿ã§ãããšããããšã§ãã dbus-pythonã¯éæšå¥šã§ããããµããŒããããŠããŸããã èŠããã«ãããã®éé¶ãããã«åºããããŸã§ãç§ã¯å®å
šã§ãªãæ¹æ³ã§ç¶æ
ãå
±æããŸãã
æ±ãç®çã§SNMPã䜿çšããå Žåãå¥ã®åé¡ããããŸãããããŒã¿ã»ããã«OIDãéžæããæ¹æ³ã¯ãããŸããïŒ ãããè¡ãããã«ããšã³ã¿ãŒãã©ã€ãºãšåŒã°ãããã©ã€ããŒãã®ç¹å¥ãªãã©ã³ãããããŸã-.1.3.6.1.4.1ã<enterprise_id>ã
IANAããäžæã®ãšã³ã¿ãŒãã©ã€ãºIDãååŸã§ããŸãã OIDã¹ããŒã ãå®çŸ©ãããŠããå ŽåãMIBãèšè¿°ããŠãã©ãã§ãäœãããããŠã·ã¹ãã ãç£èŠããããããã®ãå¿ããªãããã«ããŠãã ããã MIBãæžãããšãžã®çŽ¹ä»ã¯
ããã«ãã
ãŸã ã
ããæç¹ã§ã察å¿ããMIBã§ntpsnmpdãçºèŠããbããé ãŸã§åãã§ããŸãããããã®å¥è·¡ãã³ã³ãã€ã«ãããšããçè
ã¯ããã€ãã®ãããã¬ãã«ã®å®æ°ãå®è£
ããã ãã§ãèžæ°ã足ããªãããšãããããŸããã ã³ãŒããå°ãæãäžããŠæåŸãŸã§æãäžããŸããããäœæè
ãntpdïŒãŸãã¯ntpqïŒãšå·§åŠã«å¯Ÿè©±ããŠãåºåãæ°ã«ããã«ãããã®å®æ°ãåŒãåºãæ¹æ³ãç解ããŠããŸããã§ããã ç§ã¯ç¢ºãã«1ã€ã®ããšãç解ããŸãã-æ¢è£œã®Python APIã¯ãããŸãããã€ãŸãããã£ãããããã®ã¯äœããªãããšãæå³ãããã®MIBãèªåã§å®è£
ããå¿
èŠããããŸãã
æãã¿ã®5åãããããŸããçå®ã¯ã誰ãAPIãªãã§ntpdãsmartctlãlm_sensorsããã³ä»ã®ãŠãŒãã£ãªãã£ã®é¡äŒŒç©ãããããã¹ãŠã®å¹Žã®éæžããŠããŸãããïŒ èª°ãSNMPãšãŒãžã§ã³ãããããã«ãã蟌ã¿ãŸããã§ãããïŒ ãã®ãããªé¡äŒŒç©ãããªããããã¹ãåºåã解æããå¿
èŠããªãããã«ïŒ ããããUnixwayãªã©ãç解ããŠããŸãããããã§ã¯ãããŸããã ãŸãããã·ã³ã§èªã¿åãå¯èœãªåœ¢åŒã§ããŒã¿ãåºåããããšã¯å¯èœã§ãããããããããã¹ãŠã¯äººã ãã®ãã®ã§ãã ãããŠãã€ã³ã¿ãŒãããïŒãã·ã¢èªãšå€åœèªïŒã§ã®å«ã³ããå€æãããšãç§ã ããäžå¹žãªããã§ã¯ãããŸããã ãŸããlm_sensorsãèš±ããããšããŸãããããªããªããåãããŒã¿ãæ©æ¢°å¯èªåœ¢åŒã§sysfsããå·®ãåŒãããšãã§ããããã§ãã
äžè¬ã«ããã®èšèšå
šäœãæ©èœããéåžžã«ç²ã匷ãã§ãã ãã£ã¹ã«ããªãŒã¯zabbixã§æ©èœããã¢ã€ãã ãäœæãããã°ã©ãã£ãã¯ãæç»ãããããªã¬ãŒãã¢ã©ãŒããéä¿¡ããŸãã幞çŠã«å¿
èŠãªãã®ã¯ä»ã«ãããŸããïŒ ã³ãŒãã¯ãŸã å®æããŠããªãã®ã§ãå
¬éããŸããã
ããŒã2-ããŒããŠã§ã¢
ãŠãããã±ãŒã¹ãå°ç¡ãã«ããããšã¯åžžã«å¯èœãšããããã§ã¯ãããŸããããå£ã«éŒ»æ°ŽãåããŠãããããªæ°ãããŸããã éåžžã«ãšã¬ã¬ã³ããªãœãªã¥ãŒã·ã§ã³-DINã¬ãŒã«ããããŸãã ã¬ãŒã«ä»ãã®æ§é ç©ã®å±±ã¯åžå Žã§è²©å£²ãããŠãããã©ãã¯ããŠã³ãé»æºïŒç§ã¯MeanWell DR-15-5ã䜿çšïŒãããã³ããããçš®é¡ã®èªåæ©ã眮ãããšãã§ããŸãã ãããã£ãŠãç§ã¯raspiçšã®DINã¬ãŒã«äžã®ã±ãŒã¹ã欲ããã£ãã ããã2人ã®åå¿ã¯åè£è
ãšèŠãªãããŸãã
-Italtronicãš
RasPiBoxã®ã¢ãã«ã RasPiBoxã®å©ç¹ã¯ããããã¿ã€ãã³ã°ããŒããæ¢ã«ãããããžæ¥ç¹ïŒGPIOã®ã¹ã¿ãã©ã€ã¶ãŒãä»ããŠïŒããé»åãäŸçµŠãããããšã§ããããã¯äŸ¿å©ã§ãããå®å
šã§ã¯ãªãå ŽåããããŸãã ãããã3å以äžã®è²»çšãããããã¬ãŒã«äžã®ã¹ããŒã¹ãããå€ãå æããéæãªçªããããŸããã Italtronicã¢ãã«ãçæ³çã§ã¯ãããŸãã-ãã®å¹
ã¯ãæ¢è£œã®16x2 LCDã¹ã¯ãªãŒã³ããã¹ãŠãã®å¹
ã«åãŸããªããããªãã®ã§ããã€ãŸããéæãªãŠã£ã³ããŠã®äŸ¡å€ã¯æ¥æ¿ã«äœäžããŸãããäœäŸ¡æ Œã§ãã®æ¬ ç¹ãèš±ãæºåãã§ããŠããŸããã
ã±ãŒã¹ã¯éåžžã«äŸ¿å©ã§ããããšãå€æãã2æã®ããªã³ãåè·¯åºæ¿ãŸãã¯äœãã®ã·ãŒããåãä»ããããã®ã¹ããŒã¹ããããŸãã éå°é»æ§ã®ESDä¿è·ãã£ã«ã ããã¬ã¡ã«ä»ãã®ã®ãããã«å
ãŸããã¢ã¯ãªã«ããåºæ¿ãäœæããŸãã

å
éšã®ããŒãã¯ãæ©æŠåãšäž¡åŽã®å°ããªæ£ã§ã®ã¿ä¿æãããŸããã€ãŸããå
éšã«å
åºãªåºå®ã¯ãããŸããã èŠããã®ãµã€ãºã«ãããããããã±ãŒã¹ã¯å°ãããç¹ã«ããŒããäžã®ã¬ãã«ã«æ¿å
¥ããå Žåã¯ãraspièªäœã®äžã«ããŸãã¹ããŒã¹ãæ®ããŸããã ãŸããè€æ°ã®LEDãšRTCä»ãã®ããŒããé
眮ããå¿
èŠããããããããŒããå¿
èŠã§ãã
枩床ããã³æ¹¿åºŠã»ã³ãµãŒãæ°ããã¢ãã¿ãŒã«æ¥ç¶ãããã 枩床ã«ã€ããŠã¯ãds18b20ãéžæããŸãããåäœããŸãããèªã¿åãå€ãä¿¡é Œã§ãã枩床èšãšæ¯èŒãã䟡å€ããããã»ã³ãµãŒã¯ä»æ§ã«å¿ããŠ0.5床ã®äœçœ®ã«ãããŸãã è£æ£ããããã«ãæ§æå
ã®å®æ°ã®èªã¿åãå€ã®åºæ¬çãªä¿®æ£ãè¿œå ãããã®ãããªæž©åºŠèšã§ãã§ãã¯ããŸããïŒ

ç§ã®ds18b20ã€ã³ã¹ã¿ã³ã¹ã¯èªåèªèº«ã«åãã€ããªãããšãå€æããŸããã ãããã次ã®ã»ã³ãµãŒã¯ã¡ããã©æšªããã£ãŠãããæ倧0.6床ã§ãã ãã ãããããã€ã³ã¹ã¿ã³ã¹ã«äŸåããŸãã1ã€ã¯åãã€ãããã1ã€ã¯ã»ãšãã©åãã€ããŸããã§ããã
湿床ããããšãããã»ã©åçŽã§ã¯ãããŸããã§ããã å®äŸ¡ã§ããããraspiã§ãŸââã£ããæ©èœããªãïŒã¢ããã°ã§ããããïŒãã©ã€ãã©ãªããªãïŒããã«äœ¿ãããïŒããŸãã¯èªç©ºã±ãŒãã«ã®ããã«é«äŸ¡ã§ãã å©äŸ¿æ§ãšããã¬ãšã«ã®åŠ¥åç¹ã
Adafruit BME280ã»ã³ãµãŒã§èŠã€ãããŸãããããã¯ãããŒãã¹ãšããŠæž©åºŠã衚瀺ããŸãïŒãã ããäžèšã®ããã«åãã€ãããšããããŸãïŒã
ds18b20ãåçŽã«ç±åçž®ã§å
ãã§åã¶ããšãã§ããå ŽåãBME280ã§ã¯ãã®ãããªçŠç¹ã¯æ©èœããŸããã ã±ãŒã¹ã«ã€ããŠã¯å€ãã®ã¢ã€ãã¢ããããŸãã-ãã®ãŸãŸã«ããŠãã¯ã€ã€ãŒãã¯ãã ä»ãããŠæ¥çå€ããºã«ã§åããŸãïŒãã§ã«åºå®çšã®è³ããããå€æããŠããŸãïŒãã³ã³ããŒãã³ãã®åºæ¿ãšåãã¢ã¯ãªã«ããããã±ãŒã¹ãäœæãã 3Dããªã³ã¿ãŒãæå
ã«ããã®ã§...ãããããã®åŸãç§ã¯åµã«ã€ããŠæãåºããŸããïŒ

ããã¯çæ³çãªã±ãŒã¹ã§ãã ã»ã³ãµãŒçšã®ååãªã¹ããŒã¹ããããã³ãã¯ã¿ãé
眮ããããã¡ã³ããã³ã¹ã®ããã«äŸ¿å©ã«ã¢ã¯ã»ã¹ããããã©ãã«ã§ãã¶ãäžããããã©ããã«æãããããããšãã§ããŸãã
DB9ãä»ããŠraspiã«ã»ã³ãµãŒãæ¥ç¶ããããšã«ããŸããã USBã©ã€ã³ã¯ã»ãšãã©ãªããRJ45ãœã±ããã¯å¯žæ³ã«é©åããŸããã åæãããUSBã±ãŒãã«ã®æ®éªžããã£ããããã§èŠã€ãã£ããããåµã»ã³ãµãŒãUSBçµç±ã§æ¥ç¶ããããšã«ããŸããã

raspiã®GPIOã³ãŒã ãä¿è·ããã±ãŒã¹ãå解ããããã«ãå¥ã®ã³ãŒã ãåãåºããŠã¯ãã ä»ãããŸããã æ«ã¯è§åºŠããããåçŽæ¹åã®ã¹ããŒã¹ãå°ãå¢ããŸããããå°ãèšç®ããªãã£ãããããã®æ«ã¯LEDã®æµæåšã«åãããŠããŸããã ãã¡ããããã¹ãŠãç±åçž®ã§ãã£ãããšå
ãŸããŠããŸãããå°æ¥çã«èŠããŠãã䟡å€ã®ããç¬éã§ãã ãã®çµæãã±ãŒã¹ã®ååãåé¢ããŠãããšãã°rtcãŸãã¯raspièªäœã®ããããªãŒã亀æããããšãã§ããŸãã ä»ã®ãã¹ãŠïŒããæ£ç¢ºã«ã¯ããã©ãã·ã¥ãã©ã€ãïŒã¯ãã±ãŒã¹ãéããã«äº€æã§ããŸãã
ååã®æºåãšæºåã®åç 1ã€ã®æšå¥šäºé
-ãã¿ã³ãä¿åããªãã§ãã ããã ç§ã¯ãããä¿åããã®ã§ããã¿ã³ã¯ããããé³ãç«ãŠãã ãã§ãªãïŒRPi.GPIOã©ã€ãã©ãªã¯ããã€ãã«å¯Ÿããä¿è·ãæäŸããŸãïŒãéåžžã«ç¹å®ã®äœçœ®ã§ã®ã¿æ©èœããŸãã é»æºããªãã«ããå¿
èŠãããå Žåã«åããŠãããã°ã©ã ã§ããã€ã¹ããªãã«ãããã¿ã³ãæäŸããŸããïŒUSBãã©ãã·ã¥ãã©ã€ãã§FSãããããªã·ã£ããããŠã³ã§äœåºŠã匷å¶çµäºããŸããïŒããæäŸãããã®ãããŸããªãããšãããããŸãã-ãŸããããã¥ã¡ã³ããèªãå¿
èŠããããŸããã ããªããç§ã®ããã«ããã¥ã¡ã³ããèªãã§ããªãå Žåãç¥ã£ãŠãã-ãªãŒããŒã¬ã€gpio_shutdownã¯ããªããæåŸ
ãããããããªããã®ã§ã¯ãªããåæããããšãã«ããã€ãã®ãã³ã§é«/äœã¬ãã«ãå
¬éããã ããªã®ã§ãäŸãã°å€éšé»æºãåããå¯èœæ§ããããŸãã ãã¿ã³ã§raspiãç¡å¹ã«ããã«ã¯ãã«ãŒãã«ã¢ãžã¥ãŒã«
rpi_power_switch ïŒãã ããã³ã³ãã€ã«ããå¿
èŠããããŸãããããã«ã¯ã«ãŒãã«ããããŒãå¿
èŠã§ãïŒãŸãã¯ã«ã¹ã¿ã ããŒã¢ã³
Adafruit-GPIO-HaltããããŸãã ç§ã¯èªåã®hostdãæã£ãŠããŠãLEDãç¹æ»
ãããŸãããåæã«ãã¿ã³ã«å¿çããŸãã
ãããã«
ãã®çµæãç£èŠçšã®ããŒããŠã§ã¢ãšãœãããŠã§ã¢ã®è€åäœãæ¡åŒµå¯èœã«ãªããçŸåšã®æè¡ã䜿çšããŠãé害ã«åŒ·ãããã«ãªããŸããã ãœãããŠã§ã¢ã®äžéšã¯ãä»ã®éšåãšã¯ç¬ç«ããŠæŽæ°ããã³åèµ·åã§ããŸãïŒsystemdã®ãããã§ãéçºè
ãšããŠã®ç§ããã®åªåã¯å¿
èŠãããŸããã§ããïŒã ãããŠæãéèŠãªã®ã¯ãããã»ã¹ãšçµæããå€ãã®åã³ãåŸãããšã§ããã ããŠãæ°ããç¥èã®å°ããªã«ãŒããè¿œå ãããŸããã
èªãã§ãããŠããããšãïŒ