ããšãã°ãZabbixãåºã䜿çšãããŠããç£æ¥ãªãŒãã¡ãŒã·ã§ã³ãããã³ã«ã§ããModbusã§åäœããããã€ã¹ããæ å ±ãåéãã枩床ã»ã³ãµãŒã®èªã¿åãå€ãååŸããMercury 230ã¡ãŒã¿ãŒããé»æ°ãã©ã¡ãŒã¿ãŒãååŸã§ããããã«ããã¢ãžã¥ãŒã«ãäœæããŸãã share.zabbix.comããŒã¿ã«ããŠãŒã¶ãŒã¯Zabbixã§ã®çµéšãå ±æã§ããŸãã
Modbusã«ã€ããŠäžèš
Modbusã¯ãç£æ¥ãªãŒãã¡ãŒã·ã§ã³ãããã¯ãŒã¯ïŒå·¥å Žãã¯ãŒã¯ã·ã§ããããã®ä»ã®ç£æ¥æœèšãããŸããŸãªãšã³ãžãã¢ãªã³ã°ã·ã¹ãã -Modbusã§ã€ãŸããããšãã§ããããããå ŽæïŒã§äœ¿çšãããéåžžã«äžè¬çãªãããã³ã«ã§ãã ãã®ãããã³ã«ã¯1979幎ã«Modiconã«ãã£ãŠéçºããããã®åŸæ°å幎ã«ããã£ãŠããã®å©ç¹ã®ãããã§Modbusã¯èšå€§ãªæ°ã®ç°ãªãããã€ã¹ã«å®è£ ãããŸããã
ã·ã³ãã«ã
Modbusã¯éåžžã«ã·ã³ãã«ã§ãã ããã«ãããæãç°¡åã§å®äŸ¡ãªéçã§å®è¡ããã³å®è£ ã§ããŸãã ãŸããéçºè ããœãªã¥ãŒã·ã§ã³ã§äœ¿çšããããšã劚ããŸããã
ã€ãŒãµããããµããŒã
Modbusã¯ãç£æ¥æœèšãå«ãã€ãŒãµããããããã¯ãŒã¯ã®æ®åã«éã«åãããã«æºåãããçŸåšã§ã¯ã·ãªã¢ã«ã©ã€ã³RS-232ãRS-485ïŒModbus RTU / ASCIIïŒã ãã§ãªããTCP / IPïŒModbus TCPïŒã§ãåäœããŸãã ã
éæŸæ§
ãããã³ã«ã®ãã¹ãŠã®ä»æ§ã¯ãªãŒãã³ã§ããã誰ã«å¯ŸããŠããã€ã€ãªãã£ãæ¯æãããšãªããææ決å®ã«äœ¿çšããããã¹ãŠã®äººãã¢ã¯ã»ã¹ã§ããŸãã
次ã«ãModbusãã©ã®ããã«æ©èœãããã«ã€ããŠç°¡åã«èª¬æããŸãã ããã€ã¹ã®ã¡ã¢ãªå ã®ããŒã¿ãžã®ã¢ã¯ã»ã¹ã¯ãç¹å¥ãªè«çããŒãã«ïŒ ãã£ã¹ã¯ãªãŒãå ¥åãã³ã€ã«ãå ¥åã¬ãžã¹ã¿ãä¿æã¬ãžã¹ã¿ïŒãä»ããŠå®è¡ãããŸãã æåã®2ã€ã®ããŒã¿ã¯ã·ã³ã°ã«ãããã®åœ¢åŒã§ãæåŸã®2ã€ã®ããŒã¿ã¯16ãããã¯ãŒãã®åœ¢åŒã§è¡šç€ºãããŸãã
ããŒãã« | ããŒã¿å | ã¢ã¯ã»ã¹ |
---|---|---|
é¢æ£å ¥å | 1ããã | èªã¿åãå°çš |
ã³ã€ã« | 1ããã | èªã¿æžã |
å ¥åã¬ãžã¹ã¿ | 16ããã | èªã¿åãå°çš |
ä¿æã¬ãžã¹ã¿ | 16ããã | èªã¿æžã |
æåã®2ã€ã®è¡šã¯ãåçŽãªé¢æ£å€ãæ±ãããã«äœ¿çšã§ããŸãïŒããªãŒãã³ã¯ããŒãºãããäºæ ã§ã¯ãªãäºæ ããªã©ã ãŸãã å ¥åããã³ä¿æã¬ãžã¹ã¿ã¯ä»ã®ãã¹ãŠã«äœ¿çšã§ããŸãã ããã«ãããŒã¿ã16ãããã«åãŸããªãå Žåã®åé¡ã¯ã2ã€ã®é£æ¥ããã¬ãžã¹ã¿ã䜿çšããããšã§ç°¡åã«è§£æ±ºã§ããŸãã ãããã£ãŠã32ãããã®floatãŸãã¯longã§äœæ¥ã§ããŸãã
ModbusããŒã¿èŠçŽ ã¯ããã¹ãŠã®ããŒãã«ã§0ã65535ã®ãšã³ãããŒãšã³ãã¢ãã¬ãã·ã³ã°ãéããŠã¢ã¯ã»ã¹ã§ããŸãã
ããŒã¿ãžã®ã¢ã¯ã»ã¹ã¯éè€ããªãå ŽåããããåããŒãã«ã¯åå¥ã®ã¡ã¢ãªãããã¯ã«ã€ãªãããŸãã
ãããã£ãŠãè€æ°ã®ããŒãã«ã䜿çšããŠåãããŒã¿ã«ã¢ã¯ã»ã¹ã§ããŸãã
ããšãã°ã16åã®ãã©ã€æ¥ç¹ãæã€ã³ã³ãããŒã©ãŒããããçŸåšã©ã®ããã«éããŠãããéããŠããããç¥ãããå Žåã 次ã«ã å ¥åã¬ãžã¹ã¿ããŒãã«ã䜿çšããŠ16åãã¹ãŠã®é£çµ¡å ã®å€ãäžåºŠã«ååŸãããã å ¥åãã£ã¹ã¯ãªãŒãããŒãã«ã䜿çšããŠãã¹ãŠã®é£çµ¡å ãé çªã«èªã¿åããŸãã
Modbusããã€ã¹ãã·ãªã¢ã«ã©ã€ã³ïŒRS-485ïŒäžã«ããå ŽåãModbusã®åããã€ã¹ã«ã¯åºæã®ã¢ãã¬ã¹ïŒã¹ã¬ãŒãIDã1ã247ïŒããããåãåããããã€ã¹ã¯åžžã«1ã§ããããã¹ã¿ãŒãšåŒã°ããŸãã Modbus TCPããã€ã¹ã®å ŽåãIPã¢ãã¬ã¹ã§ååã§ãã
ããã§å°æ¥ã®ã¢ãžã¥ãŒã«ã§Zabbixããã¹ãããŸããïŒ
ã³ã³ããŒã¿ãŒãä»ããŠã³ã³ãããŒã©ãŒã§RS-485ãããã¯ãŒã¯ã«æ¥ç¶ããããModbus TCPãçŽæ¥ãµããŒãããããã€ã¹ãæäœããããšã«ãããModbusãã¹ã¿ãŒãšããŠé 眮ã§ããŸãã
ç°å¢èšå®
Zabbixã§Modbusã¢ãžã¥ãŒã«ããã¹ãããã®ã«åœ¹ç«ã€å°ããªãã¹ããã³ããæºåããŸãã åœå ã¡ãŒã«ãŒAriesã®æ©åšã䜿çšããŸããAriesã®å ¥åºåããã€ã¹ã«ããã枩床ãããŸããŸãªåå¥ã®ã»ã³ãµãŒãããã³é»æºãã©ã¡ãŒã¿ãŒãå¶åŸ¡ã§ããŸãã ããŒãã¹ãšããŠãDU-1M MAX-Logicã³ã³ããŒã¿ãŒã䜿çšããŠäžè¬çãªäžçžMercury 230Ré»æ°ã¡ãŒã¿ãŒããèªã¿åãå€ãååŸããŸããããã«ãããçµã¿èŸŒã¿Mercuryãããã³ã«ãModbusã«å€æã§ããŸãã ããããã¹ãŠã®ããã€ã¹ã¯RS-485ãã¹ã«æ¥ç¶ãããŠãããZabbixã¯RS232 / RS485ã³ã³ããŒã¿ãä»ããŠãã¹ã¿ãŒãšããŠã¢ã¯ã»ã¹ã§ããŸãã
Modbusæäœçšã®Ariesã¢ãžã¥ãŒã«ã®æ§æã«ã€ããŠã¯ãããã€ã¹ã®ããã¥ã¡ã³ãã«èšèŒãããŠããŸãã äžè¬çã«ãããã§ããªããããå¿ èŠããããã®ã§ãïŒ
Ariesã³ã³ãã£ã®ã¥ã¬ãŒã¿ãŒãä»ããŠãRS232 / RS485ã³ã³ããŒã¿ãŒãä»ããŠãã¹ãŠã®ã¢ãžã¥ãŒã«ã«é çªã«æ¥ç¶ããŸãã
- äžæã«ãªãããã«slaveidã¢ãã¬ã¹ãå€æŽãã
- Modbus RTU亀æãããã³ã«ãèšå®ãã
- MK110.224.2Aã®å ŽåïŒæ¥ç¶ãããŠãã枩床ã»ã³ãµãŒã®ã¿ã€ããéžæããŸã
DU-1M MAX-LogicïŒMercury 230 ïŒã®å Žåããã¹ãŠãããå°ãè€éã§ãïŒãŸããDU-1Mã®æ瀺ã«æ³šææ·±ãåŸã£ãŠãMercury 230ã«ãŠã³ã¿ãŒã«æ¥ç¶ãã次ã«Ariesã®ãããªå± å¿å°ã®è¯ãã°ã©ãã£ã«ã«ã³ã³ãã£ã®ã¥ã¬ãŒã¿ãŒã®ä»£ããã« ãã³ã³ãœãŒã«ãŠãŒãã£ãªãã£ãŒmodpollã䜿çšããŠãã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ã¬ãžã¹ã¿ã«ã³ãã³ããéä¿¡ããŸãã«ãŠã³ã¿ãŒãšãã¢ãªã³ã°ããŸãïŒãã£ãšïŒïŒã
çµæã¯æ¬¡ã®ãšããã§ãã
ãããŠããããã©ã€ãã®æ§åã§ãïŒ
ã¹ã¿ã³ããçµã¿ç«ãŠãã ã modpollã䜿çšããŠæäœæ§ããã¹ãããŸã ãããšãã°ã枩床ã»ã³ãµãŒãMV110-2Aã«æ¥ç¶ããããã€ã¹ã®ããã¥ã¡ã³ãã«èšèŒãããŠããããã«ãã¬ãžã¹ã¿10ãä»ããŠåãåãããŸãã
ãŸãã¯ãT1æéã§æ°Žæã«ãŠã³ã¿ãŒã®ãšãã«ã®ãŒæ¶è²»ãåé€ããŸãã
ã芧ã®ãšãããæ¥ç¶ããããããŒã¿ãåéãããŠããŸãã ãã®ããŒã¿ãZabbixã«é ä¿¡ããæãæ¥ãŸããã
ã¢ãžã¥ãŒã«ã®äœæ
Zabbixçšã®ã¢ãžã¥ãŒã«ãæžãæ¹æ³ã¯ïŒ
UserParameterãä»ããŠã¹ã¯ãªãããå®è¡ããå Žåã®ããã«ãæåã«Zabbixèªäœã®ããŒã¿èŠçŽ ããŒãã©ã®ããã«èŠããããèããå¿ èŠããããŸãã ããããå§ããŸããããç§ãã¡ã®å Žåãããã¯ãã®ãããªããŒã«ãªããŸãïŒ
modbus_read_registers[ <connection>, <slave_id>, <reg_to_read>, <modbus_function>, [<datatype>],[<endiannes>],[<first_reg>] ]
ãã®ããŒå ã§ã4ã€ã®å¿ é ãã©ã¡ãŒã¿ãŒãš3ã€ã®ãªãã·ã§ã³ãã©ã¡ãŒã¿ãŒãæž¡ããŸãã
- æ¥ç¶ -æ¥ç¶ãã©ã¡ãŒã¿ãŒä»ãã®IPã¢ãã¬ã¹ãŸãã¯ã·ãªã¢ã«ããŒã
- slave_id -Modbusããã€ã¹ID
- reg_to_read-ããŒã¿ä»ãã®å€§åãªã¬ãžã¹ã¿
- modbus_function -ModbusããŒãã«ãèªã¿åãããã®é¢æ°ã®1ã€ã1- COILSãèªã¿åããã
- 2- ãã£ã¹ã¯ãªãŒãå ¥åã®å Žåã3-ä¿æã¬ãžã¹ã¿ãŒã®å Žåãããã³å ¥åã¬ãžã¹ã¿ãŒã®å Žå㯠4
- datatype-ã¬ãžã¹ã¿ããè¿ãããããŒã¿ã®ã¿ã€ãã ãããã16ãããæŽæ°ã32ãããæŽæ°ããŸãã¯32ãããæµ®åå°æ°ç¹ã
- endianness ã first_reg -32ãããå€ã®ãããé åºãæ£ããèšå®ãããããããã³äœ¿çšããã¢ãã¬ã¹æå®ã瀺ãããã«å¿ èŠã§ã-ModbusããŒã¿ã¢ãã«ïŒæåã®èŠçŽ ãã¢ãã¬ã¹1ãšæåŸã®nãæã€ããŒãã«èŠçŽ ïŒãŸãã¯PDUã¢ãã¬ã¹æå®ïŒ0ã65535ã®ã¢ãã¬ã¹æå®ïŒ ïŒ
ããã§ã圌ãã¯æãã€ããã®ã§ãã¢ãžã¥ãŒã«ã«çŽæ¥è¡ããŸãããã å®éãModbusã¬ãžã¹ã¿ããããŒã¿ãåéããããã®é¢æ°ãäœæãã次ã®é¢æ°ããç¹å¥ãªZabbixã€ã³ã¿ãŒãã§ãŒã¹ãè¿œå ããå¿ èŠããããŸãã
2ã€ã®å¿ é æ©èœïŒ
int zbx_module_api_version(void); int zbx_module_init(void);
ãŸãã3ã€ã®ãªãã·ã§ã³ïŒ
ZBX_METRIC *zbx_module_item_list(void); void zbx_module_item_timeout(int timeout); int zbx_module_uninit(void);
ãããã dummy.cã®äŸããå®å šã«ã³ããŒããŸããããã¯ãZabbixã®ããã¥ã¡ã³ãã«èšèŒãããŠããŸãã åªãããæéãšãšãã«ã®ãŒã®ç¯çŽãåé²ããŸãã
ãããŠãåé¡ã¯ãã³ã¬ã¯ã·ã§ã³é¢æ°èªäœãã©ã®ããã«æžããã§ãã ã¡ãªã¿ã«ã次ã®ããã«åŒã³åºããŸãããã
int zbx_modbus_read_registers(AGENT_REQUEST *request, AGENT_RESULT *result)
ãããŠãããã§ã®äœæ¥ã¯æå°éã«æããããŸããããã¯ãModbusãããã³ã«ã®å®è£ ãæãªããããã€ãŒã«ãåçºæããªãããã«ãCã©ã€ãã©ãªã䜿çšããããã§ã ã
libmodbusã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšããŠãZabbixããã®åä¿¡ããŒã¿ãæ€èšŒãã libmodbusããããŒãªã³ã°é¢æ°ãå®è¡ã ãåä¿¡ããå€ãZabbixããŒã¿åã«å€æã㊠è¿ãã ãã§ãã ããŠããŸãã¯ãšã©ãŒãè¿ããŸãã
ç§ãèŠéãã詳现ã®æ®ãã®éšåã¯ã ããã§èŠã€ããããšãã§ããŸã ã
ããäžåºŠãéèŠãªç¹ãããã€ã匷調ããŸãã
1ïŒé¢æ°ãæ£åžžã«å®è¡ããããšãçµæã¯ãã¯ããä»ããŠ* resultã«æ ŒçŽãããŸãã
- SET_UI64_RESULT-çµæãæŽæ°ã®å Žå
- SET_DBL_RESULT-çµæãæµ®åå°æ°ç¹æ°ã®å Žå
- SET_STR_RESULT-çµæãCharã®å Žå
- SET_TEXT_RESULT-çµæãããã¹ãã®å Žå
- SET_LOG_RESULT-çµæããã°ã®å Žå
äŸïŒ
SET_DBL_RESULT(result, modbus_get_float(temp_arr));
ãŸããé¢æ°èªäœã¯SYSINFO_RET_OKãè¿ãå¿ èŠããããŸãã
2ïŒäœãåé¡ãçºçããå Žåã¯ã SYSINFO_RET_FAILãè¿ãå¿ èŠãããã *çµæã«ãZabbix Webã€ã³ã¿ãŒãã§ãŒã¹ã§ç¢ºèªã§ãããšã©ãŒã¡ãã»ãŒãžãå ¥åããŸãã
SET_MSG_RESULT(result, strdup("Check datatype provided."))
3ïŒãã¹ãŠã®åä¿¡ãã©ã¡ãŒã¿ãæ€èšŒããããšãå¿ããªãããšãéåžžã«éèŠã§ãã ããããªããšãã¢ãžã¥ãŒã«ã®ã¯ã©ãã·ã¥ã«ããZabbixãµãŒããŒãŸãã¯ãšãŒãžã§ã³ããã¯ã©ãã·ã¥ããŸãã
4ïŒZabbixã¯å€ãã®ããŒãªã³ã°ããã»ã¹ã䞊è¡ããŠå®è¡ããŸãã ãããã£ãŠãåæã¢ã¯ã»ã¹ã蚱容ããªããªãœãŒã¹ïŒãã®å Žåã¯ãã¡ã€ã«ãŸãã¯ã·ãªã¢ã«ããŒãïŒã䜿çšããå Žåã¯ããã®ã¢ã¯ã»ã¹ãèªåã§å¶åŸ¡ããå¿ èŠããããŸãã ã»ããã©ã䜿çšããŠãããè¡ããŸããããããã¯ã¿ã¹ã¯ãå€å°è€éã«ããŸããã幞ããªããšã«ããã¯å¿ ãããå¿ èŠã§ã¯ãããŸããã
5ïŒå€éšã®libmodbusã©ã€ãã©ãªã䜿çšããããããZabbixã¢ãžã¥ãŒã«ã䜿çšãããã·ã¹ãã ã«ã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã
wget http://libmodbus.org/releases/libmodbus-3.1.2.tar.gz tar zxvpf libmodbus-3.1.2.tar.gz cd libmodbus-3.1.2 ./configure make make install ldconfig
ãã®çµæãã¢ãžã¥ãŒã«çšã«æ¬¡ã®ã³ãŒããåŸãããŸããã
ãããã³ã³ãã€ã«ããçµæã®.soãã¡ã€ã«ãZabbixãµãŒããŒãŸãã¯ZabbixãšãŒãžã§ã³ãã«è¿œå ããŸãã ã¢ãžã¥ãŒã«ã¯Zabbixèªäœã®ããã€ãã®ããããŒã«äŸåããããšãèŠããŠããããšãéèŠã§ãã ãããã£ãŠãZabbixãšã¯å¥ã«ãã¹ãŠãåéããå Žåã¯ãZabbixãœãŒã¹ããå°ãªããšãzbxtypes.hãmodule.hãsysinc.hãèªåã«ã³ããŒããŸãã ãŸããããã ãã§ãã
ã¹ã¿ã³ãã§ã®ãã¹ã
ããšãã°ãã³ã³ãã€ã«ããããã¡ã€ã«libzbxmodbus.soã ZabbixãµãŒããŒã«ã¢ããããŒããããŸããããã®ããã«ãZabbixèšå®ãã¡ã€ã«ã«è¿œå ããŸãã
LoadModulePath = /usr/local/lib LoadModule = libzbxmodbus.so
ã·ãªã¢ã«ããŒãã«ã¢ã¯ã»ã¹ããããã«ã zabbixãŠãŒã¶ãŒããã€ã€ã«ã¢ãŠãã°ã«ãŒãã«è¿œå ããŸãïŒ
usermod -a -G dialout zabbix
...ãããŠãZabbixãåèµ·åããŸãã
/etc/init.d/zabbix-server restart
ãã¹ãŠãæ£åžžã«åèµ·åããããZabbixã«ç§»åããŠModbusããã€ã¹çšã®ãã³ãã¬ãŒããäœæããŸãã
ãã³ãã¬ãŒããäœæ
ãŸãã枩床ã»ã³ãµãŒãèªã¿åãããã«MB110-224.2A ã®ããŒã¿èŠçŽ ãäœæããŸã ã
ããŒã¯ã©ãã§ããïŒ
modbus_read_registers[{$MODBUS_PORT},{$MODBUS_SLAVE},10,3,f,1,0]
- {$ MODBUS_PORT} -ããã€ã¹ãžã®æ¥ç¶ãã©ã¡ãŒã¿ãŒã«ãã£ãŠäžæžãããããã¯ã ã ããšãã°ããã¹ãã¬ãã«ã§ã¯ã{$ MODBUS_PORT}ã/ dev / ttyUSB0 9600 N 1ãšããŠå®çŸ©ããŸã
- {$ MODBUS_SLAVE}ã¯slave_idãæå³ããå¥ã®ãŠãŒã¶ãŒãã¯ãã§ããã 32ã«æžãæããŸã
- 10-枩床å€ãååšããã¬ãžã¹ã¿
- 3-èªã¿åãã«äœ¿çšãããModbusé¢æ°ããã®å Žåã¯0x03 READ HOLDING REGISTERS
- f-ããŒã¿åãfloat
- 1 -Ariesã³ã³ãããŒã©ãŒã¯ããã°ãšã³ãã£ã¢ã³ã䜿çšããŠãåãã¬ãžã¹ã¿ã«åãŸããªãå€ããšã³ã³ãŒããããã
- 0 -PDUã¢ãã¬ãã·ã³ã°ã䜿çšãããŸã
ããã§ãã©ã¡ãŒã¿ãéžæããæ¹æ³ã®è©³çŽ°ã ããã«ã以äžãæå®ããå¿ èŠããããŸãã
çš®é¡
ç°¡åãªãã§ã㯠-ã¢ãžã¥ãŒã«ãZabbixãµãŒããŒããã³Zabbixãããã·ã«ããŒããããŠããå Žåã
ZabbixãšãŒãžã§ã³ã -ã¢ãžã¥ãŒã«ãZabbixãšãŒãžã§ã³ãã«ããŒããããŠããå Žå
æ å ±ã®çš®é¡ ïŒ
ç§ãã¡ã®å Žåãããã¯NumericïŒfloatïŒã§ãã
ãã¹ãäœæ
ãã¹ããäœæããåæãããšããã«ãã¯ããå®çŸ©ããŸãã
ãããŠãäœæãããã³ãã¬ãŒããæ·»ä»ããŸãã
ããŒã¿
[æè¿ã®ããŒã¿]ã»ã¯ã·ã§ã³ã«ç§»åããã»ã³ãµãŒããåéããããŒã¿ã®ç£èŠãéå§ã§ããŸãã
ãããŠãæ®ãã®ããã€ã¹ã¬ãžã¹ã¿ã®ãã³ãã¬ãŒããäœæããããšã«ããã次ã®å³ãååŸããŸãã
ããã§ã¯ã ããªã¬ãŒ ã ã°ã©ã ã ç»é¢ããã³ãã¬ãŒãã§èªç±ã«äœæã§ããŸãã
ãããã«
ããŠã³ããŒãå¯èœãªã¢ãžã¥ãŒã«ã䜿çšããŠãZabbixéçºè ã¯ãZabbixã§éåžžã«é«éã§çµ±åãããæ¡åŒµæ©èœãäœæããããã®ã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããŠãããŸããã ã¯ããå¯èœæ§ã¯ãããŸã§ã®ãšããæ°ããã¿ã€ãã®ããŒã¿èŠçŽ ãäœæããããšã«ãã£ãŠå¶éãããŠãããããšãã°ãæ°ããããªã¬ãŒæ©èœïŒ ZBXNEXT-2650 ïŒãè¿œå ããããšã¯ã§ããŸããããåŸ ã£ãŠãã ããã
ã¢ãžã¥ãŒã«ãã€ã³ã¿ãŒãããäžã§æªçšãããã®ãé²ãããã«ãã«ã¹ã¿ã ãœãªã¥ãŒã·ã§ã³-share.zabbix.com-ãäœæããããã®éèŠãª2çªç®ã®ã¹ããããå®è¡ãããŸãããããã¯ãZabbixã®ãã³ãã¬ãŒããã¢ãžã¥ãŒã«ããã®ä»ã®æ¡åŒµæ©èœã亀æããããã«äœæãããåäžã®ãªããžããªã§ãã ããªãããŒãªéçã®ãã³ãã¬ãŒãããæ¢ãã§ããïŒ ãŸãã¯ãããªãããŒãªéã®ãã³ãã¬ãŒããäœæããä»ã®äººãšå ±æããæºåãã§ããŠããŸããïŒ PostgreSQLãç£èŠãããœãªã¥ãŒã·ã§ã³ããæ¢ãã§ããïŒ ãŸãã¯Docker ïŒ
åå ããŠãã ããïŒ ããŠãç§ãã¡ã®ã¢ãžã¥ãŒã«ãããã«ãããŸãã