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_get un template_get atgriež 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_get ir nepieciešams laika diapazons, kas nav garāks par 7 dienām un sākas ne agrāk kā pirms 7 dienām. Argumentam type jābūt vienam no float, unsigned, character, text, log vai json, 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, message un data.
  • 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.