ááąáŹááşáááşáá áşáŚá¸áĄáá˝ááş áĄááźáąáá áşááŻááźáŻááŻááşááąáŹáĄááŤá ááŻáśáážááş Zabbix ááŻááşááąáŹááşáááŻááşá á˝ááşá¸ááźááˇáş áážáá á˝áŹááźáąáážááşá¸áááŻááąáŹ áĄááŻááş á áᯠááąáŤáşááŹááŤáááşá
Task ááᯠ1 á Mikrotik router ááťáŹá¸ááąáŤáşáá˝ááş áááşáážá firmware ááŹá¸áážááşá¸ááᯠááźáąááŹááśááźááşá¸á
HTTP template áá˝ááş áĄáąá¸ááťááˇáşáá áşááŻááᯠááąáŤááşá¸áááˇáşááźááşá¸ááźááˇáş áĄááŻááşáĄáŹá¸ áá˝ááşáá°á á˝áŹ ááźáąáážááşá¸áááŻááşáááşá áĄáąá¸ááťááˇáşáááş Mikrotik áááşáááŻááşááž áááşáážáááŹá¸áážááşá¸ááᯠáááşááśááážáááźáŽá¸ áĄá ááťááŻá¸áážáŻáááş áááşáážáááŹá¸áážááşá¸áážááˇáş áááşáážáááŹá¸áážááşá¸ááᯠáážááŻááşá¸áážááşáᏠáá˝á˛áá˝á˛áážáŻáážáááŤá áááááąá¸ááťááşáá áşáᯠááŻááşááźááşáááşá
áááˇáşáá˝ááş Router 10 ááŻáážáááąáŹáĄááŤá áááŻáááŻáˇááąáŹ algorithm áááş áá ááŻá¸ááááşáááąáŹáşáááşá¸ router 3000 áážááˇáş ááŹááŻááşááááşáááşá¸á ááąáŹááşá¸áááŻááťááş 3000 ááᯠááŹááŹáááŻáˇ áááŻáˇáááŹá¸á ááŻááşááŤáááşá ááŽáááŻáĄá áŽáĄá áĽáşáá áşááŻá áĄááŻááşááźá áşááąáá˛áˇ ááąáŹááşá¸áááŻááťááş áááá áá˛áˇ á áááşáá°á¸á ááťá˝ááşááá˛áˇ ááááŻááşááŽáá˛áˇáĄáá˝ááş áááźáŹá¸áĄááźáąááᯠáážáŹááťááşáá˛áˇáááşá áááŻáˇáĄááźááşá áááŻáá˛áˇáááŻáˇááąáŹ áĄááşááááŻááŽáááşáá˝ááş áĄáŹá¸áááşá¸ááťááşáážáááŤááąá¸áááş- DoS áááŻááşáááŻááşáážáŻáĄáá˝ááş IP áá áşááŻááž ááąáŹááşá¸áááŻááťááşáĄááťáŹá¸áĄááźáŹá¸ááᯠáĄááźáŹá¸áá áşáááşááž ááąáá˝ááşáááŻááşááźáŽá¸ áááşá¸áááŻáˇáááş áááşá¸ááᯠáááŻá¸áážááşá¸á á˝áŹ ááŹá¸ááźá áşáááŻááşáááşá
Task ááᯠ2 á ááá°ááŽááąáŹ HTTP áĄáąá¸ááťááˇáşááťáŹá¸áá˝ááş áá˝ááˇáşááźáŻááťááşáááşáážááşááťáááşááᯠáĄááŻáśá¸ááźáŻááźááşá¸á
HTTP áážáá áşáááˇáş "ááááşááŹá¸ááąáŹ" á áŹááťááşáážáŹááťáŹá¸ááž áĄááťááşáĄáááşááťáŹá¸ááᯠáĄáąá¸ááťááˇáşáá áşáŚá¸ááž áááşááśááá°áááş áááŻáĄááşáááˇáşáĄááŤá áá˝ááˇáşááźáŻááťááşáá˝ááşááŽá¸áá áşáᯠáááŻáĄááşááŤáááşá áááşá¸áááŻááŻááşááąáŹááşáááşá ááŻáśáážááşáĄáŹá¸ááźááˇáş "áĄááąáŹááˇáşáááş/á ááŹá¸áážááş" áá˝á˛áážááˇáş cookie áĄáá˝ááşá¸áážá á ááşáážááş ID ááᯠáááşáážááşááźááşá¸áážááˇáşáĄáá° ááŻáśáážááşáá˝ááˇáşááźáŻááťááşááŻáśá áśáá áşááŻáážááááşá
áááŻáˇááąáŹáş ááźáżááŹáá áşááŻáážáááąáááşá á¤áááşáááŻá¸ááᯠHeader áá˝ááşáĄá áŹá¸áááŻá¸áááşáĄáá˝ááş HTTP áĄáąá¸ááťááˇáşáá áşááŻááž áĄááźáŹá¸áĄááŹáá áşááŻáááąááŹááᯠáááşááąáŹááşááźááˇáşáážáŻáááş áááźá áşáááŻááşááŤá
"áááş ááŹááşáá˝ážááşá¸" áá˝ááşáááşá¸ áĄááźáŹá¸áááˇáşáááşááťááşááťáŹá¸áážáááŤáááşá áááşá¸áááş áááˇáşáĄáŹá¸ áá˝á˛ááźááşá¸á áááşááźáŹáááşáážááˇáş ááąáŹááşáááşááááşá¸áááşá¸áááşáĄáá˝ááş áĄááźáąáŹááşá¸áĄááŹááᯠááá°áá˝ááˇáşáááźáŻááŤá á áŹááťááşáážáŹááťáŹá¸ááąáŤáşáá˝ááş áááŻáĄááşááąáŹ ááááşá¸áážááşááťáŹá¸ áážáááąááźááşá¸áĄáá˝ááşáᏠá á áşááąá¸áááŻááşáááş áááŻáˇáááŻááş áááşá ááá áş áĄáááˇáşááťáŹá¸ááźáŹá¸áá˝ááş ááááşá ááážáááŹá¸ááąáŹ ááááşá¸áážááşááťáŹá¸ááᯠááťáąáŹáşááźááşáááŻááşáááşá
á¤ááŻááşáááşá¸ááąáŹááşááŹááťáŹá¸áĄááźáąáŹááşá¸ áĄáááşá¸áááşá
ááşá¸á
áŹá¸ááźáŽá¸ááąáŹááşá á
áąáŹááˇáşááźááˇáşá
áá
áşá áááşáááˇáşáĄá
áááşáĄáááŻááşá¸áá˝ááşáááᯠá
áŻáśáááşá
á˝áŹááźááşáááŻááşááąáŹ áááşááááŻááᯠáĄááŻáśá¸ááźáŻáááş ááŻáśá¸ááźááşáá˛áˇáááş- ááá°ááŹááťáŹá¸á áááşááŹáááŹááťáŹá¸á áĄá
ááťááŻá¸áážáŻááťáŹá¸ áááŻáˇáááŻááş áĄááŹááťáŹá¸á áááşáĄááşááŹááąáˇá
áş API áážááááˇáş áááşááááŻááťáŹá¸ááᯠáĄááşááááşááŻááşáááŻááşáááşá
Zabbix áá˝ááş ááąáŹááşá¸áá˝ááşááźáŽá¸ áĄááąá¸á
áááşááąáŹ API á
áŹáá˝ááşá
áŹáááşá¸ááťáŹá¸áážááááşá api áážáá
áşáááˇáş ááąááŹááážááşáááşáĄáá˝ááş Json ááąááŹááąáŹáşáááşááᯠáĄááŻáśá¸ááźáŻáááşá áĄááąá¸á
áááşááᯠáá˝ááş ááźááˇáşáážáŻáááŻááşááŤáááşá
ááťá˝ááşáŻááşáááŻáˇáááŻáĄááşááąáŹááąááŹáááŻááá°ááźáŽá¸ áááşá¸áááŻáˇááᯠáááşááááŻáá˝ááş áážááşáááşá¸áááşááźááşá¸áĄáá˝ááş ááŻááşááąáŹááşááťááşááťáŹá¸ áĄáááˇáşáááˇáşááᯠáĄáąáŹááşááąáŹáşááźááŤááŻáśáá˝ááş ááźááŹá¸áááşá
ááźáąáážááşá¸ 1
ááááĄáááˇáşáá˝ááş ááŻááşááąáŹááşááťááşáá áşááŻáááşá¸ áááŻáˇáááŻááş ááŻááşááąáŹááşááťááşááťáŹá¸á á˝áŹ ááŤáááşáááŻááşáááşá áááşáááŻáášááááąááĄáŹá¸ááŻáśá¸ááᯠááááĄáááˇáşáá˝ááş áááˇáşáá˝ááşá¸ááŹá¸ááźáŽá¸ ááąáŹááşááŻáśá¸áĄáááˇáş 3 áááˇáşáááş áĄáááááźá áşáááşá
ááťá˝ááşáŻááşáááá°ááŹáá˝ááşá ááááĄáááˇáşáážáŹ áááááŻáśá¸ááŻááşááąáŹááşá ááŹáĄáá˝ááş PBX áá˝ááş áá˝ááˇáşááźáŻááťááşáá˝ááşááŽá¸ááťáŹá¸ááᯠááá°áááşááźá áşáááşá ááŻáááááŹáááşáĄáá˝ááşá Mikrotik firmware á áááşáážáááŹá¸áážááşá¸ááśááŤááşááᯠááťá˝ááşáŻááşááážáááŤáááşá
Mikrotik firmware á áááşáážáááŹá¸áážááşá¸ááťáŹá¸á URL
upgrade.mikrotik.com/routeros/LATEST.á - áááşáážá Stable ááŹá¸áážááşá¸á URL ááááşá áŹupgrade.mikrotik.com/routeros/LATEST.6fix â áááşáážá LTS ááŹá¸áážááşá¸á URL ááááşá áŹ
ááąáŹááşááŻáśá¸ááááŻááşááąáŹ áááŻááşá¸áá˛ááŹá¸áážááşá¸ááᯠáááşááśááážáááąáŹáĄááŤáá˝ááş áĄáááŻááŤááááşá áŹááťáŹá¸ááᯠMikrotik á ááşáá ášá ááşá¸áááŻááşáááŻááşá áááşááąáŹááşááźááˇáşáážáŻáááşá
ááááĄáááˇáşáááş ááá ášá áá áşááŻá áŽáĄáá˝ááş ááŻáśá¸ááá áşáŚá¸ááťááşá¸ááźá áşááźáŽá¸ áááşá¸ááĄááŻááşáááŻáášáááážáŹ áá˝á˛ááźáŹá¸áááŻááşáááşá ááŤáá˝áąáĄáŹá¸ááŻáśá¸á áááşá¸áá˛áˇááŹáááşááąáŤáşáážáŹ áá°áááşáááşá
áááş scripting ááźááˇáşáĄááŻááşááŻááşááąáŹáĄááŤá áááşáááŻáĄááşááąáŹááŻáśáˇááźááşáážáŻáááşá¸áááşá¸áááŻááźáąááŹááśááŤá áá˝á˛áˇááśááááşááťáŹá¸ 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 - áááşá¸áááşá¸áĄáŹá¸ááźááˇáşááźááşáááşá¸ááąáŹ parameters ááťáŹá¸;
- id áááş ááááŹá¸ááąáŹááşá¸áááŻáážáŻ identifier áá áşááŻááźá áşáááşá
- auth - áĄááŻáśá¸ááźáŻáá° á á áşáážááşááźáąáŹááşá¸áĄááąáŹááşáĄááŹá¸ááźááąáŹáˇá ááťá˝ááşááąáŹáşáááŻáˇáážáŹ ááážáááąá¸áá˛áˇáĄáá˝ááş null áááŻáˇ áááşáážááşáááŻááşááźááĄáąáŹááşá
API áážááˇáşáĄááŻááşááŻááşáááşá ááťá˝ááşáŻááşáááş áĄáááˇáşáĄáááşáážáááąáŹ áĄáá˝ááˇáşáĄááąá¸ááťáŹá¸ááźááˇáş ááŽá¸ááźáŹá¸áĄááąáŹááˇáşáá áşááŻááᯠáááşááŽá¸áá˛áˇáááşá ááááŚá¸á á˝áŹá áááşááááŻáĄááşááąáŹááąááŹááťáŹá¸áááŻáˇáááşááąáŹááşáá˝ááˇáşááąá¸áááşááááŻáĄááşááŤá ááŻááááĄááąáážááˇáşá ááŹá¸áážááşá¸ 5.0 ááááŻááşááŽá macro áážááááˇáşáááşáážááşááŹá¸ááąáŹá ááŹá¸áážááşáááŻáááşáááŻááşáááşá áááŻáˇááźáąáŹááˇáş áááşáááş Zabbix á áŽááśáááˇáşáá˝á˛áá° á ááŹá¸áážááşááᯠáĄááŻáśá¸ááźáŻááŤáá á áŽááśáááˇáşáá˝á˛áá°áĄááąáŹááˇáşááᯠáááŻá¸áá°áááş áá˝ááşáá°áááşá
ááźááşáááŻáášááᎠscripts ááťáŹá¸áážááááˇáş API áážááˇáşáĄááŻááşááŻááşááźáŽá¸ááąá¸áá˝ááşáĄááąáŹááşáĄááŹá¸ááťáŹá¸áááŻááááşá¸áááşá¸ááąáŹáĄááŤáááşá¸áááşáĄáá°á¸áááźááˇáşáážááşááááˇáşáááşá
ááŹá¸áážááşá¸ 5.0 ááźá áşááąáŹááźáąáŹááˇáş áááşááááŻáá˝ááşááááşá¸áááşá¸ááŹá¸ááąáŹ á ááŹá¸áážááşááᯠááťáąáŹááşáááş áá˝áąá¸ááťááşáá˝ááˇáşáážáááŤáááşá
API áážáá
áşáááˇáş ááąááŹáá˝ááşá¸ááśááźááşá¸áĄáá˝ááş ááŽá¸ááźáŹá¸áĄááąáŹááˇáşáá
áşááŻááᯠáááşááŽá¸áááˇáşáĄááŤá áááşáááŻáĄááşááąáŹááąááŹááᯠáááşáĄááşááŹááąáˇá
áşáážáá
áşáááˇáş ááážááááŻááşáááşáážáááážááážááˇáş áááşá¸ááᯠáĄááşááááşááŻááşáááş ááźá
áşáááŻááşááťáąáážáááážá á
á
áşááąá¸ááŤá ááťá˝ááşááąáŹáş áá
á
áşááąá¸áá˛áˇáᲠAPI áá˝ááş ááťá˝ááşáŻááşáááŻáĄááşááąáŹ macro ááᯠáĄáááşááźáąáŹááˇáş áááźááşáááŻááşáááşááᯠáĄááťáááşáĄááąáŹáşááźáŹ ááŹá¸ááááşáááŻááşáá˛áˇááŤá
API áá˝ááş áá˝ááˇáşááźáŻááťááşááážáááźáŽá¸ááąáŹááşá áááşááááŻá
áŹáááşá¸áá
áşááŻááá°áááş áááşáááşááŻááşááąáŹááşááŤáááşá
ááźáąáážááşá¸ 3
API áááş áááˇáşáĄáŹá¸ áĄáááşááźááˇáş host macro áá áşááŻááᯠáĄááşááááşááŻááşáááş áá˝ááˇáşáááźáŻááŤá áááşáááş áááááŻáśá¸ macro ID ááᯠááá°áááŤáááşá áááŻáˇáĄááźááşá ááŽá¸ááźáŹá¸ host áá áşááŻáĄáá˝ááş macro á áŹáááşá¸áá áşááŻááááşá áááşááẠᤠhost á ID ááᯠáááááşáááŻáĄááşááźáŽá¸ áááşá¸áááş áĄáááŻááąáŹááşá¸áááŻááťááşáá áşááŻááźá áşáááşá áá°áááşá¸ áááşááááŻááᯠááŻáśá¸ááŤá {HOST ID} ááąáŹááşá¸áááŻáážáŻá áá˝ááˇáşáááźáŻááŤá á¤áá˛áˇáááŻáˇááąáŹáááˇáşáááşááťááşáááŻááťáąáŹáşááźááşáááşááŻáśá¸ááźááşáá˛áˇáááş
ááťá˝ááşáŻááşáááş á¤áĄáááşáážááşá ID ááźááˇáş ááąááá˝ááşá¸ áááşááááŻáá
áşááŻááᯠáááşááŽá¸áá˛áˇáááşá áááşááśáá° ID áááŻáážáŹáá˝áąááźááşá¸áááş áááşáĄááşááŹááąáˇá
áşááž áĄáá˝ááşáá˝ááşáá°áááşá
ááąá¸ááŹá¸áááˇáş host áá áşááŻáážá áááşááááŻáĄáŹá¸ááŻáśá¸áá áŹáááşá¸áá áşááŻááŤáážáááąáŹ ááŻáśáˇááźááşáážáŻááᯠááŻáśá áśáá áşááŻááźááˇáş á á áşááŻááşáááŻááşáááş-
regex:{"hostmacroid":"([0-9]+)"[A-z0-9,":]+"{$MIKROTIK_VERSION}"
áááŻáˇááźáąáŹááˇáşá ááťá˝ááşáŻááşáááŻáˇáááŻáĄááşááąáŹ macro á ID áááŻááážááááşá MIKROTIK_VERSION ááťá˝ááşáŻááşáááŻáˇáážáŹáá˝áąááąááąáŹ macro ááĄáááşááźá
áşáááşá ááŤáˇááá
ášá
áá˝ááşá áááşááááŻáááŻáážáŹáá˝áąáááşá 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
}
Variable {ááááş} ááŻááááĄáááˇáşáá˝ááşááážáááąáŹ API interface áážááˇáşáĄááŻááşááŻááşáááşáááŻáĄááşáááˇáşááąááŹáá˝ááşáĄáááşáááźááşáĄááŻáśá¸ááźáŻááááˇáşáááşá
ááąáŹááşááŻáśá¸ 4 áĄáááˇáş - áááşááááŻááᯠáĄááşááááşááŻááşááźááşá¸á
áááŻáĄááŤáá˝ááş áĄááşááááşááŻááşáááş áááŻáĄááşáááˇáş áááşáááᯠIDá áá˝ááˇáşááźáŻááťááş áá˝ááşááŽá¸ áááŻáˇáááŻááş router á áááŻááşá¸áá˛ááŹá¸áážááşá¸ááᯠááťá˝ááşáŻááşáááŻáˇ ááááŤáááşá áááşááááŻáááŻááşáááŻááş áĄááşááááşááŻááşáááŻááşááŤáááşá
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 firmware ááŹá¸áážááşá¸
{hostmacroid} - áááááĄáááˇáşáá˝ááş áááşáááŻá¸ááᯠááážááá˛áˇáááş - ááťá˝ááşáŻááşáááŻáˇ áĄááşááááşááŻááşááąááąáŹ áááşááááŻá áĄááŻááşááŽá
áá˝áąáˇáážáááťááşááťáŹá¸
á áśááŻááşááąáŹááşáááŻááşá á˝ááşá¸ááźááˇáş ááźáżááŹááᯠááźáąáážááşá¸áááş ááťááşá¸áááşááŻáśáážáŹ áááŻááážáŻááşáá˝áąá¸ááźáŽá¸ áááŻáážááşáááşá áĄáá°á¸áááźááˇáş áááşáááş ááááŻááááşá¸áááşá¸ááᯠááááźáŽá¸ script áá˝ááş áááŻáĄááşááąáŹ logic ááᯠááťááşááźááşá á˝áŹ áááˇáşáááŻááşááťážááşá
á¤ááťááşá¸áááşáážáŻá ááááŹáááşáážáŹá¸ááąáŹáĄáŹá¸ááŹááťááşáážáŹ ááá°ááŽááąáŹááŹááŹááťáŹá¸ááźáŹá¸áážá ááźáąáážááşá¸ááťááşá "áááşááąáŹááşááá˝ááşáá°ááźááşá¸" ááźá áşáááşá
ááťá˝ááşáŻááşáĄáá˝ááşáá°á HTTP áĄáąá¸ááťááˇáşáááş áĄááźáŹá¸áĄááŹáá
áşááŻáááąááŹááᯠáááşááąáŹááşááźáŽá¸ ááąáŹááşá¸áááŻááťááşáááŻááşáááş áááŻáˇáááŻááş ááąáŤááşá¸á
áŽá¸ááťáŹá¸áá˝ááş áĄá
áŹá¸áááŻá¸ááááááşáážáŹ áá°á¸áááşá¸áááşáážáŹ áá°á¸áááşá¸ááŤáááşá
ááźáŽá¸áá˝áŹá¸ááąáŹ ááŻáśá
áśáá˝ááşáááş ááŻááşáááŻááşáááşá
source: www.habr.com