
Zabbix Meetup Online ã«é¢ãã Daria Vilkova ã«ããã¬ããŒã
åŒç€ŸãZabbixã䜿çšããŠéçºããŠããPostgreSQLãšOSç£èŠããŒã«ã«ã€ããŠç޹ä»ããŸãã
ç§ãã¡ã¯ããã·ã¢ã§éåžžã«äººæ°ã®ããæŽ»çºãªã³ãã¥ããã£ã«ãã£ãŠãµããŒããããŠãããªãŒãã³ãœãŒã¹ ãã©ãããã©ãŒã ã§ãããããZabbix ãç£èŠããŒã«ãšããŠé·ãééžæããŠããŸããã
ç§ãã¡ã¯ã¢ã¯ãã£ã ãšãŒãžã§ã³ã Mamonsu ãäœæããŸãããããã¯ãåœæèš±å¯ãããŠããæšæºããŒã«ãããæè»ãªç£èŠãæäŸããã¡ããªã¯ã¹ã®åéãš Zabbix ãµãŒããŒãžã®éä¿¡ãä¿èšŒããŸããã åŒç€Ÿã§ã¯ç£æ»ã«ãã¢ã³ã¹ãå©çšããŠããŸãã
ãã¢ã³ã¹
Mamonsu ã¯ãPostgreSQL ãšãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãç£èŠããããã®ã¢ã¯ãã£ã ãšãŒãžã§ã³ã (Zabbix Trapper) ã§ãã Mamonsu (Python ã§æžãããŠããŸã) ã䜿çšãããšãPostgreSQL ãšãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã®ç£èŠèšå®ã XNUMX åã§æ§æã§ããŸãã
Mamonsu ã«ã¯è¿œå ã®ããŒã«ããããŸãã
- mamonsutune ã¯ãMamonsu ãšãŒãžã§ã³ããã€ã³ã¹ããŒã«ãããŠãããã·ã³ã® PostgreSQL æ§æãã¡ã€ã«ã®èšå®ãç·šéããã³ãã³ãã§ãã
- ãã¢ã³ã¹ã¬ããŒãã¯ãOSãPostgreSQLã«é¢ããåçãçæããã³ãã³ãã§ãã
Mamonsu 㯠DBMS ãµãŒããŒã«ã€ã³ã¹ããŒã«ãããæ å ±ãåéã㊠JSON ã«æ§æããèŠèŠåã®ããã« Zabbix ãµãŒããŒã«éä¿¡ããŸããããã«ã¯ã¡ããªã¯ã¹ã®ãã³ãã¬ãŒããååšããŸãã

