Tikhon Uskov, เบงเบดเบชเบฐเบงเบฐเบเบญเบเบเบตเบกเบเบฒเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบ Zabbix
Zabbix เปเบเบฑเบเปเบเบฅเบฐเบเบฐเบเบญเบกเบเบตเปเบชเบฒเบกเบฒเบเบเบฑเบเปเบเปเบเปเบเปเบเบตเปเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเบดเบเบเบฒเบกเบเปเปเบกเบนเบเบเบฐเปเบเบเปเบเบซเบเบถเปเบ. เบเบฑเบเบเบฑเปเบเปเบเป Zabbix เบฎเบธเปเบเบเปเบฒเบญเบดเบ, เบเบนเปเปเบเบดเปเบเปเบเบเบฅเบฐเบเบปเบเบกเบตเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเปเบฅเปเบเบชเบฐเบเบดเบเบเปเบฒเบเปเบเปเบฒเบ. เบเบฒเบเบเบฐเบเปเบฒ เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบงเบเบชเบญเบเปเบ nodes เปเบเบทเบญเบเปเบฒเบเปเบเบปเปเบฒเบซเบกเบฒเบ. เปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ, เบเบฒเบเปเบเบตเบเบเบปเบงเบเบญเบ scripts เปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบเบซเบผเบฒเบ, เบฅเบงเบกเบเบฑเบเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ scripts, เบเบฒเบเบเบฑเบเบชเบปเปเบเบเบญเบเบเบงเบเปเบเบปเบฒเปเบเบซเบฒ nodes เบเบฒเบเบชเบทเปเบชเบฒเบเปเบฅเบฐ proxies, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเบฐเบเบฑเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ.
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
- Lua - 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 เบเบฑเบเปเบปเบเปเบกเปเบเบขเบนเปเปเบเบเบฒเบเบเบดเบกเปเบเบเปเบเบเบฒเบกเบดเบ เปเบฅเบฐเบเบฒเบเบชเบปเปเบเบชเบฑเบเบเบฒเบเบเบฐเปเบเบ: string, numeric, เปเบฅเบฐ boolean.
เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบกเบฑเบเบเปเปเบเปเบฒเปเบเบฑเบเบเบตเปเบเบฐเบเบฐเบเบฒเบเบฅเปเบงเบเบซเบเปเบฒเบงเปเบฒเบเบฐเปเบเบเบเบญเบเบเบปเบงเปเบเบเบงเบเบชเบปเปเบเบเบทเบเบเปเบฒ.
เปเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฒเบเบเบฐเบเบดเบเบชเบฒเบ, เบเปเบฒเบเบตเปเบชเบปเปเบเบเบทเบเปเบเบเบเบปเบงเบเบฐเบเบดเบเบฑเบเบซเบเปเบฒเบเบตเปเบเบฐเบเบทเบเบเปเบฝเบเปเบเบฑเบเบเบปเบงเปเบฅเบ. เบเบฒเบเบเบปเบเปเบงเบฑเปเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบงเปเบกเปเบเบเบญเบเบเบฒเบเบเบฑเปเบ, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเปเบฒเบซเบฒเบเบงเปเบฒเบขเปเบฒเบเบซเบเปเบญเบเบซเบเบถเปเบเบเบญเบเบเปเปเบเปเบฒเบเบปเบเปเบเบฑเบเบชเบฐเบเบฃเบดเบ, เบเบฒเบเปเบเบเบชเบฐเบเบฃเบดเบเบเบทเบเบเปเบฒเปเบเปเบเบฑเบเบเปเปเบเปเบฒเบเบปเบเบเบฑเบเบซเบกเบปเบ.
เปเบฒเบ เปเบซเบ. เบงเบดเบเบตเบเบฒเบเบเบตเปเบฎเบฑเบเบเบดเบเบเบญเบเบเปเปเบเบฒเบเบซเบฑเบเบเปเบฝเบเบเบฑเปเบเบเปเบฒเบงเบกเบฑเบเบเบฐเบเบทเบเบเบฐเบเบดเบเบฑเบเบขเบนเปเปเบเบเบปเบงเปเบเบเปเบกเปเบเบญเบเบงเบฑเบเบเบธ, เบกเบนเบเบเปเบฒ ะธ เบชเบฐเบเบดเบ. เบกเบนเบเบเปเบฒ เปเบญเบตเปเบเบงเปเบฒเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเปเบเบเบเบปเบงเปเบฅเบเปเบฅเบฐเบชเบฐเปเบซเบกเบตเบเปเบญเบเบงเบดเบเบตเบเบฒเบ เบชเบฐเบเบดเบ. เบงเบดเบเบตเบเบฒเบ เบกเบนเบเบเปเบฒ เบเปเบญเบเบเบฑเบเบเบทเบเบเปเบฒเปเบเบทเปเบญเบเบเบปเปเบ, เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบเบเบปเบเปเบเปเบฎเบฑเบเบเบญเบเบกเบฑเบเบเบฐเบเบทเบเบฅเบฐเปเบฅเบตเบ.
เบงเบดเบเบตเบเบฒเบเปเบกเปเบเปเบญเบตเปเบเบงเปเบฒเบงเบฑเบเบเบธ เบกเบนเบโเบเปเบฒ. เบเปเบฒเบกเบฑเบเบเปเปเบเบปเบเบซเบผเบทเบเปเปเบชเบปเปเบเบเบทเบเบเปเบฒเปเบเบทเปเบญเบเบเบปเปเบ, เบงเบดเบเบตเบเบฒเบเปเบกเปเบเปเบญเบตเปเบเบงเปเบฒ เบชเบฐเบเบดเบ. เบเปเบฒโเบซเบฒเบโเบงเปเบฒโเบงเบดโเบเบตโเบเบฒเบโ เบชเบฐเบเบดเบ เบเปเปเบเบปเบ, เบเบญเบเบซเบฒ เบกเบนเบเบเปเบฒ เปเบ prototype เบเบญเบเบงเบฑเบเบเบธ, เปเบฅเบฐเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเบเปเปเบฒเบเบฑเบเบเบปเบเบเปเบงเบฒเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเบเบญเบเบกเบนเบเบเปเบฒเปเบกเปเบเบชเปเบฒเปเบฅเบฑเบเปเบฅเบฐเบเปเบฒเบเบฑเบเบซเบกเบปเบเปเบ expression เปเบเปเบเบทเบเปเบเบเปเบเบเบฐเปเบเบเบเบฝเบงเบเบฑเบ.. เบเปเบฒเบงเบฑเบเบเบธเบเบฐเบเบดเบเบฑเบเบงเบดเบเบตเบเบฒเบ เบชเบฐเบเบดเบ, เปเบเบดเปเบเบชเบปเปเบเบเบทเบเบเปเบฒเปเบเบทเปเบญเบเบเบปเปเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบกเบฑเบเปเบกเปเบเบกเบฑเบเบเบตเปเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบเบชเบฐเบเบฃเบดเบ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเบปเบเปเบเปเบฎเบฑเบเบเบญเบเบเบฒเบเบเปเบฒเปเบเปเบงเบดเบเบตเบเบฒเบเบเบตเปเปเบกเปเบเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเบฑเบเบชเบฒเบ.
เบเบปเบงเบขเปเบฒเบ, เบเปเบฒเบชเปเบฒเบฅเบฑเบเบงเบฑเบเบเบธ 'เบงเบฑเบเบเบธ' เบงเบดเบเบตเบเบฒเบเปเบกเปเบเบเบทเบเบเปเบฒเบเบปเบ เบชเบฐเบเบดเบ,
`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.
เปเบกเบทเปเบญเบเบฝเบเบเบฝเบเบเบฑเบเบชเบฝเบเปเบซเบงเบเบเบฑเบเบซเบกเบปเบ (==), เบงเบดเบเบตเบเบฒเบเบเบทเบเบเบฐเบเบดเบเบฑเบเปเบเปเบเปเบฅเบฐเบเบฑเปเบ เบชเบฐเบเบดเบ เบเปเบงเบเบเบฑเบเบเบฑเบเปเบเบตเปเบกเบกเบนเบเบเปเบฒ. เบเบฑเปเบเบเบฑเปเบ, เบเปเบงเบเบเบฒเบเบเบฝเบเบเบฝเบเปเบเปเบฅเบฐเบเบฑเปเบเบเปเปเบกเบฒ, เบกเบนเบเบเปเบฒเปเบเบตเปเบกเบเบถเปเบ. เบเบตเปเบชเบฒเบกเบฒเบเบซเบผเบตเบเบฅเปเบฝเบเปเบเปเปเบเบเปเบเปเบเบฒเบเบเบฝเบเบเบฝเบเบเบตเปเบเปเปเปเบกเปเบเบชเบฝเบเปเบซเบงเบเบเบฑเบเบซเบกเบปเบ (===).
เบเบฒเบเบเบฝเบเบเบฝเบเปเบเบเบเปเปเบกเบตเบเบฒเบเบชเบปเปเบเบชเบฑเบเบเบฒเบเบเบฐเปเบเบ
เปเบฒเบ เปเบซเบ. เบขเปเบฒเปเบเปเบเบฒเบเบเบฝเบเบเบฝเบ Cast เปเบเบเบเปเปเบเปเบฒเปเบเบฑเบ.
เบชเปเบฒเบฅเบฑเบเบชเบฐเบเบดเบเบเบตเปเบเบฑเบเบเปเบญเบ, เปเบเบฑเปเบ Webhooks เบเบตเปเบกเบตเปเบซเบเบเบปเบเบชเบฐเบฅเบฑเบเบชเบฑเบเบเปเบญเบ, เบเบตเปเบเปเบญเบเบเบฒเบเบเบฒเบเบเบฝเบเบเบฝเบเบเบฑเบเบเบฐเปเบเบเบเบญเบเบเบฒเบเบเบดเบก, เปเบเบฐเบเปเบฒเปเบซเปเบเบฝเบเบเบฒเบเบเบงเบเบชเบญเบเบฅเปเบงเบเบซเบเปเบฒเบชเปเบฒเบฅเบฑเบเบเปเบฒเบเบตเปเบชเบปเปเบเบเบทเบเบเบปเบงเปเบเปเบฅเบฐเบเบฑเบเบเบฒเบเบเบฑเบเบเบงเบฒเบกเบเปเปเบชเบญเบเบเปเบญเบเปเบฅเบฐเบเบงเบฒเบกเบเบดเบเบเบฒเบ.
เบชเบทเป Webhook
เปเบเบเปเบฒเบเบเบต 2019 เปเบฅเบฐเบเบปเปเบเบเบต 2020, เบเบตเบกเบเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบ Zabbix เปเบเปเบเบฑเบเบเบฐเบเบฒเบขเปเบฒเบเบซเปเบฒเบงเบซเบฑเบเปเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒ Webhooks เปเบฅเบฐเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบญเบเบเปเบญเบเบเบตเปเบกเบฒเบเปเบญเบกเบเบฑเบเบเบฒเบเปเบเบเบขเบฒเบ Zabbix.
Discord Jira เปเบเบฐเบเปเบฅเบดเบเบฒเบ Jira เบเบตเปเบชเบธเบ เบเบตเบกเบเบฒเบเบเบญเบ Microsoft Opsgenie เบญเบทเปเบเป pagerduty เบเบนเปโเปเบฎเบ Redmine ServiceNow SINGL4 slack เปเบเบฅเบฐเปเบฅเบ Zammad Zendesk
เปเบเบทเปเบญเบกเบเปเปเบเบฑเบ
เบเบฒเบเบเบฐเบฅเบดเบเบเปเบญเบ
- เบเบฒเบเบกเบฒเปเบเบดเบเบเบญเบ preprocessing เปเบ JavaScript เปเบฎเบฑเบเปเบซเปเบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเบเบฐเบเบดเปเบกเบชเบฐเบเบดเบเบเบฒเบเบเบญเบเบชเปเบงเบเปเบซเบเป, เปเบฅเบฐเปเบเบเบฑเบเบเบธเบเบฑเบเบขเบนเปเปเบ Zabbix เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบกเบนเบเบเปเบฒเปเบเปเปเบฅเบฐเบเปเบฝเบเปเบเบฑเบเบกเบนเบเบเปเบฒเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบซเบกเบปเบ.
- Preprocessing เปเบ Zabbix เปเบกเปเบเบเบฐเบเบดเบเบฑเบเปเบเบเบฅเบฐเบซเบฑเบ JavaScript, เปเบเบดเปเบ, เปเบกเบทเปเบญเบฅเบงเบเบฅเบงเบกเปเบเบปเปเบฒเปเบเปเบ bytecode, เบเบฐเบเบทเบเบเปเบฝเบเปเบเบฑเบเบเบฑเบเบเบฑเบเบเบตเปเปเบญเบปเบฒเบเปเบฒเบเบฝเบงเปเบเบฑเบเบเบฒเบฅเบฒเบกเบดเปเบเบต. เบกเบนเบเบเปเบฒ เปเบเบฑเบเบชเบฐเบเบฃเบดเบ (เบชเบฐเบเบฃเบดเบเบชเบฒเบกเบฒเบเบกเบตเบเบฑเบเบเบปเบงเปเบฅเบ เปเบฅเบฐเบเบปเบงเปเบฅเบ).
- เปเบเบทเปเบญเบเบเบฒเบเบเบปเบเปเบเปเบฎเบฑเบเปเบกเปเบเบซเบเปเบฒเบเบตเป, เปเบเบเบญเบเบเปเบฒเบเบเบญเบ script เปเบกเปเบเบเปเบญเบเบเบฒเบ เบเบฒเบเบเบฑเบเบเบทเบเบกเบฒ.
- เบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเปเบเป macro custom เปเบเบฅเบฐเบซเบฑเบ.
- เบเบฑเบเบเบฐเบเบฒเบเบญเบเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเบเบฑเบเบเปเปเบเบฝเบเปเบเปเปเบเบฅเบฐเบเบฑเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ, เปเบเปเบเบฑเบเปเบเบฑเบเปเบเบผเปเบเบผเบก. เบเบฑเปเบเบเบญเบเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเบเปเบญเบเปเบกเปเบเบเบฑเบเบชเบฑเบเปเบซเปเบชเบนเบเบชเบธเบ 10 megabytes เบเบญเบ RAM เปเบฅเบฐเบเปเบฒเบเบปเบเปเบงเบฅเบฒเปเบฅเปเบ 10 เบงเบดเบเบฒเบเบต.
เปเบฒเบ เปเบซเบ. เบเปเบฒเปเบงเบฅเบฒเปเบปเบเปเบงเบฅเบฒเบเบญเบ 10 เบงเบดเบเบฒเบเบตเปเบกเปเบเบเปเบญเบเบเปเบฒเบเบซเบผเบฒเบ, เปเบเบฒเบฐเบงเปเบฒเบเบฒเบเปเบเบฑเบเบเบณเบเปเปเบกเบนเบเปเบเบฑเบเบเบฑเบเปเบฅเบฒเบเบเบฒเบเปเบ 1 เบงเบดเบเบฒเบเบตเบญเบตเบเบเบฒเบกเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเบเปเบญเบ "เปเบฑเบ" เบชเบฒเบกเบฒเบเบเปเบฒเบฅเบปเบ Zabbix. เบเบฑเปเบเบเบฑเปเบ, เบกเบฑเบเบเปเปเปเบเปเบเบทเบเปเบเบฐเบเปเบฒเปเบซเปเปเบเป preprocessing เปเบเบทเปเบญเบเบฐเบเบดเบเบฑเบ script JavaScript เปเบเบฑเบกเบฎเบนเบเปเบเบเปเบเบเบเปเบฒเบเบญเบฑเบเบเบตเปเปเบญเบตเปเบเบงเปเบฒเบญเบปเบเบเบฐเบเบญเบเบเปเปเบกเบนเบเปเบเบปเบฒ (เบฅเบฒเบเบเบฒเบ dummy), เปเบเบดเปเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฝเบเปเบเปเบเปเบฒเปเบเบตเบเบเบฒเบ preprocessing..
เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบงเบเบชเบญเบเบฅเบฐเบซเบฑเบเบเบญเบเบเปเบฒเบเปเบเบเบเปเบฒเบเบเบฒเบเบเบปเบเบชเบญเบ preprocessing เบซเบผเบทเบเบฒเบเบเปเบฒเปเบเปเบเบปเบเบเบฐเปเบซเบเบ 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 เบเบฒเบเปเบเบฑเบเปเบเบตเบเบตเปเบเบฐเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบ Celsius.
เบเปเบญเบเบซเบเปเบฒเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเบฐเบชเปเบฒเบเบฅเบฒเบเบเบฒเบเบเบตเปเปเบเบฑเบเบเปเบฒเบญเบธเบเบซเบฐเบเบนเบกเปเบเบญเบปเบเบชเบฒเบเบฒเปเบฃเบเบฎเบฒเบ. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบฅเบฒเบเบเบฒเบเบเปเปเบกเบนเบเบญเบทเปเบ (เบเบดเบเปเบฅเป) เบเบตเปเบเบฐเบเปเบฝเบ Fahrenheit เปเบเบฑเบ Celsius เปเบเบเปเบเปเบชเบนเบ.
เบเบฑเบเบซเบฒ:
- เบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบเปเบฒเปเบเบฑเบเบเบตเปเบเบฐเบเปเปเบฒเบเบฑเบเบญเบปเบเบเบฐเบเบญเบเบเปเปเบกเบนเบเปเบฅเบฐเปเบเบฑเบเบฎเบฑเบเบชเบฒเบกเบนเบเบเปเบฒเบเบฑเบเบซเบกเบปเบเปเบเบเบฒเบเบเปเปเบกเบนเบ.
- เบเปเบฒเบเบเปเบญเบเบเบปเบเบฅเบปเบเบเบฑเบเปเบฅเบเบฐเบซเปเบฒเบเบชเปเบฒเบฅเบฑเบเบฅเบฒเบเบเบฒเบเบเปเปเบกเบนเบ "เบเปเปเปเบกเป" เบเบตเปเบเบดเบเปเบฅเปเปเบฅเบฐเบเปเบฒเปเบเปเปเบเบชเบนเบ, เปเบฅเบฐเบชเปเบฒเบฅเบฑเบเบฅเบฒเบเบเบฒเบเบเปเปเบกเบนเบเบเบตเปเบเปเบฒเบเบงเบ. เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบ, เบฅเบฒเบเบเบฒเบเบเบตเปเบเบดเบเปเบฅเปเบญเบฒเบเบเบฐเปเบเบปเปเบฒเปเบเปเบเบชเบฐเบเบฒเบเบฐเบเบตเปเบเปเปเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบซเบผเบทเบเบดเบเปเบฅเปเบกเบนเบเบเปเบฒเบเบตเปเบเปเบฒเบเบกเบฒ, เปเบเบดเปเบเบเบฐเบชเบปเปเบเบเบปเบเบเบฐเบเบปเบเบเปเปเบเบงเบฒเบกเบซเบเปเบฒเปเบเบทเปเบญเบเบทเบเบญเบเบเบปเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบดเบเบเบฒเบก.
เบเบฒเบเปเบเปเปเบเบซเบเบถเปเบเปเบกเปเบเปเบเบทเปเบญเบเปเบฒเบเบญเบญเบเบเบฒเบเปเบฅเบเบฐเบเบฒเบเบเบงเบเบชเบญเบเบเบตเปเบกเบตเบเบงเบฒเบกเบเบทเบเบซเบเบธเปเบเปเบเปเบเบทเปเบญเบเปเบเบเบญเบเปเบฅเบเบฐเบเบปเบเบเบตเปเปเบเบทเปเบญเบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒเบฅเบฒเบเบเบฒเบเบเบตเปเบเบดเบเปเบฅเปเปเบเปเบเบทเบเบเบฐเปเบกเบตเบเบซเบผเบฑเบเบเบฒเบเบฅเบฒเบเบเบฒเบเบเบตเปเปเบเปเบฎเบฑเบเบเปเปเบกเบนเบ (เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบญเบธเบเบซเบฐเบเบนเบกเปเบเบญเบปเบเบชเบฒเบเบฒเปเบฃเบเบฎเบฒเบ).
เปเบเปเบเปเบฒ, เบเบปเบงเบขเปเบฒเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเปเบกเปเปเบเบเปเบเบทเปเบญเบเบงเบเปเบเบดเปเบเบญเบธเบเบฐเบเบญเบเบเปเบฒเบเบงเบเบซเบฅเบฒเบ, เปเบฅเบฐเบเบฒเบเบเบงเบเบชเบญเบเปเบกเปเบเบเบฐเบเบดเบเบฑเบเบซเบเบถเปเบเบเบฑเปเบเปเบเบเบธเบเป 30 เบงเบดเบเบฒเบเบต, Zabbix "hacks" เปเบเบฑเบเปเบงเบฅเบฒ 29 เบงเบดเบเบฒเบเบต, เปเบฅเบฐเปเบเบงเบดเบเบฒเบเบตเบชเบธเบเบเปเบฒเบเบกเบฑเบเบเบฐเปเบฅเบตเปเบกเบเบฒเบเบเบงเบเบชเบญเบเปเบฅเบฐเบเบฒเบเบเบดเบเปเบฅเป. เบเบตเปเบชเปเบฒเบเบเบดเบงเปเบฅเบฐเบเบปเบเบเบฐเบเบปเบเบเปเปเบเบฒเบเบเบฐเบเบดเบเบฑเบ. เบเบฑเปเบเบเบฑเปเบ, เปเบเบฐเบเปเบฒเปเบซเปเปเบเปเปเบฅเบเบฐเปเบงเบฅเบฒเบเบปเบเบเบตเปเบเบฝเบเปเบเปเบเปเบฒเบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบเปเบฒเปเบเบฑเบเปเบเปเป.
เปเบโเบเบฑเบโเบซเบฒโเบเบตเป, เบเบฒเบโเปเบเปโเปเบโเบเบตเปโเบเบตโเบเบตเปโเบชเบธเบโเปเบกเปเบโเบเบฒเบ preprocessing JavaScript เบซเบเบถเปเบโเปเบเบงโเบเบตเปโเบเปเบฝเบโเบญเบปเบโเบชเบฒ Fahrenheit เปเบเบฑเบโเบญเบปเบโเบชเบฒ Celsiusโ:
`return (value - 32) * 5 / 9;`
เบกเบฑเบเปเบงเปเบฅเบฐเบเปเบฒเบเบเบฒเบ, เบเปเบฒเบเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบชเปเบฒเบเบฅเบฒเบเบเบฒเบเบเปเปเบกเบนเบเบเบตเปเบเปเปเบเปเบฒเปเบเบฑเบเปเบฅเบฐเบฎเบฑเบเบชเบฒเบเบฐเบซเบงเบฑเบเบเปเบฝเบงเบเบฑเบเบเบงเบเบกเบฑเบ, เปเบฅเบฐเบเปเบฒเบเบเบฑเบเบชเบฒเบกเบฒเบเปเบเปเปเบฅเบเบฐเปเบงเบฅเบฒเบเบตเปเบกเบตเบเบงเบฒเบกเบเบทเบเบซเบเบธเปเบเปเบเบเบฒเบเบเบงเบเบชเบญเบ.
`return (parseInt(value) + parseInt("{$EXAMPLE.MACRO}"));`
เปเบเป, เบเปเบฒเบขเบนเปเปเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบชเบปเบกเบกเบธเบเบเบดเบเบฒเบ, เบกเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเบตเปเบกเบญเบปเบเบเบฐเบเบญเบเบเปเปเบกเบนเบเบเบตเปเปเบเปเบฎเบฑเบ, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ, เบกเบตเบเบฒเบเบเปเบฒเบเบปเบเบเบปเบเบเบตเปเปเบเบกเบฐเบซเบฒเบเบฒเบ, เบกเบฑเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบดเบเบฒเบฅเบฐเบเบฒเบงเปเบฒเบเบฒเบฅเบฒเบกเบดเปเบเบต. เบกเบนเบเบเปเบฒ เบเบฐเบซเบเบฒเบเบญเบญเบเปเบเบฑเบเบชเบฒเบ. เปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเบตเปเบกเบชเบฐเบเบฃเบดเบ, เบชเบญเบเบชเบฒเบเบเบทเบเบฅเบงเบกเปเบเบปเปเบฒเบเบฑเบเปเบเบฑเบเบญเบฑเบเบเบฝเบง.
`return (value + "{$EXAMPLE.MACRO}");`
เปเบเบทเปเบญเปเบซเปเปเบเปเบเบปเบเบเบญเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบฐเบเบดเบเบชเบฒเบ, เบกเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเปเบฝเบเบเบฐเปเบเบเบเบญเบเบเปเบฒเบเบตเปเปเบเปเบฎเบฑเบเปเบเบฑเบเบฎเบนเบเปเบเบเบเบปเบงเปเบฅเบ. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบซเบเปเบฒเบเบตเป parseInt(), เปเบเบดเปเบเบเบฐเบฅเบดเบเบเปเบฒเบเบงเบเปเบเบฑเบก, เบซเบเปเบฒเบเบตเป parseFloat(), เปเบเบดเปเบเบเบฐเบฅเบดเบเบเบปเบเบชเบฐเบเบดเบเบปเบก, เบซเบผเบทเบเบฑเบเบเบฑเบ เบเปเบฒเบเบงเบ, เปเบเบดเปเบเปเบซเปเบเบปเบเปเบเบฑเบเบเปเบฒเบเบงเบเปเบเบฑเบกเบซเบผเบทเปเบฅเบเบเบปเบเบชเบฐเบเบดเบเบปเบก.
เบงเบฝเบเบเบฒเบ 2
เปเบเปเบฎเบฑเบเปเบงเบฅเบฒเปเบเบฑเบเบงเบดเบเบฒเบเบตเบเบปเบเบเปเบงเบฒเปเบเบเบญเบเบเปเบฒเบเบเบญเบเปเบเบขเบฑเปเบเบขเบทเบ.
เปเบเบทเปเบญเบเปเบ: เบเปเบฅเบดเบเบฒเบเบญเบญเบเบงเบฑเบเปเบปเบเบญเบฒเบเบธเปเบเบฎเบฑเบเบฎเบญเบเปเบเบฎเบนเบเปเบเบ "Feb 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.
เบเบปเบงเบขเปเบฒเบเบเบฒเบเปเบเปเปเบ:
-
เบเปเบญเบเบญเบทเปเบ เปเบปเบ, เบเบปเบงเปเบเบเบทเบเบเบฐเบเบฒเบเบงเปเบฒเปเบเปเบเปเบฒ (เบชเบฐเบเบฃเบดเบเบเบฑเบ เปเบปเบ เปเบกเปเบเบเบฒเบเบเบฐเบเบฒเบเบเบปเบงเปเบเบเบตเปเปเบเปเบเบญเบญเบเบเปเบงเบเปเบเบทเปเบญเบเปเบฒเบเบเบธเบ).
-
เปเบเปเบเบงเบเปเบฒเบญเบดเบเบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเบงเบฑเบเบเบตเปเบเบเบฒเบฅเบฒเบกเบดเปเบเบต เบกเบนเบเบเปเบฒ เปเบฅเบฐเปเบเบเบกเบฑเบเบเปเบงเบเบเปเบญเบเบซเบงเปเบฒเบเปเบเบเปเบเปเบงเบดเบเบตเบเบฒเบ เปเบเปเบเบเบฑเบ. เบเบฑเปเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบ array, เปเบเบดเปเบเปเบเปเบฅเบฐเบญเบปเบเบเบฐเบเบญเบเบเบญเบ array, เปเบฅเบตเปเบกเบเบปเปเบเบเบตเปเบเบฑเบเบเบฐเบเบต 0, เบเบปเบเบเบฑเบเบญเบปเบเบเบฐเบเบญเบเบงเบฑเบเบเบตเบซเบเบถเปเบเบเปเบญเบเปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเปเบญเบเบซเบงเปเบฒเบ. เปเบเปเบ(0) - เปเบเบทเบญเบโ, เปเบเปเบ(1) - เบเปเบฒโเบเบงเบโ, เปเบเปเบ(2) - เบชเบฐเบเบดเบเบเบฑเบเปเบงเบฅเบฒ, เปเบฅเบฐเบญเบทเปเบเป. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เปเบเปเบฅเบฐเบญเบปเบเบเบฐเบเบญเบเบเบญเบเบงเบฑเบเบเบตเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเปเบเบดเบเปเบเปเปเบเบเบเบฑเบเบชเบฐเบเบตเปเบ array.
`var split = value.split(' '),`
- เปเบเปเบฅเบฐเปเบเบทเบญเบ (เบเบฒเบกเบฅเปเบฒเบเบฑเบ) เบเบปเบเบเบฑเบเบเบฑเบเบเบฐเบเบตเบเบญเบเบเปเบฒเปเบซเบเปเบเบเบญเบเบกเบฑเบเบขเบนเปเปเบเบญเบฒเปเบฅ (เบเบฒเบ 0 เบซเบฒ 11). เปเบเบทเปเบญเบเปเบฝเบเบเปเบฒเบเปเปเบเบงเบฒเบกเปเบเบฑเบเบเปเบฒเบเบปเบงเปเบฅเบ, เบซเบเบถเปเบเบเบฐเบเบทเบเปเบเบตเปเบกเปเบชเปเบเบฑเบเบเบฐเบเบตเปเบเบทเบญเบ (เปเบเบฒเบฐเบงเปเบฒเปเบเบทเบญเบเปเบกเปเบเบเบปเบงเปเบฅเบเปเบฅเบตเปเบกเบเบปเปเบเบเบตเป 1). เปเบโเบเปโเบฅเบฐโเบเบตโเบเบตเปโ, เบเบฒเบโเบชเบฐโเปเบเบโเบญเบญเบโเบเบตเปโเบกเบตโเบเบฒเบโเปเบเบตเปเบกโเบเบญเบโเบซเบเบถเปเบโเปเบกเปเบโเปเบเปโเบฎเบฑเบโเปเบโเบงเบปเบโเปเบฅเบฑเบโ, เปเบเบฒเบฐโเบงเปเบฒโเบเปเปโเบเบฑเปเบโเบเบฑเปเบโเบชเบฒเบโเบเบฑเบโเบเบฐโเปเบเปโเบฎเบฑเบโ, เบเปเปโเปเบกเปเบโเบเบปเบงโเปเบฅเบโ. เปเบเบเบตเปเบชเบธเบเบเบงเบเปเบฎเบปเบฒเปเบฎเบฑเบ เบเปเบฝเบ() - เบเบฑเบ array เบญเบญเบเบเบฒเบเบเปเบฒเบเปเบเบทเปเบญเปเบซเปเบกเบตเบเบฝเบเปเบเปเบชเบญเบเบเบปเบงเบญเบฑเบเบชเบญเบ (เบเบตเปเบชเปเบฒเบเบฑเบเบชเปเบฒเบฅเบฑเบเปเบเบทเบญเบเบเบตเปเบกเบตเบเบปเบงเปเบฅเบเบชเบญเบเบเบปเบงเปเบฅเบ).
`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),`
- เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบญเบเปเบเบฑเบ string เปเบเบฎเบนเบเปเบเบ ISO เบเบฒเบเบเปเบฒเบเบตเปเปเบเปเบฎเบฑเบเปเบเบเบเบฒเบเปเบเบตเปเบกเบเบปเบเบเบฐเบเบดเบเบญเบ strings เปเบเบเปเบฒเบชเบฑเปเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบก.
`ISOdate = split[3] + '-' + month_index + '-' + split[1] + 'T' + split[2],`
เบเปเปเบกเบนเบเปเบเบฎเบนเบเปเบเบเบเบปเบเปเบเปเบฎเบฑเบเปเบกเปเบเบเปเบฒเบเบงเบเบงเบดเบเบฒเบเบตเบเบฒเบ 1970 เปเบเบดเบเบเบฒเบเบเบธเบเปเบเบญเบฐเบเบฒเบเบปเบ. เบกเบฑเบเปเบเบทเบญเบเปเบเบฑเบเปเบเบเปเปเปเบเปเบเบตเปเบเบฐเปเบเปเบเปเปเบกเบนเบเปเบเบฎเบนเบเปเบเบเบเบตเปเปเบเปเบฎเบฑเบเปเบ triggers, เปเบเบฒเบฐเบงเปเบฒ Zabbix เบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฑเบ macro เปเบเบปเปเบฒเบเบฑเปเบ. {เบงเบฑเบเบเบต} ะธ {เปเบงเบฅเบฒ}, เปเบเบดเปเบเบชเบปเปเบเบเบทเบเบงเบฑเบเบเบตเปเบฅเบฐเปเบงเบฅเบฒเปเบเบฎเบนเบเปเบเบเบเบตเปเปเบเบฑเบเบกเบดเบเบเบฑเบเบเบนเปเปเบเป.
- เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบงเบฑเบเบเบตเบเบฐเบเบธเบเบฑเบเปเบ JavaScript เปเบเบฎเบนเบเปเบเบ Unix Timestamp เปเบฅเบฐเบฅเบปเบเบกเบฑเบเบญเบญเบเบเบฒเบเบงเบฑเบเบซเบกเบปเบเบญเบฒเบเบธเบเบญเบเปเบเบขเบฑเปเบเบขเบทเบเบเบปเบเปเบเปเบฎเบฑเบเปเบเบทเปเบญเปเบซเปเปเบเปเบเปเบฒเบเบงเบ milliseconds เบเบฒเบเบเบตเปเบเบปเบเบเปเบงเบฒเปเบเบขเบฑเปเบเบขเบทเบเบซเบกเบปเบเบญเบฒเบเบธ.
`now = Date.now();`
- เบเบงเบเปเบฎเบปเบฒเปเบเปเบเบเปเบฒเบเบตเปเปเบเปเบฎเบฑเบเปเบเบเบเบฑเบเปเบเบทเปเบญเปเบซเปเปเบเปเบงเบดเบเบฒเบเบตเปเบ Zabbix.
`return parseInt((Date.parse(ISOdate) - now) / 1000);`
เปเบ trigger, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเบเบปเบเบเบฒเบเบชเบฐเปเบเบเบญเบญเบ 'เบชเบธเบเบเปเบฒเบ' เบเบฒเบกเบเปเบงเบเบเบธเบเบเบปเบงเปเบฅเบเบเบตเปเบเบปเบเบเบฑเบเบเปเบฒเบเบงเบเบงเบดเบเบฒเบเบตเปเบเปเบฅเบเบฐเปเบงเบฅเบฒเบเบตเปเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบ, เบเบปเบงเบขเปเบฒเบ, เปเบเบญเบฒเบเบดเบ. เบเบฑเปเบเบเบฑเปเบ, เบเบปเบเบเบฐเบเบปเบเบเปเปเบเบฐเปเบเปเบเปเบซเปเบเบฒเบเบงเปเบฒเปเบเบขเบฑเปเบเบขเบทเบเบซเบกเบปเบเบญเบฒเบเบธเปเบเบซเบเบถเปเบเบญเบฒเบเบดเบ.
เปเบฒเบ เปเบซเบ. เบเปเบฒเบเปเบญเบปเบฒเปเบเปเบชเปเบเบฑเบเบเบฒเบเบเปเบฒเปเบเป parseInt() เปเบเบซเบเปเบฒเบเบตเป เบเบฒเบเบเบฑเบเบเบทเบเบกเบฒเปเบเบทเปเบญเปเบเบเบเบปเบงเปเบฅเบเปเบชเบเบชเปเบงเบเบเบตเปเปเบเบฑเบเบเบปเบเบกเบฒเบเบฒเบเบเบฒเบเปเบเปเบ milliseconds เปเบเบฑเบเบเปเบฒเบเบงเบเปเบเบฑเบก. เบเบญเบเบเบฑเปเบเบเปเบฒเบเบเบฑเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเป parseFloat() เปเบฅเบฐเปเบเบฑเบเบเปเปเบกเบนเบเปเบชเบเบชเปเบงเบ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com