Files
Octopus/grafana/dashboards/requests/salida.txt
2026-04-09 13:05:27 +02:00

1 line
2.9 KiB
Plaintext

"let hostname = context.panel.elements.find(e => e.id === \"hostname\")?.value; let group = context.panel.elements.find(e => e.id === \"group\")?.value; let interface = context.panel.elements.find(e => e.id === \"interface\")?.value; let ipa = context.panel.elements.find(e => e.id === \"ip\")?.value; let dns_name = context.panel.elements.find(e => e.id === \"dns\")?.value; let template = context.panel.elements.find(e => e.id === \"template\")?.value; if (dns_name == \"undefined\") { dns_name = \"\"; } if (ipa == \"undefined\") { ipa = \"\"; } async function ejecutarPeticion() { async function getToken() { let token = null; let res = await fetch(\"http://localhost:8080/api_jsonrpc.php\", { method: \"POST\", headers: { \"Content-Type\": \"application/json\" }, body: JSON.stringify({ jsonrpc: \"2.0\", method: \"user.login\", params: { username: \"Admin\", password: \"zabbix\" }, id: 1 }) }); const data = await res.json(); token = data.result; return token; } let token = await getToken(); if (interface == \"ZBX\") { return fetch(\"http://localhost:8080/api_jsonrpc.php\", { method: \"POST\", headers: { \"Content-Type\": \"application/json-rpc\", \"Authorization\": \"Bearer \" + token }, body: JSON.stringify({ jsonrpc: \"2.0\", method: \"host.create\", params: { host: hostname, interfaces: [ { type: 1, main: 1, useip: 1, ip: ipa, dns: dns_name, port: \"10050\" } ], groups: group.map(g => ({ groupid: parseInt(g) })), templates: template.map(g => ({ templateid: parseInt(g) })), }, id: 1 }) }); } else if (interface == \"snmp_v3\") { let snmp_sec = context.panel.elements.find(e => e.id === \"snmp_sec\")?.value; let snmp_context = context.panel.elements.find(e => e.id === \"snmp_context\")?.value; return fetch(\"http://localhost:8080/api_jsonrpc.php\", { method: \"POST\", headers: { \"Content-Type\": \"application/json-rpc\", \"Authorization\": \"Bearer \" + token }, body: JSON.stringify({ jsonrpc: \"2.0\", method: \"host.create\", params: { host: hostname, interfaces: [ { type: 2, main: 1, useip: 1, ip: ipa, dns: dns_name, port: \"161\", details: { version: 3, bulk: 0, securityname: snmp_sec, contextname: \"\" + snmp_context, securitylevel: 1 } } ], groups: group.map(g => ({ groupid: parseInt(g) })), templates: template.map(g => ({ templateid: parseInt(g) })), }, id: 1 }) }); } else if (interface == \"snmp_v2\") { let snmp_com = context.panel.elements.find(e => e.id === \"snmp_com\")?.value; return fetch(\"http://localhost:8080/api_jsonrpc.php\", { method: \"POST\", headers: { \"Content-Type\": \"application/json-rpc\", \"Authorization\": \"Bearer \" + token }, body: JSON.stringify({ jsonrpc: \"2.0\", method: \"host.create\", params: { host: hostname, interfaces: [ { type: 2, main: 1, useip: 1, ip: ipa, dns: dns_name, port: \"161\", details: { version: 2, bulk: 0, community: snmp_com } } ], groups: group.map(g => ({ groupid: parseInt(g) })), templates: template.map(g => ({ templateid: parseInt(g) })), }, id: 1 }) }); } } return ejecutarPeticion();"