X5 ืืคืขืืื 43 ืืจืืื ืืคืฆื ื-4 ืืฉืืืืช ืืฉืื, ืื ืฉืืืืื ืืกืคืงื โโืจืฆืืคื ืฉื ืืืฆืจืื ื-029 ืื ืืืืช. ืืืืืจ ืื ืืฉืชืฃ ืืช ืื ืืกืืื ืฉืื ืืืฆืืจืช ืืขืจืืช ืืื ืืจืืงืืืืืช ืื ืืืืจ ืืืจืืขื ืืืกื ืืืคืก. ืืืืืข ืืืื ืฉืืืืฉื ืืืืืืกืืืงืืื ืฉื ืืืจืืช ืกืืจ ืขื ืืื ืขืฉืจืืช ืืจืืื ืืคืฆื ืืื ืืืื ืืืืื ืจืื ืฉื ืืืฆืจืื.
ืืืื, ืื ืืืช ืืขืจืืืช ื ืืืืจ ืื ืืืื ืชืืืืืื ืขืกืงืืื ืืชืืืื ืืขืืืื ืืืืขืืช ืืชืงืืืช. ืืื ืขื ืืืช, ืืชืคืกืคืกืช ื ืงืืื ืืื ืืืืืืช ืืฉืืื ืืงืฉืืจื ืืืคืฉืจืืช ืืืืืืืฆืื ืฉื ืขืฆื ืืชืจืืฉืืชื ืฉื ืืืจืืขืื ืขืกืงืืื ืืจืืฉืื ืืืจืืขืื. ืืจืื ืืืขืจืืืช ืืขืกืงืืืช ืืืื WMS, TMS ืืื', ืืฉ ืืืื ืืืื ืื ืื ืืืืจ ืชืืืืืื ืืฉืืื. ืืื, ืื ืืื ืืขืจืืืช ืืืฆืจื ืื ืฉืื ืื ืื ืฉืคืื ืงืฆืืื ืืืืช ืื ืืืืจ ืืื ื ืืคืืชืืช ืืกืคืืง, ืขืืื ืืืืืื ืฉืื ืืืื ืืงืจืื ืื ืืืฉืื ืืืขืฆืื ืืืืืืื ืืืืืจืืช ื ืืกืคืืช.
ืืื ื ืฉืงืื ืืืฉื ืฉืื ืื ื ืืงืืงืื ืจืง ืืืืง ืงืื ืืืืืขืืฅ ืืงืฉืืจ ืืืืืื ืืงืืจืืช (ืืืืืืช) ืืื ืืงืื ืืื ืืืงืืืจืื ืืืืขืจืืช.
ืืกืคืฆืืคืืืช ืฉื ืืืืกื ืื ืฉืื ื ืืื ืฉืืกืคืจ ืืขืจืืืช ื ืืืื ืืืกื ืื (WMS Exceed) ืคืืขืืืช ืืืชืื ืืืืืกืื ืืื. ืืืกื ืื ืืืืืงืื ืืคื ืงืืืืจืืืช ืฉื ืืืกืื ืกืืืจืืช (ืืืฉ, ืืืืืืื, ืงืคืื ืืื') ืื ืจืง ืืืืื ื ืืืืืช. ืืชืื ืืชืื ืืืืืกืื ืืื ืืฉื ื ืืกืคืจ ืื ืืื ื ืืืกื ืื ื ืคืจืืื, ืฉืื ืืื ืืื ืื ืืื ืขื ืืื WMS ืืฉืื.
ืืื ืืืฆืืจ ืชืืื ื ืืืืืช ืฉื ืืชืืืืืื ืืืชืจืืฉืื ืืืืกื, ืื ืืืื ืื ืชืืื ืืช ืืืืืื ืฉื ืื WMS ืืกืคืจ ืคืขืืื ืืืื, ืืขืืืื ืืืืขืืช ืืืคืขืืื ืืืืกื ืื (ืงืืืืื, ืงืืืคืื, ืืขืจืืื) ืืืกืืืื ืืื ืืืงืืืจืื ืชืคืขืืืืื ืืคืืขื ืืฉืืงืืฃ ืขื ืืื ืืืืืข.
ืืื ืืืกืื ืืื ืืื ืืืื, ืืืืื ื ืืคืชื ืืขืจืืช ืืืื ืืืงืจื ืชืคืขืืืืช ืฉื ืืืจืืขื ืืืกื. ืืืขืจืืช ืืืืฉื, ืื ืืกืฃ ืืืฆืืช ืืื ืืืงืืืจืื "ืืืื" ืืืืฆืืขืื ืืชืคืขืืืืื ืฉื ืชืืืืื ืืืกื, ืืืืจื ืืกืืืข ืืื ืืืื ืื ืืจืืฉืื ืืืจืืขืื ืืืขืงื ืืืจ ืืืฉืื ืืืฉืืืืช ืืืืืื ืืืืจืืื ืืืฉืคืืขืื ืขื ืืืื ืืืงืืืจืื ืื ืชืื ืื. ืืืืจ ืืืฆืืข ืืืงืืจืช ืืืืืช ืฉื ืืจืืืืงืืืจืช ื-IT ืฉื ืืืืจื, ืืื ื ืฉืืืงืื ืืืืืื ืฉื ืืืขืจืืช ืื ืืจืฉืช ืืืจ ืงืืืืื ืืฆืืจื ืืื ืื ืืืจืช ืื ืืฃ ืฉืื ื ืืขืืืจื ืืฉ ืื ืืืืงื ืฉื ืืืืืจืืช ืืื ืฉืืจืืชื ืืชืืืื ืืืจืืฉืื. ืื ืฉื ืืชืจ ืืื ืืืืื ืืช ืื ืืงืื ืกืคื ืืคืชืจืื ืืืจืืืื ืืื ืืืืขืจืื ืืช ืืืงืฃ ืืคืืชืื.
ืืืืจ ืืขืจืืช ืืืืช ืืขืืืื ืื ืืจืฉืช ืืื ืืืช ืืขืจืืช ืืืฉื, ืืืืื ืืคืฆื ืืช ืืคืจืืืงื ืืืกืคืจ ืฉืืืื:
- ืืืกืืฃ ืืืืื ืืชืืืืื ืืืกื, ืืืืื ืืืงืจื ืขื ืืื ืืืงืืืจืื ืืกืืืืช
- ืืืืืืฆืื ืฉื ืชืงื ื ืชืืืืืื ืืจืืฉืื ืืืฉืืืื ืืฉืืจืืช ืืฉืืจืืชืื ืืขืกืงืืื ืืืจืืืืช
- ื ืืืืจ ืืืื ืขื ืืืืื ืขืืืก ืืืฆืืจืช ืืืืฆืืช ืืื ืืืื.
ืืฉืื ืืจืืฉืื, ืขื ืืืขืจืืช ืืืกืืฃ ืคืจืืกืืช ืืืื ืืช ืฉื ื ืชืื ืื ืชืคืขืืืืื ืืื ื-WMS ืฉื ืืืชืื. ืืงืจืืื ืืชืจืืฉืช ืืืขื ืืืื ืืืช (ืืจืืืืื ืฉื ืคืืืช ื-5 ืืงืืช). ืืืืืื ืืื ืฉืืฉ ืืงืื ื ืชืื ืื ืื-DBMS ืฉื ืืื ืขืฉืจืืช ืืืกื ืื ืืขืช ืคืจืืกืช ืืืขืจืืช ืืื ืืจืฉืช. ืื ืชืื ืื ืืชืคืขืืืืื ืฉืืชืงืืื ืืขืืืืื ืขื ืืื ืืืืืืื ืฉื ืืืืช ืืืขืจืืช ืืื ืืืฉื ืกืืืืช ืืืื ืืืงืืืจืื ืืชืืื ื ืื ืืืืืฉืื ืกืืืืกืืืงื. ืื ืชืื ืื ืืืขืืืืื ืืืจื ืื ืืืืืื ืืืืืช ืืืฆืืื ืืืืืื ืฉื ืืื ืื ืื ืืืื ืืืืืข ืฉื ืืืืกื ืืฆืืจื ืฉื ืืจืคืื ืืืืืืจืืืช ืืืื ืืช.
ืืืืืจืช ืืขืจืืช ืืชืืืื ืืืืฉืื ืคืืืืื ืฉื ืืฉืื ืืจืืฉืื, ืืืจื ื ื-Zabix. ืืขืจืืช ืื ืืืจ ืืฉืืฉืช ืื ืืืืจ ืืืฆืืขื IT ืฉื ืืขืจืืืช ืืืกื ืื. ืืืืฆืขืืช ืืืกืคืช ืืชืงื ื ื ืคืจืืช ืืืืกืืฃ ืืืืื ืขืกืงืืื ืฉื ืชืคืขืื ืืืืกื, ื ืืชื ืืงืื ืชืืื ื ืืืืืช ืฉื ืชืงืื ืืช ืืืืกื.
ืืืจืืืืงืืืจื ืืืืืืช ืฉื ืืืขืจืืช ืืชืืจืจื ืืื ืืืืืจ.
ืื ืืืคืข ืฉื WMS ืืืืืจ ืืืืจื ืขืืืจ ืืขืจืืช ืื ืืืืจ. ืืืืื ื ืืกืคืื ืขื ืืื ืฉืจืช ืืจืืื ืืจืฉืช ืืจืื ืื ืชืื ืื ืขื ืืื ืืคืขืืช ืกืงืจืืคื ืขื ืฉืืืืชืช SQL ืืืื ื. ืื ืืชื ืฆืจืื ืื ืืจ ืืขืจืืช ืฉืืื ื ืืืืืฆื ืขื ืืืฉื ืืฉืืจื ืืืกื ืื ืชืื ืื (ืืืืืื, SAP EWM), ืืชื ืืืื ืืืฉืชืืฉ ืืงืจืืืืช ืกืงืจืืคื ืืคืื ืงืฆืืืช API ืืชืืขืืืช ืืื ืืืฉืื ืืื ืืืงืืืจืื ืื ืืืชืื ืชืืื ืืช ืคืฉืืื ื-python/vbascript.
ืืืคืข ืคืจืืงืกื ืฉื Zabbix ื ืคืจืก ืืจืฉืช ืืืืกื ืืื ืืืคืืฅ ืืช ืืขืืืก ืืืฉืจืช ืืจืืฉื. ืืืืฆืขืืช Proxy ืืืืืืช ืขืืืื ืขื ืื ืืืคืขื ื-WMS ืืืงืืืืื. ืืคืขื ืืืื ืฉืฉืจืช Zabbix ืืืงืฉ ืคืจืืืจืื, ืืืืฆืข ืขื ืืืืจื ืกืงืจืืคื ืขื ืคืจืืงืกื Zabbix ืืื ืืืงืฉ ืืืืื ืืืกื ืื ืชืื ืื ืฉื WMS.
ืืื ืืืฆืื ืืจืคืื ืืืืืื ื ืืืกื ืื ืืฉืจืช Zabbix ืืืจืืื, ืื ื ืคืืจืกืื ืืช Grafana. ืื ืืกืฃ ืืืฆืืช ืืืืืช ืืืืื ืื ืืืื ืื ืขื ืืื ืคืืืจืคืืงื ืฉื ืชืคืขืื ืืืืกื ืื, ืืจืืคื ื ืืฉืืฉ ืื ืืืืจ ืืจืืืืช ืืืื ืืืงืืืจืื ืืฉืืืืช ืืชืจืืืช ืืืืืืืืืช ืืืขืจืืช ืฉืืจืืช ืืืืกื ืืขืืืื ืขื ืืืจืืขืื ืขืกืงืืื.
ืืืืืื, ืืื ื ืืงื ืืืฉืืื ืืช ืืืฉืื ืืงืจืช ืืขืืืก ืืืืืจ ืงืืืช ืืืืกื. ืืืืืื ืืืืื ื ืืืจื ืืืื ืืืงืืืจืื ืืขืืงืจืืื ืืืืฆืืขื ืืชืืืื ืืืืืจ ืื ืฉื ืืืืกื:
- ืืกืคืจ ืืื ืืจืื ืืืืืจ ืืงืืื, ืชืื ืืชืืฉืืืช ืืกืืืืกืื (ืืชืืื ื ืื, ืืืืขื, ืืกืืืื, ืคืจืืงื, ืืฆืืื;
- ืขืืืก ืขืืืื ืฉื ืืืืจื ืืฉืื ืืืืืื (ืืืชืื ืืชื ืื ืืืืกืื).
ืืืืจืืช
ืืชืงื ื ืืชืฆืืจื ืฉื ืืจืืืืื ืืขืืงืจืืื ืฉื ืืืขืจืืช (SQLcl, Zabbix, Grafana) ืืชืืืจืช ืืืงืืจืืช ืฉืื ืื ืืื ืชืืืืจ ืืื. ืืฉืืืืฉ ื- SQLcl ืืืงืื SQLplus ื ืืืข ืืื ืฉ- SQLcl (ืืืฉืง ืฉืืจืช ืืคืงืืื ืฉื ื-Oracle DBMS, ืืชืื ื-java) ืืื ื ืืืจืฉ ืืชืงื ื ื ืืกืคืช ืฉื ื-Oracle Client ืืคืืขื ืืืืฅ ืืงืืคืกื.
ืืชืืจ ืืช ืื ืงืืืืช ืืขืืงืจืืืช ืฉืืฉ ืืฉืื ืื ืืืืื ืืขืช โโืฉืืืืฉ ื-Zabix ืื ืืืืจ ืืืื ืชืืืืืื ืขืกืงืืื ืืืืกื, ืืืืช ืืืจืืื ืืืคืฉืจืืืช ืืืืฉื ืืืชื. ืืื ืื, ืื ืื ืคืืกื ืขื ืืืืื. ืืืืืช ืืืืืืจืื ืืืฉืืืืฉ ืืฉืืืืช ืืืืฆืืืช ืืืืืืืช ืืืืื ื ืืกืฃ ืืชืืืื ืืขืืจืช ืคืชืจืื ืืคืืืืื ืืคืขืืื ืคืจืืืืงืืืืืช.
ืืขืืงืจ ืืื ืฉืืืฉืจ ืืืืฉืืื ืืขืจืืช ืืื, ื ืืชื ืืขืฉืืช ืืืช ืืื ืชืื ืืช, ืืืืฆืขืืช ืืืืืจืืช ืืืกืืคืงืืช ืขื ืืื ืืืขืจืืช.
ืืขืจืืช ืื ืืืืจ Zabbix ืืกืคืงืช ืืกืคืจ ืืคืฉืจืืืืช ืืืืกืืฃ ืืืืื ืืืืขืจืืช ืืื ืืืจืช. ื ืืชื ืืขืฉืืช ืืืช ืขื ืืื ืกืงืจ ืืฉืืจ ืฉื ืืืจืืื ืื ืืืจืื, ืื ืขื ืืื ืฉืืื ืืชืงืืืช ืืืชืจ ืฉื ืฉืืืืช ื ืชืื ืื ืืฉืจืช ืืืืฆืขืืช zabbix_sender ืฉื ืืืืจื, ืืืื ืฉืืืืช ืืืืืจืช ืคืจืืืจื ืืืืื ืืจืื ื ืืืื. ืืื ืืคืชืืจ ืืช ืืืขืื ืฉืื ื, ืืฉืืื ืฉื โโืกืงืจืื ืืฉืืจืื ืฉื ืืืจืืื ืขื ืืื ืฉืจืช ืืจืืื ืืชืืืื ืืืื, ืืืืืื ืื ืืืคืฉืจ ืื ืืืฉืื ืฉืืืื ืืืื ืขื ืจืฆืฃ ืจืืืฉืช ืืืืืื ืืืืืื ืฉืืชื ืืฉืชืืฉ ืืกื ืืื ืฉื ืืืืจืืช/ืกืงืจืืคืืื ืืื ืฆืืจื ืืืคืืฅ ืืืชื ืืื ืืืจื ืื ืืืจ.
ื"ื ืืฉืื ืืืื" ืื ืืคืื ืืืืื ืืืืืจืช ืืืขืจืืช, ืื ื ืืฉืชืืฉืื ืืืืืืื ืขืืืื ืฉื WMS ืื ืืืื ืงืืื:
- ืืื ืจืื ืืงืืื, ืื ืื ืฉืืืืขื: ืื ืืจืืืื ืขื ืกืืืืกืื ืืชืงืืคื "- 72 ืฉืขืืช ืืืฉืขื ืื ืืืืืช" - ืืืื ืฉืืืืชืช SQL: getCars.
- ืืืกืืืจืื ืฉื ืื ืกืืืืกื ืืจืื: ืกืืืืกืื ืฉื ืื ืืจืืืื ืืืืืขืื ืชืื 72 ืฉืขืืช - ืืืื ืฉืืืืชืช SQL: ืืืกืืืจืื ืฉื ืืืื ืืืช.
- ืจืืืื ืืชืืื ื ืื ืืงืืื: ืกืืืืกืื ืฉื ืื ืืจืืืื ืขื ืืืขื ืืกืืืืก "ืืชืืื ื", ืืจืืื ืืื "- 24 ืฉืขืืช" ื-"+24 ืฉืขืืช" ืืืฉืขื ืื ืืืืืช - ืืืื ืฉืืืืชืช SQL: ืืืื ืืืช ื.
ืืื, ืืืืจ ืฉืืืืื ื ืขื ืงืืืฆื ืฉื ืืืื ืืืฆืืขื ืืืกื, ื ืืื ืฉืืืืชืืช SQL ืขืืืจ ืืกื ืื ืชืื ืื ืฉื WMS. ืืื ืืืฆืข ืฉืืืืชืืช, ืืืืืฅ ืืืฉืชืืฉ ืื ืืืกื ืื ืชืื ืื ืืจืืฉื, ืืื ืืขืืชืง ื"ืื" ืฉืื - ืืืชื ื.
ืื ื ืืชืืืจืื ื-Oracle DBMS ืืืชื ื ืืื ืืงืื ื ืชืื ืื. ืืชืืืช IP ืืืืืืจ ืืืกื ืื ืชืื ืื ืฉื ืืืืืงื 192.168.1.106. ืื ื ืฉืืืจืื ืืช ืคืจืืืจื ืืืืืืจ ืืฉืจืช Zabbix ื- TNSNames.ORA ืฉื ืชืืงืืืช ืืขืืืื SQLcl:
# cat /opt/sqlcl/bin/TNSNames.ORA
WH1_1=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.106)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = WH1_1)
)
)
ืื ืืืคืฉืจ ืื ื ืืืจืืฅ ืฉืืืืชืืช SQL ืืื ืืืจื ืืืืฆืขืืช EZconnect, ืชืื ืฆืืื ืจืง ืืช ืฉื ืืื ืืกื/ืืกืืกืื ืืฉื ืืกื ืื ืชืื ืื:
# sql znew/Zabmon1@WH1_1
ืื ื ืฉืืืจืื ืืช ืฉืืืืชืืช ื-SQL ืืืืื ืืช ืืชืืงืืืช ืืขืืืื ืืฉืจืช Zabbix:
/etc/zabbix/sql
ืืืืคืฉืจ ืืืฉื ืืืฉืชืืฉ zabbix ืฉื ืืฉืจืช ืฉืื ื:
# chown zabbix:zabbix -R /etc/zabbix/sql
ืงืืฆืื ืขื ืืงืฉืืช ืืงืืืื ืฉื ืืืื ืืืืืื ืืืืฉื ืืฉืจืช Zabbix. ืื ืฉืืืืชืช ืืกื ื ืชืื ืื ืืจื SQLcl ืืืืืจื ืื ื ืืกืคืจ ืคืจืืืจืื. ืืืชืืฉื ืืคืจืืื ืืกืคืฆืืคืืื ืฉื Zabbix, ืฉืืืืื ืืขืื ืจืง ืืื ืืื ืืื ืืงืฉื, ื ืฉืชืืฉ ืืกืงืจืืคืืื ื ืืกืคืื ืืื ืื ืชื ืืช ืชืืฆืืืช ืืฉืืืืชื ืืืืืื ืืืืืื.
ืืืื ื ืืื ืืช ืืกืงืจืืคื ืืจืืฉื, ืืืื ื ืงืจื ืื wh_Metrics.sh, ืืื ืืงืจืื ืฉืืืืชืช SQL ืืืกื ืื ืชืื ืื, ืืฉืืืจ ืืช ืืชืืฆืืืช ืืืืืืืจ ืืื ืืื ื ืขื ืืื ืืืงืืืจืื ืืืฆืืืช ืืืืืจ ืื ืชืื ืื:
#!/bin/sh
## ะฝะฐัััะพะนะบะฐ ะพะบััะถะตะฝะธั</i>
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64:/usr/lib:$ORACLE_HOME/bin
export TNS_ADMIN=$ORACLE_HOME/network/admin
export JAVA_HOME=/
alias sql="opt/sqlcl/bin/sql"
## ะทะฐะดะฐัะผ ะฟััั ะบ ัะฐะนะปั ั sql-ะทะฐะฟัะพัะพะผ ะธ ะฟะฐัะฐะผะตััะธะทะพะฒะฐะฝะฝะพะต ะธะผั ัะฐะนะปะฐ
scriptLocation=/etc/zabbix/sql
sqlFile=$scriptLocation/sqlScript_"$2".sql
## ะทะฐะดะฐัะผ ะฟััั ะบ ัะฐะนะปั ะดะปั ั
ัะฐะฝะตะฝะธั ัะตะทัะปััะฐัะพะฒ
resultFile=/etc/zabbix/sql/mon_"$1"_main.log
## ะฝะฐัััะฐะธะฒะฐะตะผ ัััะพะบั ะฟะพะดะบะปััะตะฝะธั ะบ ะะ
username="$3"
password="$4"
tnsname="$1"
## ะทะฐะฟัะฐัะธะฒะฐะตะผ ัะตะทัะปััะฐั ะธะท ะะ
var=$(sql -s $username/$password@$tnsname < $sqlFile)
## ัะพัะผะฐัะธััะตะผ ัะตะทัะปััะฐั ะทะฐะฟัะพัะฐ ะธ ะทะฐะฟะธััะฒะฐะตะผ ะฒ ัะฐะนะป
echo $var | cut -f5-18 -d " " > $resultFile
## ะฟัะพะฒะตััะตะผ ะฝะฐะปะธัะธะต ะพัะธะฑะพะบ
if grep -q ora "$resultFile"; then
echo null > $resultFile
echo 0
else
echo 1
fi
ืื ื ืื ืืืื ืืช ืืงืืืฅ ืืืืืืจ ืขื ืืกืงืจืืคื ืืชืืงืืื ืืืืกืื ืกืงืจืืคืืื ืืืฆืื ืืื ืืืชืื ืืืืืจืืช ืืชืฆืืจื ืฉื Zabbix-proxy (ืืืจืืจืช ืืืื - /usr/local/share/zabbix/externalscripts).
ืืืืื ืืกื ืื ืชืื ืื ืืื ื ืืงืื ืืกืงืจืืคื ืชืืฆืืืช ืืืขืืจ ืืคืจืืืจ ืกืงืจืืคื. ืืืื ืืกื ืื ืชืื ืื ืืืื ืืืชืืื ืืฉืืจืช ืืืืืจืืช ืืงืืืฅ TNSNames.ORA.
ืืชืืฆืื ืฉื ืงืจืืืช ืฉืืืืชืช SQL ื ืฉืืจืช ืืงืืืฅ ืืื mon_base_id_main.log ืฉืื base_id = ืืืื ืืกื ืื ืชืื ืื ืฉืืชืงืื ืืคืจืืืจ ืกืงืจืืคื. ืืืืืงื ืฉื ืงืืืฅ ืืชืืฆืืืช ืืคื ืืืื ืืกื ื ืชืื ืื ืืกืืคืงืช ืืืงืจื ืฉื ืืงืฉืืช ืืืฉืจืช ืืืกืคืจ ืืกืื ื ืชืื ืื ืื ืืื ืืช. ืืฉืืืืชื ืืืืืจื ืืขืจื ืื ืืืืื ืืืืื ืฉื ืขืจืืื.
ืืกืงืจืืคื ืืื, ืืืื ื ืงืจื ืืื getMetrica.sh, ื ืืืฅ ืืื ืืืฉืื ืืื ืืืืืจ ืืงืืืฅ ืขื ืชืืฆืื ืฉื ืืงืฉื:
#!/bin/sh
## ะพะฟัะตะดะตะปัะตะผ ะธะผั ัะฐะนะปะฐ ั ัะตะทัะปััะฐัะพะผ ะทะฐะฟัะพัะฐ
resultFile=/etc/zabbix/sql/mon_โ$1โ_main.log
## ัะฐะทะฑะธัะฐะตะผ ะผะฐััะธะฒ ะทะฝะฐัะตะฝะธะน ัะตะทัะปััะฐัะฐ ััะตะดััะฒะฐะผะธ ัะบัะธะฟัะฐ:
## ะฟัะธ ัะฐะฑะพัะต ัะพ ััะฐัััะฐะผะธ, ะทะฐะฟัะพั ะฒะพะทะฒัะฐัะฐะตั ะฝะฐะผ ะดะฒัะผะตัะฝัะน ะผะฐััะธะฒ (RSLT) ะฒ ะฒะธะดะต
## {ััะฐััั1 ะทะฝะฐัะตะฝะธะต1 ััะฐััั2 ะทะฝะฐัะตะฝะธะต2โฆ} ัะฐะทะดะตะปัะฝะฝัั
ะฟัะพะฑะตะปะฐะผะธ (ะทะฝะฐัะตะฝะธะต IFS)
## ะฟะฐัะฐะผะตััะพะผ ะทะฐะฟัะพัะฐ ะฟะตัะตะดะฐัะผ ะบะพะด ััะฐัััะฐ ะธ ัะบัะธะฟั ะฒะตัะฝัั ะทะฝะฐัะตะฝะธะต
IFS=โ โ
str=$(cat $resultFile)
status_id=null
read โra RSLT <<< โ$strโ
for i in โ${RSLT[@]}โ; do
if [[ โ$status_idโ == null ]]; then
status_id=โ$I"
elif [[ โ$status_idโ == โ$2โ ]]; then
echo โ$iโ
break
else
status_id=null
fi
done
ืืขืช ืื ื ืืืื ืื ืืืืืืจ ืืช Zabbix ืืืืชืืื ืื ืืจ ืืืืื ืฉื ืชืืืืื ืงืืืช ืืืกื ืื.
ืกืืื Zabbix ืืืชืงื ืืืืืืจ ืืื ืฆืืืช ืืกื ื ืชืื ืื.
ืืฉืจืช ืืจืืฉื ืื ื ืืืืืจืื ืืช ืื ืืฉืจืชืื ืขื ืคืจืืงืกื Zabbix. ืืืืืจืืช, ืขืืืจ ืื ืชืื ืืื:
ื ืืืื โ ืคืจืืงืกื โ ืฆืืจ proxy
ืื ื ืืืืืจืื ืืืจืืื ืืืืงืจืื:
ืืืืจืืช โ ืืืจืืื โ ืฆืืจ ืืืจื
ืฉื ืืืืจื ืืืื ืืืชืืื ืืฉื ืืืืจื ืฉืฆืืื ืืงืืืฅ ืืชืฆืืจื ืฉื ืืกืืื.
ืื ื ืืฆืืื ืื ืืช ืืงืืืฆื ืขืืืจ ืืฆืืืช, ืืื ืื ืืช ืืชืืืช ื-IP ืื ืฉื ื-DNS ืฉื ืืฆืืืช ืขื ืืกื ืื ืชืื ืื.
ืื ื ืืืฆืจืื ืืืืื ืืืฆืืื ืื ืืช ืืืืคืืื ืื ืฉืืื:
ืืืืจืืช โ ืฆืืชืื โ 'ืฉื ืืฆืืืช' โ ืคืจืืื ื ืชืื ืื>ืฆืืจ ืคืจืื ื ืชืื ืื
1) ืฆืืจ ืืื ืจืืฉื ืืฉืืืืชื ืฉื ืื ืืคืจืืืจืื ืืืกื ืื ืชืื ืื
ืื ื ืืืืืจืื ืืช ืืฉื ืฉื ืืืื ื ืื ืชืื ืื, ืืฆืืื ืื ืืช ืืกืื "ืืืืืช ืืืฆืื ื". ืืฉืื "ืืคืชื", ืื ื ืืืืืจืื ืกืงืจืืคื ืืืื ื ืขืืืจ ืืคืจืืืจืื ืืช ืฉื ืืกื ืื ืชืื ืื ืฉื Oracle, ืฉื ืฉืืืืชืช ื-sql, ืืื ืืกื ืืืกืืกืื ืืืืืืจ ืืืกื ืื ืชืื ืื. ืืืืจ ืืช ืืจืืื ืขืืืื ืืฉืืืืชื ื-5 ืืงืืช (300 ืฉื ืืืช).
2) ืฆืืจ ืืช ืืืืืื ืื ืืชืจืื ืขืืืจ ืื ืืฆื ืจืื. ืืขืจืืื ืฉื ืืืืื ืืื ืืืคืงื ืขื ืกืื ืืชืืฆืื ืฉื ืืืืงืช ืืืื ืืจืืฉื.
ืื ื ืืืืืจืื ืืช ืืฉื ืฉื ืืืื ื ืื ืชืื ืื, ืืฆืืื ืื ืืช ืืกืื "ืืืืืช ืืืฆืื ื". ืืฉืื "ืืคืชื", ืื ื ืืืืืจืื ืกืงืจืืคื ืืืื ื ืขืืืจ ืืคืจืืืจืื ืืช ืฉื ืืกื ืื ืชืื ืื ืฉื ืืืจืงื ืืงืื ืืกืืืืก ืฉืขืืื ืื ื ืจืืฆืื ืืขืงืื. ืืืืจื ื ืืช ืืจืืื ืขืืืื ืืฉืืืืชื ื-10 ืฉื ืืืช ืืืชืจ ืืืืื ืืจืืฉื (310 ืฉื ืืืช), ืื ืฉืืชืืฆืืืช ืืฉ ืืื ืืืืืชื ืืงืืืฅ.
ืืื ืืงืื ืืืืื ืืฆืืจื ื ืืื ื, ืืฉ ืืฉืืืืช ืืกืืจ ืืคืขืืช ืืฆ'ืงืื. ืขื ืื ืช ืืื ืืข ืืชื ืืฉืืืืช ืืขืช ืงืืืช ื ืชืื ืื, ืงืืื ืื ืื ื ืืคืขืืืื ืืช ืืืื ืืจืืฉื GetCarsByStatus ืขื ืืื ืงืจืืื ืืกืงืจืืคื - wh_Metrics.sh.
ืืืืจืืช โ ืฆืืชืื โ 'ืฉื ืฆืืืช' โ ืจืืืื ื ืชืื ืื โ ืืกื ื ืืฉื ื "ืืืืงืืช ืืืฆืื ืืืช". ืกืื ืืช ืืกืืืื ืื ืืจืฉ ืืืืฅ ืขื "ืืคืขื".
ืืืืจ ืืื, ืื ื ืืคืขืืืื ืืช ืืืืืื ืื ืืชืจืื ืืคืขืืื ืืืช, ืืืืืจืื ืืช ืืืื ืืื:
ืืขืช Zabbix ืืืื ืืืกืืฃ ืืืืื ืขืกืงืืื ืฉื ืืืกื ืื.
ืืืืืจืื ืืืืื ื ืกืชืื ืืงืจืื ืขื ืืืืืจ Grafana ืืืฆืืจืช ืืืืืช ืืืืื ืื ืฉื ืืืืข ืฉื ืคืขืืืืช ืืืกื ืขืืืจ ืงืืืืจืืืช ืฉืื ืืช ืฉื ืืฉืชืืฉืื. ืืื ืื ืขื ืืกืืก ืืจืคื ื ืืืืฉื ืืขืงื ืืืจ ืืจืืืืช ืืคืขืืืืช ืืืืกื ืืืืชืื ืืืืืืืช ืืืืจืชืืืช ืฉื ืืจืืืืช ืจืืฉืื ืชืงืืืช ืืืขืจืืช ืืจืื ืืฉืืจืืช ืื ืืืื ืืืกื ืื ืืืืฆืขืืช API ืื ืฉืืืืช ืืืืขืืช ืคืฉืืื ืืื ืื ืืืืื.
ืืงืืจ: www.habr.com