ืืืืึธื ืืกืงืึธืื, Zabbix ืื ืืึทืืจืืืฉืึทื ืืึทื ืฉืึทืคึฟื ืื ืืฉืขื ืืจ
Zabbix ืืื ืึท ืงืืกืืึธืืืืึทืืืข ืคึผืืึทืืคืึธืจืืข ืืืึธืก ืืื ืืขื ืืฆื ืฆื ืืึธื ืืืึธืจ ืงืืื ืกืึธืจื ืคืื ืืึทืื. ืืื ื ืื ืขืจืืืึทืกื ืืืขืจืกืืขืก ืคืื Zabbix, ืืึธื ืืืึธืจืื ื ืึทืืืื ืืกืืจืึทืืึธืจืก ืืึธืื ืื ืคืืืืงืืื ืฆื ืืืืคื ืคืึทืจืฉืืื ืกืงืจืืคึผืก ืืืจื ืึทืงืืืึธื ืก ืคึฟืึทืจ ืืฉืขืงืก ืืืืฃ ืฆืื ื ืขืฅ ื ืึธืืื. ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืื, ืื ืงืึทืืขืจ ืคืื ืกืงืจืืคึผืก ืืขืคืืจื ืฆื ืึท ื ืืืขืจ ืคืื ืฉืืืขืจืืงืืืื, ืึทืจืืึทื ืืขืจืขืื ื ืึทืืึท ืืื ืื ื ืืื ืฆื ืฉืืืฆื ืกืงืจืืคึผืก, ืืืืขืจ ืขืงืกืคึผืจืขืก ืฆื ืงืึธืืื ืืงืึทืฆืืข ื ืึธืืื ืืื ืคึผืจืึทืงืกืื, ืืื ืืขืืื ื ืืื ืฉืืืฆื ืคึฟืึทืจ ืคืึทืจืฉืืืขื ืข ืืืขืจืกืืขืก.
ืืืฉืึทืืืึทืกืงืจืืคึผื ืคึฟืึทืจ Zabbix
ืืื ืืคืจืื 2019, Zabbix 4.2 ืืื ืืึทืงืขื ืขื ืืื ืืืฉืึทืืืึทืกืงืจืืคึผื ืคึผืจืืคึผืจืึธืกืขืกืกืื ื. ืคืืืข ืืขื ืืฉื ืืึธืื ืืื ืืงืกืืืืึทื ืืืขืื ืืขื ืืขืืึทื ืง ืคืื ืคืึทืจืืึธืื ืฉืจืืืื ืกืงืจืืคึผืก ืืืึธืก ื ืขืืขื ืืึทืื ืขืจืืขืฅ, ืงืืฆืขืจ ืขืก ืืื ืฆืืฉืืขืื ืขืก ืืื ืึท ืคึฟืึธืจืืึทื ืืืึธืก Zabbix ืคืืจืฉืืืื, ืืื ืืืจืืคืืจื ืคึผืฉืื ืืฉืขืงืก ืืืึธืก ืืืขื ืืึทืงืืืขื ืืึทืื ืืืึธืก ืืขื ืขื ื ืืฉื ืืจืืื ืคึฟืึทืจ ืกืืึธืจืืืืฉ ืืื ืคึผืจืึทืกืขืกืื ื ืืืจื Zabbix, ืืื ืืขืจื ืึธื ืคึผืจืึธืฆืขืก ืืขื ืืึทืื ืืืึทื ืืื Zabbix ืืื ืืืฉืึทืืืึทืกืงืจืืคึผื ืืืฉืืจืื. ืืื ืงืึทื ืืืฉืึทื ืืงืฉืึทื ืืื ื ืืืขืจืืง-ืืืจืื ืืคืืขืงืื ื ืืื ืึธืคืขื ืืืง ืืืื ืืืึธืก ืืขื ืขื ืืจืืืก ืืื Zabbix 3.4, ืืืจ ืืึธืื ืึท ืคืขืจืื ืคืืขืงืกืึทืืึทื ืืึทืืจืืฃ ืคึฟืึทืจ ืกืึธืจืืื ื ืืื ืึธื ืคืืจืื ื ืื ืืืงืืืขื ืืึทืื.
ืืื Zabbix 4.4, ืืื ืึท ืืึทืืืฉืืงืึทื ืงืึทื ืืื ืืืืืฉืึทื ืคืื ืคืึทืจ-ืคึผืจืึทืกืขืกืื ื ืืื ืืืฉืึทืืืึทืกืงืจืืคึผื, ืึท ื ืืึทืข ืึธื ืืึธื ืืืคึฟื ืืื ืืจืืืก - Webhook, ืืืึธืก ืงืขื ืขื ืืืื ืืขืืืืื ื ืฆื ืืืืื ืืืกืฉืืืืขื Zabbix ื ืึธืืืึทืคืึทืงืืืฉืึทื ื ืืื ืืจืื-ืคึผืึทืจืืื ืึทืคึผืืึทืงืืืฉืึทื ื.
ืืืฉืึทืืืึทืกืงืจืืคึผื ืืื ืืืงืืึทืคึผืขืก
ืคืืจืืืืก ืืขื ืขื ืืืฉืึทืืืึทืกืงืจืืคึผื ืืื ืืืงืืึทืคึผืข ืืืืกืืขืจืืืืืื? ืคืึทืจืฉืืื ืึธืคึผืฆืืขืก ืคึฟืึทืจ ืฉืคึผืจืึทืื ืืื ืขื ืืืฉืึทื ื ืืขื ืขื ืืึทืืจืึทืื:
- ืืืึท - ืืืึท 5.1
- Lua - LuaJIT
- ืืืฉืึทืืืึทืกืงืจืืคึผื - ืืืงืืึทืคึผืข
- ืืืฉืึทืืืึทืกืงืจืืคึผื - ืืืฉืขืจืืกืงืจืืคึผื
- ืขืืืขืืื ืคึผืืืืึธื
- ืขืืืขืืื ืคึผืขืจื
ืื ืืืืคึผื ืกืขืืขืงืฆืืข ืงืจืืืืืจืืึท ืืขื ืขื ืคึผืจืขืืืึทืืึทื ืก, ืื ืคืื ืื ืึทืืจืืืฉืึทื ืคืื ืื ืืึธืืึธืจ ืืื ืื ืคึผืจืึธืืืงื, ื ืืืขืจืืง ืืืื ืงืึทื ืกืึทืืฉืึทื ืืื ืงืืืืขืืืืง ืคืึธืจืฉืืขืืื ื ืคืื ืื ืืึธืืึธืจ, ืืื ืื ืืืืขืจืงืืึทื ืคืื ืื ืืจืึธืืืืกืื ื ืงืึธื ืืื ืืขื ืฉืคึผืจืึทื ืืื ืืึธื ืืืึธืจืื ื. ืืึทืืืจื ืืืืฃ ืื ืงืึธืืืื ืึทืฆืืข ืคืื โโืื ืืึทืงืืืืขืจื, ืืืฉืึทืืืึทืกืงืจืืคึผื ืืืึทื ืืืืฃ ืื Duktape ืืึธืืึธืจ.
ืกืขืืขืงืฆืืข ืงืจืืืืืจืืึท ืืื ืคืึธืจืฉืืขืืื ื ืืขืกืืื ื
ืคึฟืขืึดืงืืืื ืคืื Duktape:
โ ืกืืึทื ืืึทืจื
- Zabbix ืืึทืืืฉืืื ืคึฟืึทืจ ืืืงืืึทืคึผืข:
- Zabbix.log () - ืึทืืึทืื ืืืจ ืฆื ืฉืจืืึทืื ืึทืจืืืงืืขื ืืื ืคืึทืจืฉืืืขื ืข ืืขืืืขืืก ืคืื ืืขืืึทื ืืืืึทื ืืื ืื Zabbix ืกืขืจืืืืจืขืจ ืงืืึธืฅ, ืืืึธืก ืืืื ืขืก ืืขืืืขื ืฆื ืงืึธืจืึทืืืื ืขืจืจืึธืจืก, ืืืฉื, ืืื ืึท ืืืขืืืึธืึธืง, ืืื ืื ืกืขืจืืืขืจ ืฉืืึทื.
- CurlHttpRequest () - ืึทืืึทืื ืืืจ ืฆื ืืึทืื ืืืืคึผ ืจืืงืืืขืก ืฆื ืื ื ืขืฅ, ืืืืฃ ืืืึธืก ืื ื ืืฆื ืคืื ืืืขืืืึธืึธืง ืืื ืืืืืจื.
- atob () ืืื btoa () - ืึทืืึทืื ืืืจ ืฆื ืขื ืงืึธืื ืืื ืืขืงืึธืืข ืกืืจืื ืืก ืืื Base64 ืคึฟืึธืจืืึทื.
NOTE. ืืืงืืึทืคึผืข ืงืึทืืคึผืืืื ืืื ACME ืกืืึทื ืืึทืจืืก. Zabbix ื ืืฆื ืื 2015 ืืืขืจืกืืข ืคืื โโโโืืขื ืฉืจืืคื. ืกืึทืืกืึทืงืืืึทื ื ืขื ืืขืจืื ืืขื ืืขื ืขื ืืื ืขืจืืืขืจืืืง, ืึทืืื ืืื ืงืขื ืขื ืืืื ืืืื ืึธืจืืจื..
ืืืฉืึทืืืึทืกืงืจืืคึผื ืืึทืืืง
ืึทืืข ืื ืืึทืืืฉ ืคืื ืืืฉืึทืืืึทืกืงืจืืคึผื ืืืื ืืื ืืื ืึทืืืฉ ืืืืคึผืื ื ืืื ืืืคึผ ืงืึทืกืืื ื: ืฉืืจืืงื, ื ืืืขืจืืง ืืื ืืืืืึทื.
ืืขื ืืืื ืึทื ืขืก ืืื ื ืื ื ืืืืืง ืฆื ืืขืจืงืืขืจื ืืื ืฉืืืึทืื ืืืึธืก ืืืคึผ ืื ืืืึทืืขืืืืืง ืืึธื ืฆืืจืืงืงืืืขื ืึท ืืืขืจื.
ืืื ืืึทืืึทืืึทืืืงืึทื ืึทืคึผืขืจืืืฉืึทื ื, ืื ืืืึทืืืขืก ืืืืืขืงืขืจื ืืืจื ืคืื ืงืฆืืข ืึธืคึผืขืจืืืืขืจื ืืขื ืขื ืงืึธื ืืืขืจืืขื ืฆื ื ืืืขืจื. ืื ืืืกื ืขื ืฆื ืึทืืึท ืึทืคึผืขืจืืืฉืึทื ื ืืื ืึทืืืฉืึทื, ืืืืึทื ืืืื ืืืึท ืืื ืืกืืขืจ ืืืื ืขืจ ืคืื ืื ืืขืจืืื ืขื ืืื ืึท ืฉืืจืืงื, ืฉืืจืืงื ืงืึทื ืืืขืจืืฉืึทื ืืื ืืขืืืขื ืื ืฆื ืึทืืข ืืขืจืืื ืขื.
NOTE. ืื ืืขืืืึธืืก ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืึทืืึท ืืจืึทื ืกืคืขืจืืืืฉืึทื ื ืืขื ืขื ืืืืฉืึทืืืึทืื ืืืคึผืืึทืืขื ืึทื ืืื ืื ืคืึธืืขืจ ืคึผืจืึธืืืึทืืืืคึผืก ืคืื ืื ืืืืคืขืฅ, valueOf ะธ ืฆืืกืืจืื ื. valueOf ืืขืจืืคื ืืขืฉืึทืก ื ืืืขืจืืงืึทื ืงืึทื ืืืขืจืืฉืึทื ืืื ืฉืืขื ืืืง ืืืืืขืจ ืื ืืืคึฟื ืฆืืกืืจืื ื. ืืขืืึธื valueOf ืืืื ืฆืืจืืงืงืืืขื ืคึผืจืืืืืืื ืืืึทืืืขืก, ืึทื ืืขืจืฉ ืืืึทื ืจืขืืืืืึทื ืืื ืืืื ืึธืจืืจื.
ื ืืขืืื ืืืขืจื ืื ืืขืจืืคื ืืืืฃ ืื ืืืืขืงื valueOF. ืืืื ืขืก ืืื ื ืืฉื ืืขืคืื ืขื ืึธืืขืจ ืืื ื ืืฉื ืฆืืจืืงืงืืืขื ืึท ืคึผืจืืืืืืื ืืืขืจื, ืืขืจ ืืืคึฟื ืืื ืืขืจืืคื ืฆืืกืืจืื ื. ืืืื ืืขืจ ืืืคึฟื ืฆืืกืืจืื ื ื ืื ืืขืคืื ืขื, ืืืื valueOf ืืื ืื ืคึผืจืึธืืืึทืืืืคึผ ืคืื ืื ืืืืคืขืฅ, ืืื ืึทืืฅ ืืื ืจืืคึผืืืื ืืื ืื ืคึผืจืึทืกืขืกืื ื ืคืื ืื ืืืขืจื ืืื ืืขืขื ืืืงื ืืื ืึทืืข ืืืึทืืืขืก ืืื ืืขืจ ืืืืกืืจืืง ืืขื ืขื ืืขืฉืืึทืื ืฆื ืืขืจ ืืขืืืืงืขืจ ืืืคึผ. ืืืื ืื ืืืืคืขืฅ ืืืคึผืืึทืืึทื ืฅ ืึท ืืืคึฟื ืฆืืกืืจืื ื, ืืืึธืก ืงืขืจื ืึท ืคึผืจืืืืืืื ืืืขืจื, ืขืก ืืื ืขืก ืืืึธืก ืืื ืืขื ืืฆื ืคึฟืึทืจ ืฉืืจืืงื ืงืึทื ืืืขืจืืฉืึทื. ืึธืืขืจ, ืืขืจ ืจืขืืืืืึทื ืคืื ืึทืคึผืืืืื ื ืืขื ืืืคึฟื ืืื ื ืืฉื ืืึทืืืงืข ืึท ืฉืืจืืงื.
ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืื ืคึฟืึทืจ ืคึฟืึทืจ ืืืืคืขืฅ 'ืึธืืืืฉ' ืืืคึฟื ืืื ืืืคืืื ื ืฆืืกืืจืื ื,
`var obj = { toString() { return "200" }}`
ืืืคึฟื ืฆืืกืืจืื ื ืงืขืจื ืคึผืื ืงื ืึท ืฉืืจืืงื, ืืื ืืืขื ืืขื ืืืืื ืึท ืฉืืจืืงื ืืื ืึท ื ืืืขืจ, ืืึทืงืืืขื ืืืจ ืึท ืืขืงืืขืคึผื ืฉืืจืืงื:
`obj + 1 // '2001'`
`obj + 'a' // โ200a'`
ืืืขืจ ืืืื ืืืจ ืจืืจืืื ืฆืืกืืจืื ื, ืืื ืืขืจ ืืขืืื ืฆืืจืืงืฆืืืจืขื ืืขื ื ื ืืืขืจ, ืืืขื ืืขื ืืืืื ืฆื ืืขื ืืืืขืงื ืืืขื ืืขื ืืืจืืคืืจื ื ืืืืขืืืืืฉืขืจ ืืคืขืจืืฆืืข ืืื ื ื ืืืขืจืืฉืข ืงืื ืืืขืจื ืืื ืืขืจ ืจืขืืืืืื ืคืื ืืืืขืืืืืฉืขืจ ืฆืืืื ื ืืืขื ืืืงืืืขื.
`var obj = { toString() { return 200 }}`
`obj + 1 // '2001'`
ืืื ืืขื ืคืึทื, ืืืื ืืืจ ืืืจืืคืืจื ืึทืืืฉืึทื ืืื ืึท ืฉืืจืืงื, ืึท ืฉืืจืืงื ืงืึทื ืืืขืจืืฉืึทื ืืื ืืขืืื, ืืื ืืืจ ืืึทืงืืืขื ืึท ืืืื ืฉืืจืืงื.
`obj + 'a' // โ200a'`
ืืึธืก ืืื ืื ืกืืื ืคึฟืึทืจ ืึท ืืจืืืก ื ืืืขืจ ืคืื ืืืกืืืืงืก ืืืจื ืึธื ืืืืืขืจ ืืืฉืึทืืืึทืกืงืจืืคึผื ืืืืขืจื.
ืืขืจ ืฉืืื ืฆืืกืืจืื ื ืืืจ ืงืขื ืขื ืฉืจืืึทืื ืึท ืคึฟืื ืงืฆืืข ืืืึธืก ืืืขื ืคืึทืจืืจืขืกืขืจื ืื ืงืจืึทื ื ืืืขืจื ืคืื ืื ืืืืคืขืฅ ืืื 1.
ืืืจืืคืืจืื ื ืคืื ืื ืฉืจืืคื, ืฆืืืขืฉืืขืื ืึทื ืื ืืืึทืืขืืืืืง ืืื ืืืืึทื ืฆื 3, ืืื ืขืก ืืื ืืืื ืืืืึทื ืฆื 4.
ืืืขื ืงืึทืืคึผืขืจื ืืื ืึท ืืืึทืจืคื (==), ืืขืจ ืืืคึฟื ืืื ืขืงืกืึทืงืืืืึทื ืืขืืขืจ ืืึธื ืฆืืกืืจืื ื ืืื ืืืขืจื ืคืึทืจืืจืขืกืขืจื ืคึฟืื ืงืฆืืข. ืึทืงืงืึธืจืืื ืืื, ืืื ืืขืืขืจ ืกืึทืืกืึทืงืืืึทื ื ืคืึทืจืืืืึทื, ืื ืืืขืจื ืื ืงืจืืกืื. ืืขื ืงืขื ืขื ืืืื ืึทืืืืืืื ืืืจื ื ืืฆื ื ืื-ืืืึทืจืคื ืคืึทืจืืืืึทื (===).
ืคืึทืจืืืืึทื ืึธื ืืืคึผ ืงืึทืกืืื ื
NOTE. ืื ืืืืกื ื ืืฉื ื ืืฆื ืงืึทืกื ืคืึทืจืืืืึทื ืึทื ื ืขืกืึทืกืขืจืึทืื.
ืคึฟืึทืจ ืงืึธืืคึผืืขืงืก ืกืงืจืืคึผืก, ืึทืืึท ืืื ืืืขืืืึธืึธืงืก ืืื ืงืึธืืคึผืืขืงืก ืืึธืืืง, ืืืึธืก ืืึทืจืคื ืคืึทืจืืืืึทื ืืื ืืืคึผ ืงืึทืกืืื ื, ืขืก ืืื ืจืขืงืึทืืขื ืืื ืฆื ืคืึทืจืฉืจืืึทืื ืืฉืขืงืก ืคึฟืึทืจ ืื ืืืึทืืืขืก ืืืึธืก ืฆืืจืืงืงืืืขื ืืืขืจืืึทืืึทืื ืืื ืฉืขืคึผื ืื ืืงืึทื ืกืืกืืขื ืกืื ืืื ืขืจืจืึธืจืก.
ืืืขืืืึธืึธืง ืืืืืึท
ืืื ืฉืคึผืขื 2019 ืืื ืคืจื 2020, ืื Zabbix ืื ืืึทืืจืืืฉืึทื ืืึทื ืฉืึทืคึฟื ืืื ืึทืงืืืืืื ืืขืืืขืืึธืคึผืื ื ืืืขืืืึธืึธืงืก ืืื ืึทืื-ืคืื-ืืขื-ืงืขืกืื ืื ืืึทืืจืืืฉืึทื ื ืืืึธืก ืงืืืขื ืืื ืื Zabbix ืคืึทืจืฉืคึผืจืืืืื ื.
ืืืกืงืึธืจื ืืืฉืืจืึท Jira ืกืขืจืืืืก ืืขืกืง Mattermost Microsoft Teams ืึธืคึผืกืืขื ืืข ืื ืืขืจืข pagerduty ืคึผืืฉืึธืืืขืจ ืจืขืื ServiceNow SINGL4 ืืืื ืืขืืขืืจืึทื ืืืืื ืืขื ืืขืกืง
ืืื ืง ืฆื
ืคึผืจืขืคึผืจืึธืกืขืกืกืื ื
- ืื ืึทืืืืขื ื ืคืื ืคึผืจืืคึผืจืึทืกืขืกืื ื ืืื ืืืฉืึทืืืึทืกืงืจืืคึผื ืืขืืืื ืขืก ืืขืืืขื ืฆื ืคืึทืจืืึธืื ืจืืึฟ ืคืื ืืจืืืกื ืืืง ืกืงืจืืคึผืก, ืืื ืืขืจืืืืึทื ืืื Zabbix ืืืจ ืงืขื ืขื ืืึทืงืืืขื ืงืืื ืืืขืจื ืืื ืืขืจ ืขืก ืฆื ืึท ืืึธืจ ืึทื ืืขืจืฉ ืืืขืจื.
- ืคึผืจืขืคึผืจืึธืกืขืกืกืื ื ืืื Zabbix ืืื ืืืคึผืืึทืืขื ืึทื ืืืจื ืืืฉืึทืืืึทืกืงืจืืคึผื ืงืึธื, ืืืึธืก, ืืืขื ืงืึทืืคึผืืืื ืืื ืืืืขืงืึธืืข, ืืื ืงืึธื ืืืขืจืืขื ืืื ืึท ืคืื ืงืฆืืข ืืืึธืก ื ืขืื ืึท ืืืื ืืืขืจื ืืื ืึท ืคึผืึทืจืึทืืขืืขืจ ืืืขืจื ืืื ืึท ืฉืืจืืงื (ืึท ืฉืืจืืงื ืงืขื ืึทื ืืืึทืืื ืกืื ืึท ืฆืืคึฟืขืจ ืืื ืกืื ืึท ื ืืืขืจ).
- ืืื ื ืืขืจ ืจืขืืืืืึทื ืืื ืึท ืคึฟืื ืงืฆืืข, ืืื ืื ืกืืฃ ืคืื ืื ืฉืจืืคื ืืื ืคืืจืืื ืื ืฆืืจืืงืงืืืขื.
- ืขืก ืืื ืืขืืืขื ืฆื ื ืืฆื ืื ืื ืืึทืงืจืึธืก ืืื ืื ืงืึธื.
- ืจืขืกืึธืืจืกืขืก ืงืขื ืขื ืืืื ืืืืืืขื ื ืื ืืืืื ืืืืฃ ืื ืึทืคึผืขืจืืืืื ื ืกืืกืืขื ืืืจืื, ืึธืืขืจ ืืืื ืคึผืจืึธืืจืึทืืืึทืืืงืึทืืื. ืื ืคึผืจืขืคึผืจืึธืกืขืกืกืื ื ืฉืจืื ืืื ืึทืืึทืงืืืืื ืึท ืืึทืงืกืืืื ืคืื 10 ืืขืืืืืื ืคืื ืืึทืจืึทื ืืื ืึท ืืืืคื ืฆืืื ืคืื 10 ืกืขืงืื ืืขืก.
NOTE. ืื ืืืืืึทืื ืืืขืจื ืคืื 10 ืกืขืงืื ืืขืก ืืื ืืึทื ืฅ ืึท ืคึผืืึทืฅ, ืืืืึทื ืงืึทืืขืงืืื ื ืงืึทื ืืืฉืึทื ืึทื ืืืืื ืืขืจ ืคืื ืืึทืื ืืืืึทืื ืืื 1 ืกืขืงืื ืืข ืืืื ืึท ืืึทื ืฅ "ืฉืืืขืจ" ืคึผืจืืคึผืจืึธืกืขืกืกืื ื ืกืฆืขื ืึทืจ ืงืขื ืขื ืคึผืึทืืขืืขื ืืึทืืืืงืก. ืืขืจืืืขืจ, ืขืก ืืื ื ืืฉื ืจืขืงืึทืืขื ืืื ืฆื ื ืืฆื ืคึผืจืขืคึผืจืึธืกืขืกืกืื ื ืฆื ืืืกืคืืจื ืคืื-ืคืืขืืืฉื ืืืฉืึทืืืึทืกืงืจืืคึผื ืกืงืจืืคึผืก ืืืจื ืื ืึทืืื ืืขืจืืคืขื ืข ืฉืึธืื ืืึทืื ืขืืขืืขื ืื (ืืึธืง ืืืืึทืื), ืืืึธืก ืืขื ืขื ืืืืคื ืืืืื ืฆื ืืืจืืคืืจื ืคึผืจืืคึผืจืึธืกืขืกืกืื ื..
ืืืจ ืงืขื ืขื ืงืึธื ืืจืึธืืืจื ืืืื ืงืึธื ืืืจื ืื ืคึผืจืืคึผืจืึธืกืขืกืื ื ืคึผืจืืืืจื ืึธืืขืจ ื ืืฆื ืื ื ืืฆื zabbix_js:
`zabbix_js -s *script-file -p *input-param* [-l log-level] [-t timeout]`
`zabbix_js -s script-file -i input-file [-l log-level] [-t timeout]`
`zabbix_js -h`
`zabbix_js -V`
ืคึผืจืึทืงืืืฉ ืืึทืกืงืก
ืึทืจืืขื 1
ืคืึทืจืืืึทืื ืงืึทืืงืืึทืืืืืื ื ืืืขืจ ืืื ืคึผืจืขืคึผืจืึธืกืขืกืกืื ื.
ืฆืืฉืืึทื ื: ืืึทืงืืืขื ืื ืืขืืคึผืขืจืึทืืืจ ืืื ืคืึทืืจืขื ืืขืื ืคืื ืื ืกืขื ืกืขืจ ืฆื ืงืจืึธื ืืื ืกืขืืกืืืก.
ืคืจืืขืจ, ืืืจ ืืืึธืื ืืึทืื ืึท ื ืืืขืจ ืืืึธืก ืงืึทืืขืงืฅ ืื ืืขืืคึผืขืจืึทืืืจ ืืื ืืืืจืื ืคืึทืืจืขื ืืขืื. ื ืึธื ืืขื, ืื ืื ืืขืจ ืืึทืื ื ืืืขืจ (ืงืึทืืงืืึทืืืืืื) ืืืึธืก ืืืึธืื ืืขืจ ืคืึทืืจืขื ืืขืื ืฆื ืกืขืืกืืืก ื ืืฆื ืึท ืคืึธืจืืืืข.
ืคึผืจืึธืืืขืืก:
- ืขืก ืืื ื ืืืืืง ืฆื ืืืคึผืืืงืึทื ืืึทืื ืขืืขืืขื ืื ืืื ืงืจืึธื ืึทืืข ืืืึทืืืขืก ืืื ืื ืืึทืืึทืืืืก.
- ืืืจ ืืืื ืฉืืืืขื ืืืืฃ ืื ืื ืืขืจืืืึทืื ืคึฟืึทืจ ืื "ืคืึธืืขืจ" ืืึทืื ื ืืืขืจ ืืืึธืก ืืื ืงืึทืืงืืึทืืืืืื ืืื ืืขืืืืื ื ืืื ืื ืคืึธืจืืืืข, ืืื ืคึฟืึทืจ ืื ืงืึทืืงืืึทืืืืืื ืืึทืื ื ืืืขืจ. ืึทื ืืขืจืฉ, ืื ืงืึทืืคึผืืืืึทื ื ืืืขืจ ืงืขื ืืืื ืืื ืึทื ืึทื ืกืึทืคึผืึธืจืืื ืฉืืึทื ืึธืืขืจ ืจืขืืขื ืขื ืึท ืคืจืืขืจืืืงื ืืืขืจื, ืืืึธืก ืืืขื ืืืืจืงื ืื ืจืืืืืึทืืืืึทืื ืคืื ืื ืืึธื ืืืึธืจืื ื ืจืขืืืืืึทืื.
ืืืื ืืืืืื ื ืืื ืืขืืืขื ืฆื ืืึทื ืึทืืืขืง ืคืื ืคืืขืงืกืึทืืึทื ืืฉืขืง ืื ืืขืจืืืึทืื ืืื ืืืืืืข ืคืื โโืคืึทืจืคืขืกืืืงื ืื ืืขืจืืืึทืื ืฆื ืขื ืฉืืจ ืึทื ืื ืงืึทืืคึผืืืืึทื ื ืืืขืจ ืืื ืขืืืึทืืืึทืืขื ื ืึธื ืื ื ืืืขืจ ืืืึธืก ื ืขืื ืื ืืึทืื (ืืื ืืื ืืืขืจ ืคืึทื, ืื ืืขืืคึผืขืจืึทืืืจ ืืื ืืืืจืื ืคืึทืืจืขื ืืขืื).
ืืืขืจ ืืืื, ืืืฉื, ื ืืฆื ืืขื ืืืกืืขืจ ืฆื ืืฉืขืงื ื ืืจืืืกืข ืฆืื ืืืฉืืจืื, ืืื ืื ืืฉืขืง ืืืขืจื ืืืจืืืขืคืืจื ืืืื ืืื ืืขืืข 30 ืกืขืงืื ืืขืก, "ืืืงื" ืืืืืงืก 29 ืกืขืงืื ืืขืก, ืืื ืืื ืื ืืขืฆืืข ืจืืข ืืืืื ืืขื ืื ืฆื ืงืึธื ืืจืึธืืืจื ืืื ืจืขืืขื ืขื. ืืขื ืงืจืืืืฅ ืึท ืจืื ืืื ืึทืคืขืงืฅ ืคืึธืจืฉืืขืืื ื. ืืขืจืืืขืจ, ืขืก ืืื ืจืขืงืึทืืขื ืืื ืฆื ื ืืฆื ืคืึทืจืคืขืกืืืงื ืื ืืขืจืืืึทืื ืืืืื ืืืื ืขืก ืืื ืืึทืงืข ื ืืืืืง.
ืืื ืืขื ืคึผืจืึธืืืขื, ืื ืึธืคึผืืืืึทื ืืืืืื ื ืืื ืึท ืืืื-ืฉืืจื ืืืฉืึทืืืึทืกืงืจืืคึผื ืคึผืจืืคึผืจืึธืกืขืกืกืื ื ืืืึธืก ืงืึทื ืืืขืจืฅ ืืืืจืื ืคืึทืืจืขื ืืขืื ืฆื ืืืืจืื ืกืขืืกืืืก:
`return (value - 32) * 5 / 9;`
ืขืก ืืื ืฉื ืขื ืืื ืืจืื ื, ืืืจ ืืึธื ื ืื ืืึทืจืคึฟื ืฆื ืฉืึทืคึฟื ืืื ืืืืืง ืืึทืื ืืืืึทืื ืืื ืืึทืืื ืึท ืืขืฉืืืืข ืืืืฃ ืืื, ืืื ืืืจ ืงืขื ืขื ืืืื ื ืืฆื ืคืืขืงืกืึทืืึทื ืื ืืขืจืืืึทืื ืคึฟืึทืจ ืืฉืขืงืก.
`return (parseInt(value) + parseInt("{$EXAMPLE.MACRO}"));`
ืึธืืขืจ, ืืืื ืืื ืึท ืืืืคึผืึทืืขืืืงืึทื ืกืืืืึทืฆืืข ืขืก ืืื ื ืืืืืง ืฆื ืืืืื ืื ืืืงืืืขื ืืึทืื ืขืืขืืขื ื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืื ืงืืื ืงืขืกืืืืขืจืืืง ืืืคืืื ื ืืื ืื ืืึทืงืจืึธื, ืขืก ืืืื ืืืื ืืขื ืืืขื ืืื ืืฉืืื ืึทื ืืขืจ ืคึผืึทืจืึทืืขืืขืจ ืืืขืจื ืืงืกืคึผืึทื ืื ืืื ืึท ืฉืืจืืงื. ืืื ืึท ืฉืืจืืงื ืึทืืืฉืึทื ืึธืคึผืขืจืึทืฆืืข, ืฆืืืื ืกืืจืื ืืก ืืขื ืขื ืคืฉืื ืงืึทืืืืื ื ืืื ืืืื.
`return (value + "{$EXAMPLE.MACRO}");`
ืฆื ืืึทืงืืืขื ืื ืจืขืืืืืึทื ืคืื ืึท ืืึทืืึทืืึทืืืงืึทื ืึธืคึผืขืจืึทืฆืืข, ืขืก ืืื ื ืืืืืง ืฆื ืืขืจ ืื ืืืืคึผืก ืคืื ืื ืืืงืืืขื ืืืึทืืืขืก ืฆื ืึท ื ืืืขืจืืง ืคึฟืึธืจืืึทื. ืคึฟืึทืจ ืืขื ืืืจ ืงืขื ืขื ื ืืฆื ืื ืคืื ืงืฆืืข ืคึผืึทืจืกืขืื ื (), ืืืืก ืคืจืืืืฆืืจื ืื ืืื ืฆื ืืขืฆืื, ื ืคืื ืงืฆืืข parseFloat(), ืืืึธืก ืคึผืจืึธืืืฆืืจื ืึท ืืขืฆืืืึทื, ืึธืืขืจ ืึท ืคึฟืื ืงืฆืืข ื ืืืขืจ, ืืืึธืก ืงืขืจื ืึท ืืึทื ืฅ ื ืืืขืจ ืึธืืขืจ ืืขืฆืืืึทื.
ืึทืจืืขื 2
ืืึทืงืืืขื ืื ืฆืืื ืืื ืกืขืงืื ืืขืก ืืื ืืขื ืกืืฃ ืคืื ืื ืืึทืืืืึทืื.
ืฆืืฉืืึทื ื: ืึท ืืื ืกื ืึทืจืืืกืืขืื ืึท ืขืงืกืคึผืขืจืืืฉืึทื ืืึธื ืคืื ืืึทืืืืึทืื ืืื ืืขื ืคึฟืึธืจืืึทื "12 ืคืขืืจืืืจ 12:33:56 2022 GMT".
ืืื ECMAScript5 date.parse() ืึทืงืกืขืคึผืฅ ืึท ืืึทืืข ืืื ISO 8601 ืคึฟืึธืจืืึทื (ืืืืืื-ืื-ืืืืื:ืื:ืกืก.ืกืกืกืกื). ืขืก ืืื ื ืืืืืง ืฆื ืืืึทืจืคื ืึท ืฉืืจืืงื ืฆื ืขืก ืืื ืืขื ืคึฟืึธืจืืึทื MMM DD YYYY HH:mm:ss ZZ
ืคึผืจืึธืืืขื: ืื ืืืืฉ ืืืขืจื ืืื ืืืืกืืขืืจืืงื ืืื ืืขืงืกื, ื ืืฉื ืืื ืึท ื ืืืขืจ. ืืึทืื ืืื ืืขื ืคึฟืึธืจืืึทื ืืขื ืขื ื ืืฉื ืื ืืขื ืืืขื ืืืจื Duktape.
ืืืืืื ื ืืืึทืฉืคึผืื:
-
ืขืจืฉืืขืจ ืคืื ืึทืืข, ืึท ืืืขืจืืึทืืึทื ืืื ืืขืจืงืืขืจื ืืืึธืก ื ืขืื ืึท ืืืขืจื (ืื ืืื ืฆืข ืฉืจืืคื ืืื ืึท ืืขืงืืึทืจืึทืฆืืข ืคืื โโืืืขืจืืึทืืึทืื ืืืึธืก ืืขื ืขื ืืืกืืขื ืืคืืขืฉืืืื ืืืจื ืงืึธืืืึทืก).
-
ืืื ืืขืจ ืขืจืฉืืขืจ ืฉืืจื ืืืจ ืืึทืงืืืขื ืื ืืึทืืข ืืื ืืขื ืคึผืึทืจืึทืืขืืขืจ ืืืขืจื ืืื ืฆืขืืืืื ืขืก ืืื ืกืคึผืืืกืึทื ื ืืฆื ืืขื ืืืคึฟื ืฉืคึผืึทืืื. ืืืื, ืืืจ ืืึทืงืืืขื ืึท ืืขื ืืข, ืืื ืืขืืขืจ ืขืืขืืขื ื ืคืื ืื ืืขื ืืข, ืกืืึทืจืืื ื ืืืึท ืืื ืืขืงืก 0, ืงืึธืจืึทืกืคึผืึทื ืื ืฆื ืืืื ืืึทืืข ืขืืขืืขื ื ืืืืืขืจ ืืื ื ืึธื ืึท ืคึผืืึทืฅ. ืฉืคึผืึทืืื (0) โ ืืืืฉ, ืฉืคึผืึทืืื (1) โ ื ืืืขืจ, ืฉืคึผืึทืืื (2) - ืึท ืฉืืจืืงื ืืื ืฆืืื, ืืื"ื ื ื ืึธื ืืขื, ืืขืืขืจ ืขืืขืืขื ื ืคืื ืื ืืึทืืข ืงืขื ืขื ืืืื ืึทืงืกืขืกื ืืืจื ืืื ืืขืงืก ืืื ืื ืืขื ืืข.
`var split = value.split(' '),`
- ืืขืืขืจ ืืืืฉ (ืืื ืงืจืึทื ืึทืืึทืืืฉืืงืึทื ืกืืจ) ืงืึธืจืึทืกืคึผืึทื ืื ืฆื ืืขืจ ืืื ืืขืงืก ืคืื ืืืึทื ืฉืืขืืข ืืื ืื ืืขื ืืข (ืคืื 0 ืฆื 11). ืฆื ืงืึธื ืืืขืจื ืึท ืืขืงืกื ืืืขืจื ืฆื ืึท ื ืืืขืจืืง ืืืขืจื, ืืืื ืขืจ ืืื ืืืกืืฃ ืฆื ืื ืืืืฉ ืืื ืืขืงืก (ืืืืึทื ืืืฉืื ืืขื ืขื ืืขืฆืืืื ืกืืึทืจืืื ื ืืืึท 1). ืืื ืืขื ืคืึทื, ืื ืืืืกืืจืืง ืืื ืื ืืขืจืฆื ืคืื ืืืื ืขืจ ืืื ืืขื ืืืขื ืืื ืงืืึทืืขืจื, ืืืืึทื ืึทื ืืขืจืฉ ืืืขื ืืึทืงืืืขื ืึท ืฉืืจืืงื, ื ืืฉื ืึท ื ืืืขืจ. ืืื ืื ืกืืฃ ืืืจ ืืึธื ืฆืขืื () - ืฉื ืืึทืื ืื ืืขื ืืข ืคืื โโืื ืกืืฃ ืฆื ืืึธืื ืืืืื ืฆืืืื ืืืชืืืช (ืืืึธืก ืืื ืืืืืืืง ืคึฟืึทืจ ืืืฉืื ืืื ืึท ืฆืืืื-ืฆืืคึฟืขืจ ื ืืืขืจ).
`MONTHS_LIST = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],`
`month_index = ('0' + (MONTHS_LIST.indexOf(split[0]) + 1)).slice(-2),`
- ืืืจ ืืึทืื ืึท ืฉืืจืืงื ืืื ISO ืคึฟืึธืจืืึทื ืคืื ืื ืืืงืืืขื ืืืึทืืืขืก ืืืจื ืื ืืขืืืืื ืืืขื ืึทืืืฉืึทื ืคืื ืกืืจืื ืืก ืืื ืื ืฆืื ืขืืขื ืกืืจ.
`ISOdate = split[3] + '-' + month_index + '-' + split[1] + 'T' + split[2],`
ืื ืืึทืื ืืื ืื ืจืืืึทืืืื ื ืคึฟืึธืจืืึทื ืืื ืื ื ืืืขืจ ืคืื ืกืขืงืื ืืขืก ืคืื 1970 ืฆื ืขืืืขืืข ืคืื ื ืืื ืืขืจ ืฆืืงืื ืคึฟื. ืขืก ืืื ืึผืืขื ืืืืืขืืืขื ืฆื ื ืืฆื ืืึทืื ืืื ืื ืืืงืืืขื ืคึฟืึธืจืืึทื ืืื ืืจืืืขืจื, ืืืืึทื Zabbix ืึทืืึทืื ืืืจ ืฆื ืึทืจืืขืื ืืืืื ืืื ืืึทืงืจืึธืก {ืืึธื} ะธ {ืฆืืึทื}, ืืืึธืก ืฆืืจืืงืงืืืขื ืื ืืึทืืข ืืื ืฆืืื ืืื ืึท ืืึทื ืืฆืขืจ-ืคืจืืึทื ืืืขื ืคึฟืึธืจืืึทื.
- ืืืจ ืงืขื ืขื ืืขืจืืืขืจ ืืึทืงืืืขื ืื ืงืจืึทื ื ืืึทืืข ืืื ืืืฉืึทืืืึทืกืงืจืืคึผื ืืื Unix Timestamp ืคึฟืึธืจืืึทื ืืื ืึทืจืึธืคึผืจืขืืขื ืขื ืขืก ืคืื ืื ืจืืืึทืืืื ื ืขืงืกืคึผืขืจืืืฉืึทื ืืึธื ืคืื ืืึทืืืืึทืื ืฆื ืืึทืงืืืขื ืื ื ืืืขืจ ืคืื ืืืืืกืขืงืึทื ืื ืคึฟืื ืืืฆื ืืื ืื ืืึทืืืืึทืื ืืงืกืคึผืืืขืจื.
`now = Date.now();`
- ืืืจ ืืืืื ืื ืืืงืืืขื ืืืขืจื ืืืจื ืึท ืืืืื ื ืฆื ืืึทืงืืืขื ืกืขืงืื ืืขืก ืืื Zabbix.
`return parseInt((Date.parse(ISOdate) - now) / 1000);`
ืืื ืื ืฆืื ืื, ืืืจ ืงืขื ืขื ืกืคึผืขืฆืืคืืฆืืจื ืื ืืืืกืืจืืง 'ืืขืฆืืข' ื ืืืืขืืื ืืขื ืืืจื ืึท ืกืืื ืคืื ืืืืืฉืึทืฅ ืืืึธืก ืงืึธืจืึทืกืคึผืึทื ืื ืฆื ืื ื ืืืขืจ ืคืื ืกืขืงืื ืืขืก ืืื ืืขืจ ืฆืืื ืืืึธืก ืืืจ ืืืืื ืฆื ืจืืกืคึผืึทื ื, ืืืฉื, ืืื ืืืึธืื. ืืืื, ืืขืจ ืฆืื ืื ืืืขื ืืขืื ืฆื ืืืืกื ืึทื ืื ืืึทืืืืึทืื ืืงืกืคึผืืืขืจื ืืื ืึท ืืืึธื.
NOTE. ืืึทืฆืึธืื ืืคืืขืจืงืืึทืืงืืึทื ืฆื ืื ื ืืฆื ืคึผืึทืจืกืขืื ื () ืืื ืคึฟืื ืงืฆืืข ืฆืืจืืงืงืืืขืืฆื ืืืึทืื ืื ืคืจืึทืงืฉืึทื ืึทื ื ืืืขืจ ืจืืืึทืืืื ื ืคืื ืืืื ืคืื ืืืืืกืขืงืึทื ืื ืฆื ืึท ืืึทื ืฅ ื ืืืขืจ. ืืืจ ืงืขื ืขื ืืืื ื ืืฆื parseFloat() ืืื ืงืจืึธื ืคืจืึทืงืฉืึทื ืึทื ืืึทืื.
ืืงืืจ: www.habr.com