ãã¢ã³ã¹ã®ä»äºã®ä»çµã¿
ç¹åŸŽ ãã¢ã³ã¹
- PostgreSQL ã䜿çšããå¹ççãªäœæ¥ã PostgreSQL ãžã®æ°žç¶çãªæ¥ç¶ã Mamonsu ã®äž»ãªå©ç¹ã§ãã ãã®å Žåãæå€§æ¥ç¶æ°ã¯æ¥ç¶å ã®ããŒã¿ããŒã¹ã®æå€§æ°ãšåãã«ãªããŸãã
- æ¡åŒµæ§ã Mamonsu ã¯å®å šãªããã©ã°ã€ã³ããšãŒãžã§ã³ãã§ãããåãã©ã°ã€ã³ã®åºå®æ§é ãš Python ã®æ¯èŒçåçŽãã«ãããæ°ãããã©ã°ã€ã³ã®äœææ¹æ³ãæšæºãã©ã°ã€ã³ (ã¡ããªã¯ã¹åéãã©ã¡ãŒã¿) ã®ç·šéæ¹æ³ãç°¡åã«åŠã¶ããšãã§ããŸãã
- ã¢ãã¿ãªã³ã°ææšãå¹ åºãã«ã㌠PotgreSQL ã®å Žåãæ¡åŒµæ©èœåºæã®ã¡ããªã¯ã¹ãå«ã¿ãŸãã
- ã¯ã€ãã¯èµ·åã ããã«äœ¿ããå¯çšæ§.
- ãã³ãã¬ãŒããšæ§æãã¡ã€ã«ã®ã¢ããããŒããZabbix ãµãŒããŒãžã®ã¢ããããŒããå¯èœã§ãã
- ã¯ãã¹ãã©ãããã©ãŒã ããã¯ãåœå ã®ãã®ãå«ãããŸããŸãª Linux ãã£ã¹ããªãã¥ãŒã·ã§ã³ã䜿çšããã客æ§ã«ãšã£ãŠéèŠã§ãã
- BSDæ¡é ã©ã€ã»ã³ã¹.
çŸæç¹ã§ã¯ãç§ãã¡ã¯å€ãã®ãã©ã°ã€ã³ãæäŸããŠãããæ¬¡ã®ããŒãžã§ã³ããšã«æ°ãããã®ã远å ããããšããŠããŸãã
- PostgreSQL çšã® 14 åã®ãã©ã°ã€ã³ã
- OS Linuxçšã®8ã€ã®ãã©ã°ã€ã³ã
- OS Windows çšã® 4 ã€ã®ãã©ã°ã€ã³ã
Mamonsu 㯠110 ãè¶ ãã PostgreSQL ãšãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã®ã¡ããªã¯ã¹ãåéããŸãã
- 70 ã® PostgreSQL ã¡ããªã¯ã¹ã
- 40 OS Linux ã¡ããªã¯ã¹ã
- 8 OS Windows ã¡ããªã¯ã¹ã
äž»èŠãªã¡ããªã¯ã¹ã«ã¯ãDBMS ã®å¯çšæ§ãæ¥ç¶æ°ãããŒã¿ããŒã¹ ãµã€ãºããã§ãã¯ãã€ã³ããèªã¿åã/æžã蟌ã¿é床ãããã¯ãèªåããã¥ãŒã ããã»ã¹ã®æ°ãWAL çæé床ãå«ãŸããŸãã å©çšå¯èœãªã¡ããªã¯ã¹ã®å®å šãªãªã¹ããšãã¹ãŠã®ããŒã«ã®è©³çްãªèª¬æã¯ã次ã®å Žæã«ãããŸãã GitHub ãµã€ãã§ã

