ΠΠ΅Π»Π°Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ 2 Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ ΡΠ΅ΡΠΈΡΡ ΠΊΡΠ°ΡΠΈΠ²ΠΎ ΠΈ ΡΡΠ°ΡΠ½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ Zabbix.
ΠΠ°Π΄Π°ΡΠ° 1. ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π½Π° ΡΠΎΡΡΠ΅ΡΠ°Ρ Mikrotik.
ΠΠ°Π΄Π°ΡΠ° ΡΠ΅ΡΠ°Π΅ΡΡΡ Π»Π΅Π³ΠΊΠΎ β Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π² ΡΠ°Π±Π»ΠΎΠ½ HTTP Π°Π³Π΅Π½ΡΠ°. ΠΠ³Π΅Π½Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Ρ ΡΠ°ΠΉΡΠ° Mikrotik, Π° ΡΡΠΈΠ³Π³Π΅Ρ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ°ΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π²ΡΠ΄Π°Π΅Ρ Π°Π»Π΅ΡΡ.
ΠΠΎΠ³Π΄Π° Ρ Π²Π°Ρ 10 ΡΠΎΡΡΠ΅ΡΠΎΠ², ΡΠ°ΠΊΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π½Π΅ ΠΊΡΠΈΡΠΈΡΠ΅Π½, Π° ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Ρ 3000 ΡΠΎΡΡΠ΅ΡΠΎΠ²? Π‘Π»Π°ΡΡ 3000 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΡΠ΅ΡΠ²Π΅Ρ? Π Π°Π±ΠΎΡΠ°ΡΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠ°ΠΊΠ°Ρ ΡΡ Π΅ΠΌΠ° Π±ΡΠ΄Π΅Ρ, Π½ΠΎ ΡΠ°ΠΌΠ° ΠΈΠ΄Π΅Ρ 3000 Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΌΠ΅Π½Ρ Π½Π΅ ΡΡΡΡΠ°ΠΈΠ²Π°Π»Π°, Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π½Π°ΠΉΡΠΈ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. Π ΡΠΎΠΌΡ ΠΆΠ΅, Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ Π²ΡΠ΅-ΡΠ°ΠΊΠΈ Π±ΡΠ»: Π΄ΡΡΠ³Π°Ρ ΡΡΠΎΡΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ IP Π·Π° DoS Π°ΡΠ°ΠΊΡ, ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΡΡΠΎ Π·Π°Π±Π°Π½ΠΈΡΡ.
ΠΠ°Π΄Π°ΡΠ° 2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π² ΡΠ°Π·Π½ΡΡ HTTP Π°Π³Π΅Π½ΡΠ°Ρ .
ΠΠΎΠ³Π΄Π° ΡΠ΅ΡΠ΅Π· HTTP Π°Π³Π΅Π½Ρ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ Β«Π·Π°ΠΊΡΡΡΡΡ Β» ΡΡΡΠ°Π½ΠΈΡ, Π½ΡΠΆΠ½Π° ΠΊΡΠΊΠ° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΡΠΎΡΠΌΠ° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Ρ ΠΏΠ°ΡΠΎΠΉ Β«Π»ΠΎΠ³ΠΈΠ½/ΠΏΠ°ΡΠΎΠ»ΡΒ» ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ID ΡΠ΅ΡΡΠΈΠΈ Π² ΠΊΡΠΊΡ.
ΠΠΎ Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π½Π΅Π»ΡΠ·Ρ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°ΠΉΡΠ΅ΠΌΠ° HTTP Π°Π³Π΅Π½ΡΠ° ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ Π΄Π°Π½Π½ΡΠΌ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π°ΠΉΡΠ΅ΠΌΠ° Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Header.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΅ΡΠ΅ Β«ΠΠ΅Π± ΡΡΠ΅Π½Π°ΡΠΈΠΉΒ», Ρ Π½Π΅Π³ΠΎ Π΄ΡΡΠ³ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅, ΠΎΠ½ Π½Π΅ Π΄Π°Π΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ. ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π³Π°ΠΌΠΈ Π²Π΅Π± ΡΡΠ΅Π½Π°ΡΠΈΡ.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠ°Π·ΠΌΡΡΠ»ΠΈΠ² Π½Π°Π΄ ΡΡΠΈΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ, ΡΠ΅ΡΠΈΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΠΊΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ Π²ΠΈΠ΄Π½Ρ Π² Π»ΡΠ±ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°: Π² ΡΠ°Π±Π»ΠΎΠ½Π°Ρ
, Ρ
ΠΎΡΡΠ°Ρ
, ΡΡΠΈΠ³Π³Π΅ΡΠ°Ρ
ΠΈΠ»ΠΈ Π°ΠΉΡΠ΅ΠΌΠ°Ρ
. Π ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΌΠ°ΠΊΡΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π· API Π²Π΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
Π£ Zabbix Π΅ΡΡΡ Ρ
ΠΎΡΠΎΡΠ°Ρ ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ API. ΠΠ»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎ api ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΡΠΌΠ°Ρ Π΄Π°Π½Π½ΡΡ
Json. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π²
ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΡΡ Π½Π°ΠΌ Π΄Π°Π½Π½ΡΡ ΠΈ Π·Π°ΠΏΠΈΡΡ ΠΈΡ Π² ΠΌΠ°ΠΊΡΠΎΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π½Π° ΡΡ Π΅ΠΌΠ΅ Π½ΠΈΠΆΠ΅.
Π¨Π°Π³ 1
Π‘Π°ΠΌΡΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π³ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. Π ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠ°Π³ΠΈ Π·Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π²ΡΡ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ°, Π° Π³Π»Π°Π²Π½ΡΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 3 ΡΠ°Π³Π°.
Π ΠΌΠΎΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ°Π³Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΡΠΊΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΠ’Π‘ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΠ»Ρ Π²ΡΠΎΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Ρ ΠΏΠΎΠ»ΡΡΠ°Π» Π½ΠΎΠΌΠ΅Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Mikrotik.
URL Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ Mikrotik
upgrade.mikrotik.com/routeros/LATEST.6 β URL Π°Π΄ΡΠ΅Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ Stable Π²Π΅ΡΡΠΈΠΈupgrade.mikrotik.com/routeros/LATEST.6fix β URL Π°Π΄ΡΠ΅Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ LTS Π²Π΅ΡΡΠΈΠΈ
Π Π΄Π°Π½Π½ΡΠΌ Π°Π΄ΡΠ΅ΡΠ°ΠΌ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠ°ΠΌΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ Mikrotik, ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ.
ΠΠ΅ΡΠ²ΡΠΉ ΡΠ°Π³ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π΅Π½ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ ΠΈ Π»ΠΎΠ³ΠΈΠΊΠ° Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π½ΠΎΠΉ. ΠΡΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π°ΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ.
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π²Π΅Π± ΡΡΠ΅Π½Π°ΡΠΈΡΠΌΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΠΉΡΠ΅ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΠ° Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½. ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ HTTP ΠΎΡΠ²Π΅ΡΠ° ΠΈΠ»ΠΈ ΡΠ°ΠΌΠΎ ΡΠ΅Π»ΠΎ ΠΎΡΠ²Π΅ΡΠ° Π±Π΅Π· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ²?
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½Ρ ΠΊΡΠΊΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ, ΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΡΠ²Π΅ΡΠ° ΡΡΠ°Π²ΡΡΠ΅ ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΊΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Asterisk.ΠΡΠ»ΠΈ Π½ΡΠΆΠ½Ρ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΠΎΡΠ²Π΅ΡΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ° mikrotik, ΡΡΠ°Π²ΡΡΠ΅ Π’Π΅Π»ΠΎ ΠΎΡΠ²Π΅ΡΠ° Π±Π΅Π· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ².
Π¨Π°Π³ 2
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊΠΎ Π²ΡΠΎΡΠΎΠΌΡ ΡΠ°Π³Ρ. ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ:
POST http://company.com/zabbix/api_jsonrpc.php HTTP/1.1
Content-Type: application/json-rpc
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin"
"password": "zabbix"
},
"id": 1,
"auth": null
}
jsonrpc β Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° JSON-RPC, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ;
Zabbix ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ JSON-RPC Π²Π΅ΡΡΠΈΠΈ 2.0;
- method β ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ;
- params β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ;
- id β ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π°ΠΏΡΠΎΡΠ°;
- auth β ΠΊΠ»ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ; ΡΠ° ΠΊΠ°ΠΊ Ρ Π½Π°Ρ Π΅Π³ΠΎ Π΅ΡΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅ΡΡΡ, ΡΠΊΠ°ΠΆΠ΅ΠΌ Π΅Π³ΠΎ ΡΠ°Π²Π½ΡΠΌ null.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ API Ρ ΡΠΎΠ·Π΄Π°Π» ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ, Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΠΏΡΠ°Π²Π°ΠΌΠΈ. ΠΠΎ ΠΏΠ΅ΡΠ²ΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π°Π²Π°ΡΡ Π΄ΠΎΡΡΡΠΏ ΡΡΠ΄Π°, ΠΊΡΠ΄Π° Π½Π΅ Π½ΡΠΆΠ½ΠΎ. Π Π²ΠΎ Π²ΡΠΎΡΡΡ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 5.0, Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΠ΅ΡΠ΅Π· ΠΌΠ°ΠΊΡΠΎΡ ΠΏΠ°ΡΠΎΠ»Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠΎΠ»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Zabbix, ΡΡΠ΅ΡΠΊΡ Π°Π΄ΠΌΠΈΠ½Π° Π»Π΅Π³ΠΊΠΎ ΡΠΊΡΠ°ΡΡΡ.
ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π±ΡΠ΄Π΅Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ c API ΡΠ΅ΡΠ΅Π· ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΠΈ Ρ ΡΠ°Π½ΠΈΡΠ΅ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅.
Π‘ Π²Π΅ΡΡΠΈΠΈ 5.0 ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΎΠΏΡΠΈΡ ΡΠΊΡΡΡΡ ΠΏΠ°ΡΠΎΠ»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΠΉ Π² ΠΌΠ°ΠΊΡΠΎΡΠ΅.
ΠΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΡΠ΅ΡΠ΅Π· API, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅, Π΄ΠΎΡΡΡΠΏΠ½Ρ Π»ΠΈ ΡΠ΅ΡΠ΅Π· Π²Π΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½ΡΠΆΠ½ΡΠ΅ Π²Π°ΠΌ Π΄Π°Π½Π½ΡΠ΅, ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡ
ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅. Π― Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ», Π° ΠΏΠΎΡΠΎΠΌ Π΄ΠΎΠ»Π³ΠΎ Π½Π΅ ΠΌΠΎΠ³ ΠΏΠΎΠ½ΡΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΏΠΎ API Π½Π΅ Π²ΠΈΠ΄Π΅Π½ Π½ΡΠΆΠ½ΡΠΉ ΠΌΠ½Π΅ ΠΌΠ°ΠΊΡΠΎΡ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ Π² API ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΠΌΠ°ΠΊΡΠΎΡΠΎΠ².
Π¨Π°Π³ 3
API ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΌΠ°ΠΊΡΠΎΡ Ρ ΠΎΡΡΠ° ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΎΠ»ΡΡΠΈΡΡ ID ΠΌΠ°ΠΊΡΠΎΡΠ°. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Ρ ΠΎΡΡΠ°, Π½ΡΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ID ΡΡΠΎΠ³ΠΎ Ρ ΠΎΡΡΠ°, Π° ΡΡΠΎ Π»ΠΈΡΠ½ΠΈΠΉ Π·Π°ΠΏΡΠΎΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°ΡΠ½ΡΠΉ ΠΌΠ°ΠΊΡΠΎΡ {HOST.ID} Π² Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π΅Π»ΡΠ·Ρ. ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠΈΠ» ΠΎΠ±ΠΎΠΉΡΠΈ ΡΠ°ΠΊ:
Π― ΡΠΎΠ·Π΄Π°Π» Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ°ΠΊΡΠΎΡ Ρ ID ΡΡΠΎΠ³ΠΎ Ρ
ΠΎΡΡΠ°. Π£Π·Π½Π°ΡΡ ID Ρ
ΠΎΡΡΠ° ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΠΈΠ· Π²Π΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
ΠΡΠ²Π΅Ρ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ Π²ΡΠ΅Ρ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ ΠΎΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΠΏΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ:
regex:{"hostmacroid":"([0-9]+)"[A-z0-9,":]+"{$MIKROTIK_VERSION}"
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ID Π½ΡΠΆΠ½ΠΎΠ³ΠΎ Π½Π°ΠΌ ΠΌΠ°ΠΊΡΠΎΡΠ°, Π³Π΄Π΅ MIKROTIK_VERSION β ΠΈΠΌΡ ΠΌΠ°ΠΊΡΠΎΡΠ° ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΈΡΠ΅ΠΌ. Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠ΅ΡΡΡ ΠΌΠ°ΠΊΡΠΎΡ MIKROTIK_VERSION, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π½Π°Π·Π½Π°ΡΠ΅Π½ Π½Π° Ρ
ΠΎΡΡ.
Π‘Π°ΠΌ Π·Π°ΠΏΡΠΎΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
POST http://company.com/zabbix/api_jsonrpc.php HTTP/1.1
Content-Type: application/json-rpc
{
"jsonrpc":"2.0",
"method":"usermacro.get",
"params":{
"output":"extend",
"hostids":"{$HOST_ID}"
},
"auth":"{sid}",
"id":1
}
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ {sid} ΠΏΠΎΠ»ΡΡΠ΅Π½Π° Π½Π° Π²ΡΠΎΡΠΎΠΌ ΡΠ°Π³Π΅ ΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ, Π³Π΄Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ API ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ.
Π€ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ 4 Π¨ΠΠ β ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΠ°
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π·Π½Π°Π΅ΠΌ ID ΠΌΠ°ΠΊΡΠΎΡΠ° ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ, ΠΊΡΠΊΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ»ΠΈ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΡΠΎΡΡΠ΅ΡΠ°. ΠΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΡΠ°ΠΌ ΠΌΠ°ΠΊΡΠΎΡ.
POST http://company.com/zabbix/api_jsonrpc.php HTTP/1.1
Content-Type: application/json-rpc
{
"jsonrpc":"2.0",
"method":"usermacro.update",
"params":{
"hostmacroid":"{hostmacroid}",
"value":"{mikrotik_version}"
},
"auth":"{sid}",
"id":1
}
{mikrotik_version} β Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ°Π³Π΅. Π ΠΌΠΎΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ β Π²Π΅ΡΡΠΈΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ mikrotik
{hostmacroid} β Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π² ΡΡΠ΅ΡΡΠ΅ΠΌ ΡΠ°Π³Π΅ β id ΠΌΠ°ΠΊΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ.
ΠΡΠ²ΠΎΠ΄Ρ
ΠΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΡΡΠ°ΡΠ½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ Π² ΡΠ°Π·Ρ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΈ Π΄ΠΎΠ»ΡΡΠ΅. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ Π·Π½Π°Π΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠΆΠ΅ΡΡ Π±ΡΡΡΡΠΎ Π½Π°ΠΊΠΈΠ΄Π°ΡΡ Π½ΡΠΆΠ½ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ Π² ΡΠΊΡΠΈΠΏΡΠ΅.
ΠΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ ΠΏΠ»ΡΡΠΎΠΌ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Β«ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡΒ» ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ.
ΠΠΈΡΠ½ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½Π½ΡΠΌ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ Π² HTTP Π°Π³Π΅Π½ΡΠ΅ ΠΊ Π΄Π°Π½Π½ΡΠΌ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π°ΠΉΡΠ΅ΠΌΠ° ΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈΡ
Π² ΡΠ΅Π»ΠΎ Π·Π°ΠΏΡΠΎΡΠ° ΠΈΠ»ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ [
ΠΠΎΡΠΎΠ²ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΠΌΠΎΠΆΠ½ΠΎ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com