service.get

Descrizione

integer/array service.get(object parameters)

Questo metodo consente di recuperare i servizi in base ai parametri specificati.

Questo metodo è disponibile per utenti di qualsiasi tipo. I permessi per chiamare il metodo possono essere revocati nelle impostazioni del ruolo utente. Vedere User roles per ulteriori informazioni.

Parametri

(object) Parametri che definiscono l'output desiderato.

Il metodo supporta i seguenti parametri.

Parametro Type Descrizione
serviceids ID/array Restituisce solo i servizi con gli ID specificati.
parentids ID/array Restituisce solo i servizi collegati ai servizi padre specificati.
deep_parentids flag Restituisce tutti i servizi figli diretti e indiretti. Usato insieme a parentids.
childids ID/array Restituisce solo i servizi collegati ai servizi figli specificati.
evaltype integer Metodo di valutazione dei tag.

Valori possibili:
0 - (predefinito) And/Or;
2 - Or.
tags object/array Restituisce solo i servizi con i tag specificati.
Formato: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
Un array vuoto restituisce tutti i servizi.

Valori possibili di operator:
0 - (predefinito) Contains;
1 - Equals;
2 - Does not contain;
3 - Does not equal;
4 - Exists;
5 - Does not exist.
problem_tags object/array Restituisce solo i servizi con i tag problema specificati.
Formato: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
Un array vuoto restituisce tutti i servizi.

Valori possibili di operator:
0 - (predefinito) Contains;
1 - Equals;
2 - Does not contain;
3 - Does not equal;
4 - Exists;
5 - Does not exist.
without_problem_tags flag Restituisce solo i servizi senza tag problema.
slaids ID/array Restituisce solo i servizi collegati agli SLA specificati.
selectChildren query Restituisce una proprietà children con i servizi figli.

Supporta count.
selectParents query Restituisce una proprietà parents con i servizi padre.

Supporta count.
selectTags query Restituisce una proprietà tags con i tag del servizio.

Supporta count.
selectProblemEvents query Restituisce una proprietà problem_events con un array di oggetti evento problema.

L'oggetto evento problema ha le seguenti proprietà:
eventid - (ID) ID evento;
severity - (string) severità corrente dell'evento;
name - (string) nome dell'evento risolto.

Supporta count.
selectProblemTags query Restituisce una proprietà problem_tags con i tag problema.

Supporta count.
selectStatusRules query Restituisce una proprietà status_rules con le regole di stato.

Supporta count.
selectStatusTimeline object/array Restituisce una proprietà status_timeline contenente i cambiamenti di stato del servizio per i periodi specificati.

Formato [{"period_from": "<period_from>", "period_to": "<period_to>"}, ...] - dove period_from è una data di inizio (inclusiva; timestamp intero) e period_to è una data di fine (esclusiva; timestamp intero) per il periodo di interesse.

Restituisce un array di voci contenenti una proprietà start_value e un array alarms per i cambiamenti di stato all'interno dei periodi specificati.
sortfield string/array Ordina il risultato in base alle proprietà specificate.

Valori possibili: serviceid, name, status, sortorder, created_at.
countOutput boolean Questi parametri sono descritti nel commento di riferimento.
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Valori restituiti

(integer/array) Restituisce o:

  • una matrice di oggetti;
  • il conteggio degli oggetti recuperati, se il parametro countOutput è stato usato.

Esempi

Recupero di tutti i servizi

Recupera tutti i dati relativi a tutti i servizi e alle loro dipendenze.

Richiesta:

{
    "jsonrpc": "2.0",
    "method": "service.get",
    "params": {
        "output": "extend",
        "selectChildren": "extend",
        "selectParents": ["serviceid", "name"]
    },
    "id": 1
}

Risposta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "serviceid": "1",
            "name": "Zabbix cluster",
            "status": "-1",
            "algorithm": "2",
            "sortorder": "0",
            "weight": "0",
            "propagation_rule": "0",
            "propagation_value": "0",
            "description": "",
            "uuid": "8d77bd91b62347e4b79382912eb5df95",
            "created_at": "1761742392",
            "readonly": false,
            "parents": [],
            "children": [
                {
                    "serviceid": "2",
                    "name": "Zabbix server node 1",
                    "status": "-1",
                    "algorithm": "2",
                    "sortorder": "0",
                    "weight": "0",
                    "propagation_rule": "0",
                    "propagation_value": "0",
                    "description": "",
                    "uuid": "195911d26d7f4e218d6217079bcd5929",
                    "created_at": "1761742623",
                    "readonly": false
                },
                {
                    "serviceid": "3",
                    "name": "Zabbix server node 2",
                    "status": "-1",
                    "algorithm": "2",
                    "sortorder": "0",
                    "weight": "0",
                    "propagation_rule": "0",
                    "propagation_value": "0",
                    "description": "",
                    "uuid": "9fc659a30fe244f690dff25fc2a9db5c",
                    "created_at": "1761742654",
                    "readonly": false
                }
            ]
        },
        {
            "serviceid": "2",
            "name": "Zabbix server node 1",
            "status": "-1",
            "algorithm": "2",
            "sortorder": "0",
            "weight": "0",
            "propagation_rule": "0",
            "propagation_value": "0",
            "description": "",
            "uuid": "195911d26d7f4e218d6217079bcd5929",
            "created_at": "1761742623",
            "readonly": false,
            "parents": [
                {
                    "serviceid": "1",
                    "name": "Zabbix cluster"
                }
            ],
            "children": []
        },
        {
            "serviceid": "3",
            "name": "Zabbix server node 2",
            "status": "-1",
            "algorithm": "2",
            "sortorder": "0",
            "weight": "0",
            "propagation_rule": "0",
            "propagation_value": "0",
            "description": "",
            "uuid": "9fc659a30fe244f690dff25fc2a9db5c",
            "created_at": "1761742654",
            "readonly": false,
            "parents": [
                {
                    "serviceid": "1",
                    "name": "Zabbix cluster"
                }
            ],
            "children": []
        }
    ],
    "id": 1
}

Fonte

CService::get() in ui/include/classes/api/services/CService.php.