Rīki un resursi
Pārskats
Zabbix MCP serveris nodrošina Zabbix funkcionalitāti MCP klientiem kā rīkus un resursus.
Rīku nosaukumi apraksta darbību. Ja ir iestatīts parametrs ToolPrefix, prefikss tiek pievienots katram rīka nosaukumam; rīku piekļuves noteikumi atbilst tālāk norādītajiem vienkāršajiem nosaukumiem.
Lasīšanas rīki
| Rīks | Zabbix API metode | Argumenti | Kārtots pēc | Resurss |
|---|---|---|---|---|
hostgroup_get |
hostgroup.get | groupids, names, search, limit |
name | zabbix://hostgroup/<id> |
templategroup_get |
templategroup.get | groupids, names, search, limit |
name | zabbix://templategroup/<id> |
host_get |
host.get | hostids, groupids, search, limit |
name | zabbix://host/<id> |
template_get |
template.get | templateids, groupids, search, limit |
name | zabbix://template/<id> |
item_get |
item.get | hostids, itemids, search, limit |
name | zabbix://item/<id> |
lld_get |
discoveryrule.get | hostids, ruleids, limit |
name | - |
interface_get |
hostinterface.get | hostids, interfaceids, limit |
interface ID | - |
macro_get |
usermacro.get | hostids vai global, macro_names, limit |
macro | - |
problem_get |
problem.get | eventids, groupids, hostids, severities, acknowledged, suppressed, recent, limit |
event ID, dilstoši | - |
maintenance_get |
maintenance.get | maintenanceids, groupids, hostids, limit |
name | - |
history_get |
history.get | itemids, time_from, time_till, type, limit |
clock, dilstoši | - |
trigger_get |
trigger.get | triggerids, hostids, search, limit |
description | zabbix://trigger/<id> |
Ņemiet vērā:
host_getuntemplate_getatgriež arī katra objekta trigerus (ierobežotu lauku kopu), tagus un saistītās veidnes. Vienumi, atklāšanas noteikumi, saskarnes un makro tiek atgriezti, izmantojot atbilstošos rīkus.history_getir nepieciešams laika diapazons, kas nav garāks par 7 dienām un sākas ne agrāk kā pirms 7 dienām. Argumentamtypejābūt vienam nofloat,unsigned,character,text,logvaijson, un tam jāatbilst vienumu vērtības tipam; ja tips ir nepareizs, tiek atgriezts tukšs rezultāts, ko nevar atšķirt no vienuma bez datiem. Bināro vienumu (vērtības tips 5) vēsturi nevar izgūt, izmantojot MCP serveri.- Lasīšanas rīki pieprasa fiksētu lauku sarakstu; visi lauki (
output: extend) nekad netiek pieprasīti. - To rīku rezultāti, kuriem ir resurss, satur lauku
uri, lai aģents varētu pāriet no saraksta uz atsevišķu entītiju.
Atbildes formāts
Visi lasīšanas rīki atgriež atbildi tādā pašā formātā:
{
"results": [ ... ],
"count": 2,
"truncated": true,
"truncated_by": "count",
"limit": 2,
"note": "The result count limit was reached ..."
}
Atbildi ierobežo arguments limit (noklusējuma vērtība: 100, maksimālā vērtība: 1000) un atbildes serializētais lielums (MaxResponseSize, noklusējuma vērtība: 64K).
Atbildes veidošana tiek pārtraukta, kad tiek sasniegts kāds no šiem ierobežojumiem.
Atbilde tiek saīsināta tikai starp rezultātiem, nekad rezultāta vidū, un saīsināta atbilde norāda, kurš ierobežojums tika sasniegts.
Katram rīkam ir noteikta kārtošanas secība, tāpēc saīsināta atbilde vienmēr ir pilnas rezultātu kopas sākums.
Lapu veidošana netiek atbalstīta; lai iegūtu citus rezultātus, sašauriniet vaicājumu.
Problēmu rīki
Visi problēmu rīki izsauc event.acknowledge ar atbilstošajiem darbības karodziņiem.
Arguments eventids ir obligāts; notikumu ID var izgūt, izmantojot problem_get.
Izmantojot jebkuru problēmu rīku, var pievienot ziņojumu (komentāru).
Arguments message nav obligāts, izņemot problem_annotate, kur tas ir obligāts; ja tas ir norādīts, ziņojums tiek reģistrēts tajā pašā Zabbix API izsaukumā.
| Rīks | Darbība | Papildu argumenti |
|---|---|---|
problem_acknowledge |
Apstiprināt problēmu. | - |
problem_unacknowledge |
Noņemt apstiprinājumu. | - |
problem_close |
Manuāli aizvērt problēmu (tikai trigeriem, kas atļauj manuālu aizvēršanu). | - |
problem_annotate |
Reģistrēt ziņojumu. | message (obligāts) |
problem_change_severity |
Mainīt problēmas nopietnības pakāpi. | severity (0-5) |
problem_suppress |
Apturēt problēmas paziņojumus līdz norādītajam laikam vai uz nenoteiktu laiku. | suppress_until |
problem_unsuppress |
Noņemt paziņojumu apturēšanu. | - |
Problēmas nevar izveidot vai dzēst; visi problēmu rīki atjaunina esošās problēmas.
Uzturēšanas rīki
| Rīks | Zabbix API metode | Argumenti |
|---|---|---|
maintenance_create |
maintenance.create | name, groupids un/vai hostids, active_since, active_till, timeperiods, description, tags, tags_evaltype |
maintenance_update |
maintenance.update | maintenanceid un jebkurš no iepriekš minētajiem argumentiem. Saraksta argumenti aizstāj visu vērtību kopu; tukšs saraksts šo kopu notīra. |
maintenance_delete |
maintenance.delete | maintenanceids |
Atjauninot uzturēšanas periodu, saraksta argumenti (piemēram, hostids, groupids un timeperiods) aizstāj esošās vērtības, nevis pievieno tām jaunas.
Piemēram, ja uzturēšanas periods attiecas uz hostiem A un B un maintenance_update tiek izsaukts ar hostids, kurā ir tikai hosts C, uzturēšanas periods attieksies tikai uz hostu C.
maintenance_create ir vienīgā darbība, kas nav idempotenta, bet maintenance_delete ir vienīgā darbība, kuru nevar atsaukt.
Lai novērstu šo darbību izmantošanu, aizliedziet šos rīkus ar parametru DenyTool.
Rakstīšanas rīku darbība
Problēmu un uzturēšanas rīki ir rakstīšanas rīki. Tie darbojas šādi:
- Argumenti tiek validēti pirms jebkura Zabbix API izsaukuma; ja validācija neizdodas, kļūdas ziņojumā tiek norādīts nosacījums, kas netika izpildīts.
- Ja klients to atbalsta, izmaiņa tiek lietota tikai pēc tam, kad lietotājs to ir apstiprinājis.
- Izmaiņu veic Zabbix, izmantojot izsaucēja tokenu. Zabbix pārbauda atļaujas un reģistrē izmaiņu audita žurnālā, piesaistot to tokena īpašniekam.
- Zabbix kļūdas, tostarp atļauju kļūdas, tiek atgrieztas nemainītas kā kļūdas objekts ar laukiem
code,messageundata. - Rakstīšanas rīki tieši atgriež Zabbix rezultātu; lasīšanas rīku atbildes ierobežojumi uz tiem neattiecas.
- MCP serveris nekad nemēģina atkārtoti izpildīt rakstīšanas izsaukumus.
Resursi
Resursi izmanto zabbix://<kind>/<id> URI shēmu.
Atbilde resources/list ietver tikai zabbix://about; entītiju ID nevar uzskaitīt, un tos iegūst no rīku rezultātiem.
Atbilde resources/templates/list uzskaita entītiju veidus.
| URI | Saturs |
|---|---|
zabbix://about |
API URL, lietotāja saskarnes URL, Zabbix versija, identitāte, kurai tiek atrisināts izsaucēja tokens, un eksponēto rīku saraksts. |
zabbix://host/<hostid> |
Hosts bez vienumiem, trigeriem, saskarnēm un makro. |
zabbix://hostgroup/<groupid> |
Hostu grupas ieraksts bez dalībnieku saraksta. |
zabbix://template/<templateid> |
Veidnes ieraksts bez vienumiem, trigeriem un atklāšanas noteikumiem. |
zabbix://templategroup/<groupid> |
Veidņu grupas ieraksts bez dalībnieku saraksta. |
zabbix://item/<itemid> |
Vienuma definīcija bez pašreizējās vērtības. |
zabbix://trigger/<triggerid> |
Trigeris definīcija bez hostiem, atkarībām, funkcijām un tagiem. |
Resurss, kuram atbilstošais rīks ir liegts, nepastāv.
Neeksistējoša entītija un entītija, kurai tokena īpašniekam nav piekļuves, abos gadījumos tiek norādīta kā resource not found; šie gadījumi tiek apzināti padarīti neatšķirami.
Piekļuves rīku noteikumi neietekmē zabbix://about resursu.