Tikhon Uskov, αα·ααααααααα»ααααΆα αααααα Zabbix
Zabbix ααΊααΆαααα·ααΆαααα’αΆα ααααΌαααΆααααααααααααΌαααΆαααααΎααΎααααΈααΆαααΆααα·ααααααααααααααΆαα½αα α αΆααααΆααααΈααααααααΌααααα»ααααα Zabbix α’αααααααααααααααα½ααα·αα·αααααΆααααααααΆααααα»αααΆαααααΎαααΆαααααααΈαααααααααΆαααα αααααααΆα αααααΆααααΆααααα½ααα·αα·αααααΎααααΆαααααααΆαααααα α αααααΉαααΉαααα ααΆαααΎαααααΎαααΆαααααααΈαααΆαααΆαα±ααααΆαααΆαααααΆααα½αα ααα½α αα½αααΆαααΌα ααΆ αααααΌαααΆαααΆααααααααααΈα ααΆαα ααα αΆααααααα½ααααα ααΆααααααΆααααααΆαααααα αα·αααααΌααααΈ ααααΌα ααΆααΆαααΆαααααααααΆααααααααααααααααΆα
JavaScript αααααΆαα Zabbix
αα αααα»αααααααΆ ααααΆα 2019 Zabbix 4.2 ααααΌαααΆαααααΆαααΆαα½αααΉαααΆαααααΎαααΆα JavaScript ααΆαα»αα ααα»αααααΆα αααΎαααΆαααΆαααααΎαα αααααααα·αααααΆαααααααα ααααΆααααααααααααΈαααααααα·αααααααα ααααααααΆαα½α ααααΆαααΆ αα·ααααααααΆαααα»αααααααααα Zabbix ααα α αΎαααααΎααΆααααα½ααα·αα·αααααΆαααααααααΉαααα½αααΆααα·ααααααααααα·αααΆαααα½α ααΆαααααααΆααααΆααααα»α αα·αααααΎαααΆαααα Zabbix αα·α αααααΆααααααααΎαααΆαααααααΈααα·ααααααααααααααααΎα§ααααα Zabbix αα·α JavaScript α αααααααΆααααΆαα½αααΉαααΆαααααΎαααααα·αααΆα αα·αααΆαα»α’αΆααααααααααΆααααα αΆααααα½ααα αααα»α Zabbix 3.4 ααΎαααα½αααΆααααα·ααααα’αΆα ααααααααΆααααααΆαααααααα αα·αααααααααααα·αααααααααααα½αααΆαα
αα αααα»α Zabbix 4.4 ααΆααΆαααααα‘αΌααΈααααααΆαααααΎαααΆααα»ααα αααα»α JavaScript αα·ααΈααΆαααααααΌαααααΉαααααΈαα½αααΆααααα αΆααααα½α - Webhook αααα’αΆα ααααΌαααΆαααααΎααΎααααΈαα½ααααα αΌαααΆαααΌαααααΉα Zabbix αααΆαααΆααααα½αααΆαα½ααααααα·ααΈααΆααΈααΈααΈα
JavaScript αα·α Duktapes
α ααα»α’αααΈααΆαααΆ JavaScript αα·α Duktape ααααΌαααΆαααααΎαααΎα? αααααΎααααααααααααΆααααΆααΆ αα·ααααΆαααΈαααααΌαααΆααα·α αΆαααΆα
- ααΌ - Lua 5.1
- ααΌ - LuaJIT
- Javascript - Duktape
- Javascript - JerryScript
- ααΆααααααα Python
- αααααα Perl
αααααααα·αα·α ααααααααΎαααΎαα ααααααΊ α’ααααΆαααααααΆα‘αα ααΆαααΆααααα½αααααΆααα½ααααα αΌααααΆαααΈααα αααα»αααα·ααα ααΆαααααΎααααΆααααααΆαααΆα αα·αααααΎαααΆαααΌαα αααααααΆαααΈα αα·ααα»ααααα·ααΆαααααΆαααααΆαααΌαααΆααΆααΆααααα αααα»αααΆααααα½ααα·αα·αααα αααααα’ααααΎααΆααα½ααααα αΌαααααΆααααΌα ααΆαα JavaScript ααΆαααααααΎαααΆαααΈα Duktape α
αααααααα·αα·α ααααααααΎαααΎα αα·αααΆαααααΎαααααααΆαα’αα»αααα
αααααααα·ααααααα Duktapeα
- αααααααΆα
- αααΌαα»α Zabbix αααααΆαα Duktapeα
- Zabbix.log() - α’αα»ααααΆαα±ααα’ααααααααααΆααααααΆαααααα·ααα»ααααααΆααααααααΆααααα’α·ααααααααΆαααα αααα»ααααααα ααα»αααΆαααΈααα Zabbix αααααααΎα±ααααΆα’αΆα ααααΎαα ααΆαααΎααααΈαααααααΌαααα α»αα§ααΆα ααααα αααα»α Webhook ααΆαα½αααΉαααααΆαααΆααααΆαααΈαααα
- CurlHttpRequest() - α’αα»ααααΆαα±ααα’αααααααΎααααΎ HTTP αα ααΆαααααααΆα αααααΆαααααΎααααΆαα Webhook ααΆαααΌαααααΆαα
- atob() αα·α btoa() - α’αα»ααααΆαα±ααα’αααα’αα·αααΌα αα·ααα·ααΌαααααα’αααααααα»ααααααα Base64 α
α αααΆαα. Duktape α’αα»αααααΆααααααααΆα ACME α Zabbix ααααΎβαααα 2015 ααβααααααΈαα ααΆαααααΆααααααΌαααΆαααααααααΆααααΊααΌα ααΆα ααΌα αααααα½αααα’αΆα ααααΌαααΆααααα·αα’αΎααΎα.
JavaScript Magic
αααααααααΆααα’αααα JavaScript αααα·ααα αααα»αααΆαααΆαα’αααα αα·αααΆαα’ααααααΆαααααα ααααα’αααα ααα αα·ααααΌααΈαα
αααααΆααααααΆ ααΆαα·αα αΆαααΆα ααααα»αααΆααααααΆαααΆαα»αααΌαα’αααΈαααααααααα’ααααα½ααααααα‘ααααααααααααα
αααα»αβααααα·ααααα·ααΆαβααα·ααα·ααααΆ αααααβαααα‘ααβαααβα’αα»ααααβααααΌαβααΆαβαααααααβαα ααΆβαααα ααΆαααΎααααα ααααααααα·ααααα·ααΆαααααααααΊααΆααΆααααααα ααΈαααααααααα·αααΎαααΆαα αα ααΆαααααααααααα½αααΊααΆααααα’αααα ααΆααααααααααααα’ααααααααΌαααΆαα’αα»ααααα ααααααααααααααΆααα’ααα
α αααΆαα. αα·ααΈααΆααααααααααα½ααα»αααααΌαα ααααααΆααααααααααααααααΆααααααΆααααΌαααΆαα’αα»αααααα αααα»αααααΌααααααααααα» ααααβαα ΠΈ ααααα’αααα. ααααβαα ααΆαα α αααα»αα’αα‘α»αααααααααααααΆααα α αΎαααααααα»ααα·ααΈααΆααααα ααααα’αααα. αα·ααΈααΆααααα ααααβαα ααααΌααααααα‘αααααααααα ααΎαα·αααΌα ααααααααααααααααααΆαα·αααααΌαααΆαααα’αΎααΎα
αα·ααΈααΆααααααα½αααααΌαααΆαα α αα ααΎααααα»αα½αα ααααβαα. ααααα·αααΎααΆαα·αααααΌαααΆαααααΎα α¬αα·ααααα‘αααααααααααα αα·ααΈααΆαααααααααΌαααΆαααα α ααΆ ααααα’αααα. ααααα·αααΎαα·ααΈααΆααααα ααααα’αααα αααα·αααΎα, ααααααα ααααβαα αα βαααα»αβααααΌβααααα» α αΎαβα’αααΈβαααααβαααΆαβααααΌαβααΆαβααααΎβα‘αΎαβαα·αβαα αΌαβαααβααααΎαααΆαβααβαααααβααααΌαβααΆαβαααα αα α αΎαβαααααβααΆααα’ααβαααα»αβααααααβααααΌαβααΆαβαααβαα βααααααβααΌα ααααΆ. ααααα·αααΎααααα»α’αα»αααααα·ααΈααΆααααα ααααα’ααααααααααα‘αααααααααα αααααΆααααααΆααΊααΆααΆαααααααΌαααΆαααααΎαααααΆααααΆααααααααααααα’ααααα αααααΆαααΆαααΆαααααααααααααααΆαα’αα»αααααα·ααΈααΆαααααααααα·αα αΆαααΆα αααΆααααα’ααααααα
α§ααΆα ααα ααααα·αααΎαααααΆααααααα» 'objαα·ααΈααΆαααααααααΌαααΆαααααα ααααα’αααα,
`var obj = { toString() { return "200" }}`
αα·ααΈααΆααααα ααααα’αααα αααα‘ααβααααβαα·αβααααΆααβαα½α α αΎαβαααβααααααβααααβα’ααααβααΆαα½αβααα ααΎαβααα½αβααΆαβααααβαααβααα’α·αβααΆααα
`obj + 1 // '2001'`
`obj + 'a' // β200a'`
ααα»ααααααααα·αααΎα’ααααααααα‘αΎααα·α ααααα’ααααααΌα ααααβαα·ααΈααΆαααααβαααα‘ααβαααβαα·α αα αααβααααα»βααααΌαβααΆαβαααααα ααααα·ααααα·ααΆαβααα·ααα·ααααΆβααΆαα½αβααΆαβαααααααβαααβααΉαβααααΌαβααΆαβα’αα»αααα α αΎαβααααααβααβααΆαβααααααβααα·ααα·ααααΆβααΉαβααααΌαβααΆαβααα½αα
`var obj = { toString() { return 200 }}`
`obj + 1 // '2001'`
αααα»αααααΈααα ααααα·αααΎααΎαααααΎααΆαααααααααΆαα½αααααα’αααα ααΆαααααααααααααα½αααααΌαααΆαα’αα»αααα α αΎαααΎαααα½αααΆααααααααααα’α·αααΆααα
`obj + 'a' // β200a'`
αααααΆα ααα»αααααααΆααααα α»ααα½αα ααα½ααααααα’αααααααΎααααΆαα JavaScript ααααΈαααααα
αα·ααΈααΆααααα ααααα’αααα α’αααα’αΆα ααααααα»αααΆααααααΉααααααΎαααααααα αα α»ααααααααααααααα»ααα 1 α
ααΆαααααα·ααααα·ααααααααΈαααααααααααΆα’αααααααΎααΉα 3 α αΎαααΆααααααΎααΉα 4 αααααα
αα αααααααααααααΆαα½ααα½ (==) αα·ααΈααΆαααααααααΌαααΆαααααα·ααααα·ααΆααααα ααααα’αααα ααΆαα½αααΉααα»αααΆααααααΎααααααα ααΌα ααααα αΎαααΆαα½αααΉαααΆαααααααααααΆαααααααααΆααααΈαα½αααααααααΎαα‘αΎαα αααα’αΆα ααααΌαααΆααααααΆααααααααΎααΆααααααααααα·αααΆα (===) α
ααΆααααααααααααααααΆααααααα
α αααΆαα. αα»αααααΎααΆαααααααααααΆαααααα·αα αΆαααΆα α.
αααααΆααααααααΈααααα»αααααααΆα ααΌα ααΆ Webhooks αααααΆααααααα·ααααΆαααα»αααααααΆα αααααΆαααΆαα±ααααΆαααΆαααααααααααΆαα½αααΉαααΆααααααΌααααααα ααΆααααΌαααΆαααααΆαα±αααααααααΆααααα½ααα·αα·αααααΆαα»ααααααΆαααααααααααααα‘ααα’ααα αα·ααααααααΆαααΆααα·ααααΈαααααΆααααααΆ αα·αααα α»αα
ααααααααααααααααααΆα Webhook
αα α α»αααααΆα 2019 αα·αααΎαααααΆα 2020 αααα»ααααΆα αααααα Zabbix ααΆααα·ααααα»αα’αα·αααααααΆααααααααΌα Webhooks αα·αααΆααα½ααααα αΌααααα αααα’αααααααααΆααααααΆαα½αααΆαα ααα αΆα Zabbix α
αα·ααΆα Jira αα»ααααΆααααααΈαααΆ ααααΆαααααα»αα αααα»α Microsoft Opsgenie ααααααααα αααα½ααα»αααααΌα ααΌαα αα Redmine ServiceNow α SINGL4 slack Telegram α αααΆαααΆα Zendesk
ααααΆαααα
αααα»αααααΎαααΆα
- ααΆααααααααααααΎαααΆααα»ααα αααα»α JavaScript ααΆαααααΎα±ααααΆα’αΆα ααααΎαα ααΆαααΎααααΈααααααα ααααααααΈαααΆααααα ααΆαα αααΎα α αΎααα αα α»αααααααα αααα»α Zabbix α’αααα’αΆα ααα½αααΆααααααααΆαα½α α αΎαααααααααΆαα ααΆααααααα»αααααΆααΆαααααα»αα
- ααΆαααααΎαααΆαααΆαα»ααα αααα»α Zabbix ααααΌαααΆαα’αα»αααααααααΌα JavaScript ααααα αααα αααααααΆ bytecode ααααΌαααΆαααααααααα ααΆαα»αααΆααααααααααααααα½αααΆαααΆαααΆαααααα ααααα ααΆααααα’αααα (ααααα’ααααα’αΆα ααΆαααΆααααα αα·αααα)α
- αααααΆαααααααααΊααΆαα»αααΆααα½α αα α α»ααααα ααααααααααΈαααΊααααΌαααΆαααΆαααΆα αααα‘αααααα·α.
- ααΆα’αΆα αα αα½α αααα»αααΆαααααΎαααΆααααΌααααΆαααααα½ααα αααα»αααΌαα
- ααααΆαα’αΆα ααααΌαααΆαααααααα·αααααΉααααα ααααα·αααααααααααααα·ααααα·ααΆαααα»ααααααα ααα»ααααααααΆααααααα·ααΈαααααα ααα αΆαααααΎαααΆααα»αααααΌαααΆααααα αα RAM α’αα·ααααΆ 10 ααα αααΆαα αα·αααααααααααααΆααααΎαααΆα 10 αα·ααΆααΈα
α αααΆαα. αααααα’ααααα 10 αα·ααΆααΈααΊα αααΎαααΆαα ααΈαααααααΆααααααΌαααΆαα»αα·ααααααααΆααααΆααααΆααααααααααααα»ααααααα 1 αα·ααΆααΈ ααααα ααΆαααααΆααΈαααΌαααααααΎαααΆααα»α "ααααα" α’αΆα ααααα 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
αααα½αααΆαα»αααααΆαααααΆαααααααΎαααΆααα»αα
ααααααααα ααα½αααΆαααΈαα»ααα ααΆααααα»α Fahrenheit ααΈα§αααααα αΆαααααααΆ ααΎααααΈαααααΆαα»ααααα»αα’ααααΆααα
ααΈαα»α ααΎαααΉααααααΎαααΆαα»ααααααααΌαααΈαα»ααα ααΆαααΆααΊααααα αααΆαα·αα αα αααααΆααααΈααα ααΆαα»αα·αααααααα½αααα (ααααΆ) αααααΉαααααααα Fahrenheit αα α’ααααΆαα αααααααΎααΌααααααα½αα
αααα αΆ:
- ααΆα αΆαααΆα ααααα»αααΆαα ααααααΆαα»αα·αααααα αα·ααααααΆαα»ααααααααΆααα’αααα αααα»αααΌαααααΆααα·ααααααα
- α’αααααααΌααααααααααααΎα αααααααααααααΆααααΆαα»αα·αααααα "αα" αααααααΌαααΆαααααΆ αα·αααααΎαααα»αααΌααααα αα·ααααααΆααααΆαα»αα·αααααααααααΆαααααΆα ααΎαα·αααΌα αααααα ααΆαα»αααααΆαααααΆα’αΆα α αΌααα αααα»αααααΆαααΆαααααα·αααΆαααα α¬ααααΆαααααααΈαα»α αααααΉααααααΆαααααααΆαααΏααΆαααααααααααααα½ααα·αα·αααα
αααααααααΆααα½αααΊααααΌαααααΆααααΈααααΆαααΈα αααααααααααα½ααα·αα·ααααααα’αΆα ααααααααΆα αα αααα»αααΆααααα α·αααααα ααααααααααα ααΎααααΈααΆααΆααΆααΆαα»αααααΆαααααΆααααΌαααΆαααΆαααααααααααΆααααΈααΆαα»αααααα½αααΆααα·αααααα (αααα»αααααΈααααααΎα ααΈαα»ααα ααΆααα·αααΆααΊααααα αααΆαα·αα α)α
ααα»ααααααααα·αααΎα§ααΆα αααααΎαααααΎααααΌααΎααααΈαα·αα·αααααΎαα§ααααααα½αα ααα½αααα αΎαααΆααααα½ααα·αα·αααααααΌαααΆαα’αα»αααααααααααααΆαα 30 αα·ααΆααΈ Zabbix "hack" αααααα 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 date.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