GitHub ã§å©çšå¯èœãªã¡ããªã¯ã¹ã®ãªã¹ã
5åã§ãã¢ã³ã¹ãå®è¡
Mamonsu ã䜿çšã㊠PostgreSQL ãšãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã®ç£èŠãèšå®ããã«ã¯ã5 ã€ã®ç°¡åãªæé ã«åŸã£ãŠ 5 åã§å®è¡ã§ããŸãã
- ãã¢ã³ã¹ã®ã€ã³ã¹ããŒã«ã Mamonsu ã¯ãœãŒã¹ãããã«ãããããšããå©çšå¯èœãªããã±ãŒãžã䜿çšããããšãã§ããŸãã
$ git clone ... && cd mamonsu && python setup.py
build && python setup.py install
- æ¥ç¶èšå®ã Agent.conf ãã¡ã€ã«ã« PostgreSQL ãš Zabbix Server ã®æ¥ç¶ãã©ã¡ãŒã¿ãèšå®ããå¿ èŠããããŸãã
/etc/mamonsu/agent.conf
- ãã³ãã¬ãŒããZabbixãµãŒããŒã«ãšã¯ã¹ããŒã.
$ mamonsu zabbix template export
/usr/share/mamonsu/example.xml
- Zabbix ãµãŒããŒãžã®ãã¹ãã®è¿œå ã ãšã¯ã¹ããŒãããããã³ãã¬ãŒãã¯ãZabbix ãµãŒããŒäžã®æ°ãããã¹ãã«èªåçã«æ¥ç¶ãããŸãã
$ mamonsu zabbix host create mamonsu-demo
- èµ·åãã.
$ service mamonsu start
ãã¢ã³ã¹ã®éçºæ¹åæ§
Mamonsu ã®éçºã®äžç°ãšããŠãã¡ããªã¯ã¹ãæ¹è¯ããåã ã®ããŒãã«ã®ãµã€ãºãç£èŠãããã©ã°ã€ã³ãªã©ã®æ°ãããã©ã°ã€ã³ãäœæããäºå®ã§ãã ãŸãã远å ããŒã«ã®æ¹åãšäœæãããã³ã³ãã³ãã«ããèªåãã¥ãŒãã³ã°æ©èœã®æ¡åŒµãèšç»ããŠããŸãã ãã¢ã³ã¹ãã¥ãŒã³.
Zabbix Agent 2 ã®äžéšãšããŠã® PostgreSQL ç£èŠã¢ãžã¥ãŒã«
PostgreSQL ãžã®æ¥ç¶ã«ã¯é«éã§äººæ°ã®ãããã©ã€ããŒã䜿çšãããŸã (Go çšã® PG ãã©ã€ããŒãšããŒã«ããã)ã
ãããŸã§ã®ãšãããããŒã«ãã£ãŠãã³ãã©ãŒãåŒã³åºããšã¯ã¹ããŒã¿ãŒãšãæ§æãã¡ã€ã«ã§æå®ããããµãŒããŒãšã®æ¥ç¶ãã©ã¡ãŒã¿ãŒãèªã¿åã£ãŠãã§ãã¯ããã³ã³ãã£ã®ã¥ã¬ãŒã¿ãŒ Zabbix ãšãŒãžã§ã³ã 2 ã® XNUMX ã€ã®ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããŠããŸãã
ã¡ããªã¯ã¹ãã°ã«ãŒãåããã¡ããªã¯ã¹ãšã¡ããªã¯ã¹ ã°ã«ãŒãã®ãã³ãã© (ãã³ãã©) ã䜿çšããããšããŸã JSON å ã®ã¡ããªã¯ã¹ã®ã°ã«ãŒããåŸå±å€æ° (äŸåé ç®) ãšããŠäœ¿çšããããšãããã³äœã¬ãã«ã®æ€åº (æ€åºã«ãŒã«) ã䜿çšããããšã«ãã£ãŠãDBMS ã®åäœãæé©åããããšã詊ã¿ãŸããã ïŒã
äž»ãªæ©èœ
- ãã§ãã¯éã§ PostgreSQL ãžã®æ°žç¶çãªæ¥ç¶ãç¶æããŸãã
- æè»ãªããŒãªã³ã°ééã®ãµããŒãã
- PostgreSQL ããŒãžã§ã³ 10 以éããã³ Zabbix Server ããŒãžã§ã³ 4.4 以éãšã®äºææ§ã
- Zabbix Agent 2 ã§ã¯è€æ°ã®ã»ãã·ã§ã³ãäœæã§ãããããåæã«è€æ°ã® PostgreSQL ã€ã³ã¹ã¿ã³ã¹ã«æ¥ç¶ããŠç£èŠããããšãã§ããŸãã
PostgreSQL æ¥ç¶ãã©ã¡ãŒã¿ ã¬ãã«
PostgreSQL æ¥ç¶ãã©ã¡ãŒã¿ã«ã¯ãã¿ã¹ã¯ãšèšå®ãšããåèš XNUMX ã€ã®ã¬ãã«ããããŸãã
- ã°ããŒãã«ã
- ã»ãã·ã§ã³ã
- ãã¯ãã
ã°ããŒãã« ãã©ã¡ãŒã¿ã¯ãšãŒãžã§ã³ã ã¬ãã«ã§èšå®ãããã»ãã·ã§ã³ ãã©ã¡ãŒã¿ãšãã¯ã ãã©ã¡ãŒã¿ã¯ããŒã¿ããŒã¹æ¥ç¶ãã©ã¡ãŒã¿ãå®çŸ©ããŸãã
PostgreSQL ãžã®æ¥ç¶ãã©ã¡ãŒã¿ - ã»ãã·ã§ã³ã¯ãã¡ã€ã«ã«èšå®ãããŸã zabbix_agent2.conf.

PostgreSQL æ¥ç¶ãªãã·ã§ã³ - ã»ãã·ã§ã³
- ããŒã¯ãŒãã®åŸ ã»ãã·ã§ã³ãº äžæã®ã»ãã·ã§ã³åãæå®ãããŠãããã㌠(ãã³ãã¬ãŒã) ã§æå®ããå¿ èŠããããŸãã
- ãã©ã¡ãŒã¿ URI О ãŠãŒã¶ãŒå ãã¹ãŠã®ã»ãã·ã§ã³ã«å¿ èŠã§ãã
- ããŒã¹åãæå®ãããŠããªãå Žåã¯ããã¹ãŠã® PostgreSQL ã»ãã·ã§ã³ã®ããã©ã«ãã®å ±éããŒã¹åã䜿çšãããŸããããã¯æ§æãã¡ã€ã«ã«ãèšå®ãããŠããŸãã
- PostgreSQL ãžã®æ¥ç¶ãã©ã¡ãŒã¿ - ãã¯ãã¯ãã³ãã¬ãŒãã®ã¡ããªã㯠ããŒã«èšå®ãããŸã (Zabbix ãšãŒãžã§ã³ã 1 ã§äœ¿çšãããæ¹æ³ãšåæ§)ãã€ãŸãããã¯ãã¯ãã³ãã¬ãŒãã§äœæãããããŒã®ãã©ã¡ãŒã¿ãšããŠæå®ãããŸãã ãã®å Žåããã¯ãã®é åºã¯åºå®ãããŠããŸããã€ãŸããããšãã°æ¬¡ã®ããã«ãªããŸãã URI åžžã«æåã«ãªã¹ããããŸãã

