ืืืืื ืืืกืงืื, ืืื ืืก ืฆืืืช ืืืื ืืืจืฆืื ืฉื Zabbix
Zabbix ืืื ืคืืืคืืจืื ืื ืืชื ืช ืืืชืืื ืืืฉืืช ืืืฉืืฉืช ืื ืืืืจ ืื ืกืื ืฉื ื ืชืื ืื. ืืื ืืืจืกืืืช ืืืืงืืืืช ืืืืชืจ ืฉื Zabbix, ืืื ืืื ื ืืืืจ ืืืืชื ืืช ืืืืืืช ืืืจืืฅ ืกืงืจืืคืืื ืฉืื ืื ืืืืฆืขืืช ืคืขืืืืช ืืืืืงืืช ืขื ืฆืืชื ืจืฉืช ืืขื. ืืืงืืื, ืืฉืงืช ืกืงืจืืคืืื ืืืืืื ืืืกืคืจ ืงืฉืืื, ืืจืืืช ืืื ืืฆืืจื ืืชืืื ืืกืงืจืืคืืื, ืืกืืจืชื ืืฆืืชื ืชืงืฉืืจืช ืืคืจืืงืกื ืืื ืชืืืื ืืืจืกืืืช ืฉืื ืืช.
JavaScript ืขืืืจ Zabbix
ืืืคืจืื 2019, Zabbix 4.2 ืืืฆื ืขื ืขืืืื ืืงืืื ืฉื JavaScript. ืื ืฉืื ืจืืื ืืชืืืื ืืืจืขืืื ืื ืืืฉ ืืช ืืชืืืช ืกืงืจืืคืืื ืฉืืืงืืื ื ืชืื ืื ืืื ืฉืื, ืืขืื ืืืชื ืืืกืคืง ืืืชื ืืคืืจืื ืฉ-Zabix ืืืื, ืืืืฆืข ืืืืงืืช ืคืฉืืืืช ืฉืืงืืื ื ืชืื ืื ืฉืืื ื ืืืื ืื ืืืืกืื ืืขืืืื ืขื-ืืื Zabbix, ืืื ืืืืจ ืืื ืขืืื ืืช ืืจื ืื ืชืื ืื ืืื ืืืืฆืขืืช ืืื Zabbix ื-JavaScript. ืืฉืืืื ืขื ืืืืื ืืจืื ื ืืืื ืืคืจืืืื ืชืืืืื ืฉืืืคืืขื ื- Zabbix 3.4, ืงืืืื ื ืงืื ืกืคื ืืืืฉ ืืืื ืืืืื ืื ืืืื ืื ืชืื ืื ืฉืืชืงืืื.
ื-Zabbix 4.4, ืืืืฉื ืืืืื ื ืืขืืืื ืืงืืื ื-JavaScript, ืืืคืืขื ืฉืืืช ืืืืขืืช ืืืฉื - Webhook, ืฉืืืืฆืขืืชื ื ืืชื ืืฉืื ืืืืขืืช Zabbix ืืงืืืช ืขื ืืคืืืงืฆืืืช ืฆื ืฉืืืฉื.
JavaScript ื-Duktapes
ืืืืข ื ืืืจื JavaScript ื-Duktape? ืืคืฉืจืืืืช ืฉืื ืืช ืืฉืคืืช ืืื ืืขืื ื ืฉืงืื:
- ืืืื - ืืืื 5.1
- Lua - LuaJIT
- Javascript - Duktape
- Javascript - JerryScript
- ืคืืืชืื ืืืืืข
- ืคืจื ืืืืืข
ืงืจืืืจืืื ื ืืืืืจื ืืขืืงืจืืื ืืื ืฉืืืืืช, ืงืืืช ืฉืืืื ืืื ืืข ืืืืฆืจ, ืฆืจืืืช ืืฉืืืื ื ืืืื ืืืืฆืืขืื ืืืืืื ืฉื ืืื ืืข, ืืืืืืืช ืืื ืกืช ืงืื ืืฉืคื ืื ืื ืืืืจ. ืืืชืืกืก ืขื ืฉืืืื ืืืื ืืืงืืืจืื, JavaScript ืืื ืืื ืืข Duktape.
ืงืจืืืจืืื ื ืืืืจื ืืืืืงืช ืืืฆืืขืื
ืชืืื ืืช ืฉื Duktape:
- ืกืื ืืจืื
- ืืืืืื Zabbix ืขืืืจ Duktape:
- Zabbix.log() - ืืืคืฉืจ ืืืชืื ืืืืขืืช ืขื ืจืืืช ืคืืจืื ืฉืื ืืช ืืฉืืจืืช ืืชืื ืืืื ืืฉืจืช ืฉื Zabbix, ืื ืฉืืืคืฉืจ ืืชืื ืฉืืืืืช, ืืืฉื, ื-Webhook, ืขื ืืฆื ืืฉืจืช.
- CurlHttpRequest() - ืืืคืฉืจ ืืืฆืข ืืงืฉืืช HTTP ืืจืฉืช, ืขืืืื ืืืืกืก ืืฉืืืืฉ ื-Webhook.
- atob() ื-btoa() - ืืืคืฉืจ ืื ืืงืืื ืืืคืขื ื ืืืจืืืืช ืืคืืจืื Base64.
ืืขืจื. Duktape ืขืืื ืืชืงื ื ACME. Zabbix ืืฉืชืืฉ ืืืจืกืช 2015 ืฉื ืืชืกืจืื. ืืฉืื ืืืื ืืืืื ืื ืืื ืืจืืื, ืื ืฉื ืืชื ืืืชืขืื ืืื..
ืงืกื ืฉื JavaScript
ืื ืืงืกื ืฉื JavaScript ืืืื ืืืงืืื ืืื ืืืช ืืืืืืืง ืกืื: ืืืจืืืช, ืืกืคืจืืช ืืืืืืื ืืช.
ืืืฉืืขืืช ืืื ืฉืืื ืฆืืจื ืืืฆืืืจ ืืจืืฉ ืืืื ืกืื ืืืฉืชื ื ืฆืจืื ืืืืืืจ ืขืจื.
ืืคืขืืืืช ืืชืืืืืช, ืืขืจืืื ืืืืืืจืื ืขื ืืื ืืืคืจืืืจืื ืฉื ืคืื ืงืฆืืืช ืืืืจืื ืืืกืคืจืื. ืืืจืื ืืคืขืืืืช ืืืื ืืื ืชืืกืคืช, ืืืืืื ืฉืื ืืคืืืช ืืื ืืืืื ืืื ืืื ืืืจืืืช, ืืืจืช ืืืจืืืช ืืืืืช ืขื ืื ืืืื ืืื.
ืืขืจื. ืืฉืืืืช ืืืืจืืืืช ืืืืจืืช ืืืื ืืืืฉืืืช ืืืจื ืืื ืืืืืช ืืืคืืก ืืื ืฉื ืืืืืืืงื, ืขืจื ืฉื ะธ toString. ืขืจื ืฉื ื ืงืจื ืืืืื ืืืจื ืืกืคืจืืช ืืชืืื ืืคื ื ืืฉืืื toString. ืฉืืื ืขืจื ืฉื ืืืื ืืืืืืจ ืขืจืืื ืคืจืืืืืืืืื, ืืืจืช ืืชืขืืืื ืืืชืืฆืื ืฉืื.
ืฉืืื ื ืงืจืืช ืขื ืืืืืืงื ืขืจื ืฉื. ืื ืืื ืื ื ืืฆื ืื ืื ืืืืืจ ืขืจื ืคืจืืืืืืื, ืืฉืืื ื ืงืจืืช toString. ืื ืืฉืืื toString ืื ื ืืฆื, ืืืคืฉ ืขืจื ืฉื ืืื ืืืืคืืก ืฉื ืืืืืืืงื, ืืืื ืืืืจ ืขื ืขืฆืื ืขื ืืกืืื ืขืืืื ืืขืจื ืืื ืืขืจืืื ืืืืืื ื ืืฆืงืื ืืืืชื ืกืื. ืื ืืืืืืืงื ืืืืฉื ืฉืืื toString, ืฉืืืืืจื ืขืจื ืคืจืืืืืืื, ืื ืืื ืืฉืืฉ ืืืืจืช ืืืจืืืช. ืขื ืืืช, ืืชืืฆืื ืฉื ืืืฉืื ืฉืืื ืื ืืื ื ืืืืจื ืืืจืืืช.
ืืืืืื, ืื ืขืืืจ ืขืืืจ ืืืืืืงื 'objืืืืืจืช ืืฉืืื toString,
`var obj = { toString() { return "200" }}`
ะผะตัะพะด toString ืืืืืจื ืืืืืง ืืืจืืืช, ืืืืฉืจ ืืืกืืคืื ืืืจืืืช ืขื ืืกืคืจ, ื ืงืื ืืืจืืืช ืืืืืงืช:
`obj + 1 // '2001'`
`obj + 'a' // โ200a'`
ืืื ืื ืชืืชืื ืืืืฉ toString, ืืื ืฉืืฉืืื ืืืืืจื ืืกืคืจ, ืืืืกืคืช ืืืืืืืงื ืชืชืืฆืข ืคืขืืื ืืชืืืืช ืขื ืืืจื ืืกืคืจืืช ืืชืชืงืื ืชืืฆืืช ืืืืืืจ ืืืชืืื.
`var obj = { toString() { return 200 }}`
`obj + 1 // '2001'`
ืืืงืจื ืื, ืื ื ืืฆืข ืืืกืคื ืขื ืืืจืืืช, ืืชืืฆืขืช ืืืจืช ืืืจืืืช, ืื ืงืื ืืืจืืืช ืืืืืงืช.
`obj + 'a' // โ200a'`
ืื ืืกืืื ืืืกืคืจ ืจื ืฉื ืืขืืืืช ืฉื ืืฉืชืืฉื JavaScript ืืชืืืืื.
ืืฉืืื toString ืืชื ืืืื ืืืชืื ืคืื ืงืฆืื ืฉืชืืืื ืืช ืืขืจื ืื ืืืื ืฉื ืืืืืืืงื ื-1.
ืืืฆืืข ืืกืงืจืืคื, ืืชื ืื ืฉืืืฉืชื ื ืฉืืื ื-3, ืืืื ืื ืฉืืื ื-4.
ืืืฉืืืื ืืงืืกื (==), ืืฉืืื ืืืืฆืขืช ืืื ืคืขื toString ืขื ืคืื ืงืฆืืืช ืืขืืืช ืขืจื. ืืืชืื ืืื, ืขื ืื ืืฉืืืื ืฉืืืืจ ืืื, ืืขืจื ืขืืื. ื ืืชื ืืืืื ืข ืืื ืขื ืืื ืฉืืืืฉ ืืืฉืืืื ืืื ืืฆืืง (===).
ืืฉืืืื ืืื ืืฆืืงืช ืกืื
ืืขืจื. ืื ืชืฉืชืืฉ ืืืฉืืืืช ืฉืืงื ืื ืฉืื ืืฆืืจื.
ืขืืืจ ืกืงืจืืคืืื ืืืจืืืื, ืืื Webhooks ืขื ืืืืืงื ืืืจืืืช, ืืืืจืฉืื ืืฉืืืื ืขื ืืฆืืงืช ืืืคืืกืื, ืืืืืฅ ืืืชืื ืืจืืฉ ืืืืงืืช ืขืืืจ ืืขืจืืื ืืืืืืจืื ืืฉืชื ืื ืืืืคืืื ืืืืกืจ ืขืงืืืืช ืืฉืืืืืช.
Webhook Media
ืืกืืฃ 2019 ืืชืืืืช 2020, ืฆืืืช ืืืื ืืืจืฆืื ืฉื Zabbix ืคืืชื ืืืืคื ืคืขืื ืืช Webhooks ืืืื ืืืจืฆืืืช ืืืืฅ ืืงืืคืกื ืฉืืืืขืืช ืขื ืืคืฆืช Zabbix.
ืืืืืงืช Jira ืืืคืง ืฉืืจืืช Jira ืืืืฆืช Microsoft Teams ืืืคืกืื ื OTR ืืืืช ืืคืืืฃ ืึธืจึดืื ืึทืึธืฉื Redmine ServiceNow SINGL4 ืจืคืื ืืืจืง ืืื Zendesk
ืงืืฉืืจ ืื
ืขืืืื ืืืงืื
- ืืืคืขืช ืืขืืืื ืืืงืืื ื-JavaScript ืืคืฉืจื ืื ืืืฉ ืืช ืจืื ืืกืงืจืืคืืื ืืืืฆืื ืืื, ืืืืื ื-Zabix ื ืืชื ืืงืื ืื ืขืจื ืืืืืืจ ืืืชื ืืขืจื ืืืจ ืืืืจื.
- ืขืืืื ืืงืืื ื-Zabbix ืืืืฉื ืขื ืืื ืงืื JavaScript, ืืฉืจ, ืืืฉืจ ืืื ืงืืืคืืื ืืชืื bytecode, ืืืืจ ืืคืื ืงืฆืื ืฉืืืงืืช ืขืจื ืืืื ืืคืจืืืจ ืขืจื ืืืืจืืืช (ืืืจืืืช ืืืืื ืืืืื ืื ืกืคืจื ืืื ืืกืคืจ).
- ืืืืืื ืฉืืคืื ืืื ืคืื ืงืฆืื, ืืกืืคื ืฉื ืืกืงืจืืคื ื ืืจืฉ ืึทืึฒืืึนืจ.
- ืืคืฉืจ ืืืฉืชืืฉ ืืคืงืืืืช ืืืงืจื ืืืชืืืืช ืืืฉืืช ืืงืื.
- ื ืืชื ืืืืืื ืืฉืืืื ืื ืจืง ืืจืืช ืืขืจืืช ืืืคืขืื, ืืื ืื ืืืืคื ืชืืื ืืชื. ืฉืื ืืขืืืื ืืืงืืื ืืืงืฆื ืืื ืืืืชืจ 10 ืืื-ืืืื ืฉื ืืืืจืื RAM ืืืืืืช ืืื ืจืืฆื ืฉื 10 ืฉื ืืืช.
ืืขืจื. ืขืจื ืืืื ืืงืฆืื ืฉื 10 ืฉื ืืืช ืืื ืื ืืจืื, ืืืืืื ืฉืืืกืืฃ ืืืชื ื ืฉื ืืืคื ืคืจืืื ื ืชืื ืื ืืฉื ืืื ืืืช ืืคื ืชืจืืืฉ ืขืืืื ืืืงืื ืืืื "ืืื" ืืืื ืืืื ืืช Zabbix. ืืื, ืื ืืืืืฅ ืืืฉืชืืฉ ืืขืืืื ืืงืืื ืืื ืืืฆืข ืกืงืจืืคืืื ืืืืื ืฉื JavaScript ืืจื ืื ืฉื ืงืจื ืจืืืื ื ืชืื ืื ืฆืืืื (ืคืจืืื ืืื), ืืืืคืขืืื ืจืง ืืื ืืืฆืข ืขืืืื ืืงืืื.
ืืชื ืืืื ืืืืืง ืืช ืืงืื ืฉืื ืืืืฆืขืืช ืืืื ืืขืืืื ืืืงืืื ืื ืืืืฆืขืืช ืืื ืืฉืืจืืช 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 ืฉื ืืืช, Zabbix "ืคืืจืฅ" ืืืฉื 29 ืฉื ืืืช, ืืืฉื ืืื ืืืืจืื ื ืืื ืืชืืืื ืืืืืง ืืืืฉื. ืื ืืืฆืจ ืชืืจ ืืืฉืคืืข ืขื ืืืืฆืืขืื. ืืื, ืืืืืฅ ืืืฉืชืืฉ ืืืจืืืืื ืงืืืขืื ืจืง ืื ืื ืืืืช ื ืืืฅ.
ืืืขืื ืื, ืืคืชืจืื ืืืืคืืืืื ืืื ืขืืืื ืืงืืื ืฉื JavaScript ืืฉืืจื ืืืช ืืืืืจ ืืขืืืช ืคืจื ืืืื ืืืขืืืช ืฆืืืืืก:
`return (value - 32) * 5 / 9;`
ืื ืืืืจ ืืงื, ืืชื ืื ืฆืจืื ืืืฆืืจ ืคืจืืื ื ืชืื ืื ืืืืชืจืื ืืืฉืืืจ ืขืืืื ืืืกืืืจืื, ืืชืืื ืื ืืืฉืชืืฉ ืืืจืืืืื ืืืืฉืื ืืืืืงืืช.
`return (parseInt(value) + parseInt("{$EXAMPLE.MACRO}"));`
ืืื, ืื ืืืฆื ืืืคืืชืื ืืฉ ืฆืืจื ืืืืกืืฃ ืืช ืจืืื ืื ืชืื ืื ืฉืืชืงืื, ืืืฉื, ืขื ืื ืงืืืข ืืืืืจ ืืืืงืจื, ืืฉ ืืงืืช ืืืฉืืื ืฉืืคืจืืืจ ืขืจื ืืชืจืื ืืืืจืืืช. ืืคืขืืืช ืืืกืคืช ืืืจืืืช, ืฉื ื ืืืจืืืืช ืคืฉืื ืืฉืืืืืช ืืืืช.
`return (value + "{$EXAMPLE.MACRO}");`
ืืื ืืงืื ืืช ืืชืืฆืื ืฉื ืคืขืืื ืืชืืืืช, ืืฉ ืฆืืจื ืืืืืจ ืืช ืกืืื ืืขืจืืื ืฉืืืฉืื ืืคืืจืื ืืกืคืจื. ืืฉืืื ืื ืืชื ืืืื ืืืฉืชืืฉ ืืคืื ืงืฆืื parseInt (), ืฉืืืืฆืจ ืืกืคืจ ืฉืื, ืคืื ืงืฆืื parseFloat (), ืฉืืืืฆืจ ื ืงืืื ืขืฉืจืื ืืช, ืื ืคืื ืงืฆืื ืืกืคืจ, ืืืืืืจ ืืกืคืจ ืฉืื ืื ืขืฉืจืื ื.
ืืฉืืื 2
ืงืื ืืช ืืืื ืืฉื ืืืช ืขื ืืกืืื ืืชืขืืื.
ืืฆื: ืฉืืจืืช ืื ืคืืง ืชืืจืื ืชืคืืื ืฉื ืืืฉืืจ ืืคืืจืื "12 ืืคืืจืืืจ 12:33:56 2022 GMT".
ื-ECMAScript5 ืชืืจืื.parse () ืืงืื ืชืืจืื ืืคืืจืื ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ). ืืฉ ืฆืืจื ืืืืื ืขืืื ืืืจืืืช ืืคืืจืื 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 ืืืคืฉืจ ืื ืืคืขืื ืจืง ืขื ืคืงืืืืช ืืืงืจื {ืชึทืึฒืจึดืื} ะธ {ืึฐืึทื}, ืืืืืืจืื ืืช ืืชืืจืื ืืืฉืขื ืืคืืจืื ืืืืืืชื ืืืฉืชืืฉ.
- ืืืืจ ืืื ื ืืื ืืงืื ืืช ืืชืืจืื ืื ืืืื ื-JavaScript ืืคืืจืื Unix Timestamp ืืืืืกืืจ ืืืชื ืืชืืจืื ืืชืคืืื ืฉื ืืืืฉืืจ ืืืชืงืื ืืื ืืงืื ืืช ืืกืคืจ ืืืืคืืืช ืืฉื ืืืช ืืขืืฉืื ืืขื ืฉืืืืฉืืจ ืืคืื.
`now = Date.now();`
- ืื ื ืืืืงืื ืืช ืืขืจื ืืืชืงืื ืืืืฃ ืืื ืืงืื ืฉื ืืืช ื- Zabbix.
`return parseInt((Date.parse(ISOdate) - now) / 1000);`
ืืืจืืืจ, ืืชื ืืืื ืืฆืืื ืืช ืืืืืื 'ืืืจืื' ืืืืจืื ืงืืืฆืช ืกืคืจืืช ืืชืืืืช ืืืกืคืจ ืืฉื ืืืช ืืชืงืืคื ืฉืืืื ืชืจืฆื ืืืืื, ืืืฉื ืืฉืืืขืืช. ืืคืืื, ืืืจืืืจ ืืืืืข ืื ืชืืงืฃ ืืืืฉืืจ ืืคืื ืืขืื ืฉืืืข.
ืืขืจื. ืฉืืื ืื ืืฉืืืืฉ parseInt () ืืชืคืงืื ืึทืึฒืืึนืจืืืืืจ ืืช ืืืกืคืจ ืืฉืืจื ืื ืืืข ืืืืืงืช ืืืคืืืช ืืฉื ืืื ืืืกืคืจ ืฉืื. ืืชื ืืืื ืื ืืืฉืชืืฉ parseFloat () ืืืืืกื ื ืชืื ืื ืืืงืืื.
ืืงืืจ: www.habr.com