PostgreSQL æ¥ç¶ãã©ã¡ãŒã¿ - ãã¯ã
PostgreSQL ç£èŠã¢ãžã¥ãŒã«ã«ã¯ã次ã®ãããªããªãåºç¯å²ã® PostgreSQL ãã©ã¡ãŒã¿ãã«ããŒã§ãã 95 ãè¶ ããã¡ããªã¯ã¹ããã§ã«å«ãŸããŠããŸãã
- æ¥ç¶æ°
- ããŒã¿ããŒã¹ã®ãµã€ãºã
- walãã¡ã€ã«ã®ã¢ãŒã«ã€ãã
- ãã§ãã¯ãã€ã³ãã
- ãè¥å€§åãããããŒãã«ã®æ°ã
- ã¬ããªã±ãŒã·ã§ã³ã¹ããŒã¿ã¹ã
- ã¬ããªã«ã®é å»¶ã
PostgreSQL ã¡ããªã¯ã¹ã¯ããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãã©ã¡ãŒã¿ããªããã°æçã§ã¯ãããŸããã ãã ããZabbix Agent 2 ã¯ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã®ãã©ã¡ãŒã¿ãåéããæ¹æ³ããã§ã«ç¥ã£ãŠãããããå šäœåãææ¡ããã«ã¯ãå¿ èŠãªãã³ãã¬ãŒãããã¹ãã«æ¥ç¶ããã ãã§ãã
ãã³ãã©
ãã³ãã©ãŒã¯ããªã¯ãšã¹ãèªäœãå®è¡ãããã¡ããªã¯ã¹ãåä¿¡ã§ããããã«ããã¢ãžã¥ãŒã«ã®ã¡ã€ã³ãŠãããã§ãã
åçŽãªã¡ããªã¯ã¹ãååŸããã«ã¯:
- æ°ããã¡ããªã¯ã¹ãååŸãããã¡ã€ã«ãäœæããŸãã
zabbix/src/go/plugins/postgres/handler_uptime.go
- ããã±ãŒãžãæ¥ç¶ããã¡ããªã¯ã¹ã®äžæã®ããŒãæå®ããŸãã

- ãªã¯ãšã¹ãã䜿çšããŠãã³ãã©ãŒ (ãã³ãã©ãŒ) ãäœæããŸããã€ãŸããçµæãå«ã倿°ãéå§ããŸãã

- ãªã¯ãšã¹ããå®è¡ããŸãã

ãªã¯ãšã¹ãã«ãšã©ãŒããªãããã§ãã¯ããå¿ èŠããããŸãããã®åŸãçµæã Zabbix Agent 2 ããã»ã¹ã«ãã£ãŠååŸãããŸãã
- æ°ããã¡ããªã¯ã¹ ããŒãç»é²ããŸãã

ã¡ããªãã¯ãç»é²ããåŸãæ°ããã¡ããªãã¯ã䜿çšããŠãšãŒãžã§ã³ããåæ§ç¯ã§ããŸãã
ãã®ã¢ãžã¥ãŒã«ã¯ãZabbix 5.0 以éã§ Web ãµã€ãããå ¥æã§ããŸãã ã ãã®ããŒãžã§ã³ã® Zabbix ã§ã¯ããã©ã¡ãŒã¿ã¯ãã¹ããšããŒããä»ããŠåå¥ã«èšå®ãããŸãã éããªããªãªãŒã¹ããã Zabbix 5.0.2 ã§ã¯ãæ¥ç¶ãã©ã¡ãŒã¿ãåäžã® URI ã«ããã±ãŒãžåãããŸãã
ããããšãããããŸããïŒ
䟿å©ãªãªã³ã¯é
åºæïŒ habr.com
