AccAgentsAPI : Bereichsbezogen
Mit der Skripteinbindung AccAgentsAPI können Sie Verwaltungsaktionen für verfügbare Service Desk-Mitarbeiter ausführen.
Diese Skripteinbindung erfordert die Store-Anwendung Framework Agent Client Collector (sn_agent) und wird im Namespace sn_agent bereitgestellt. Weitere Informationen finden Sie unter Agent Client Collector.
Informationen zur REST-API-Lösung finden Sie unter Agent Client Collector API.
- Umfangreiche Informationen von einem oder mehreren Service Desk-Mitarbeitern abrufen.
- Senden einer Anforderung, um ein Agent-Protokoll abzurufen und Informationen über den Fortschritt der Anforderung abzurufen.
- Datenerfassung wird gestartet oder gestoppt.
- Ein Agent wird neu gestartet.
- Discovery wird auf einem Agent ausgeführt.
AccAgentsAPI: AccAgentsAPI()
Erstellt eine AccAgentsAPI-Instanz.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
Das folgende Beispiel zeigt, wie AccAgentsAPIinitialisiert wird.
var agentsApi = new sn_agent.AccAgentsAPI();
AccAgentsAPI – checkGrabLogRequestProgress(String requestId)
Überprüft den Status einer Erfassungsprotokollanforderung.
Führen Sie die Methode „submitGrabLogRequest()“ aus, um eine Anforderungs-ID zu erhalten.
| Name | Typ | Beschreibung |
|---|---|---|
| requestId | Zeichenfolge | Sys_id einer Anforderung in der Tabelle „Agent Client Collector-Anforderungen“ [sn_agent_request]. |
| Eigenschaften | Beschreibung |
|---|---|
| <Object> | JSON-Objekt, das den Status der Erfassungsprotokollanforderung enthält. |
| status | Zahl, die den Status der Anforderung zum Abrufen des Protokolls angibt. Mögliche Werte:
|
| Ausgabe | Informationen, die den Status beschreiben. |
Das folgende Beispiel zeigt, wie eine Anforderungs-ID verwendet wird, um den Status einer Erfassungsprotokollanforderung abzurufen.
var agentsApi = new sn_agent.AccAgentsAPI();
var logRequestStatus = agentsApi.checkGrabLogRequestProgress("<request_ID>");
gs.info(JSON.stringify(logRequestStatus, null, 2));
Ausgabe:
{
"status": 2,
"output": "Grab Log Request Timed Out"
}
AccAgentsAPI – getAgent(String agentID)
Ruft die Informationen eines angegebenen Agent ab.
- Führen Sie die Methode getAgentsList() aus.
- Überprüfen Sie die Spalte „Agent ID“ in der Tabelle „Agent Client Collectors“ [sn_agent_cmdb_ci_agent].
- Führen Sie die Agent Client Collector GET list REST API aus.
| Name | Typ | Beschreibung |
|---|---|---|
| agentID | Zeichenfolge | Eindeutige ID eines Agents, der in der Spalte „Agent ID“ der Tabelle „Agent Client Collectors“ [sn_agent_cmdb_ci_agent] aufgeführt ist. |
| Eigenschaften | Beschreibung |
|---|---|
| <Object> | Objekt mit erweiterten Informationen zum Service Desk-Mitarbeiter. |
| Fehler | Fehlermeldung. NULL, wenn kein Fehler vorliegt. Datentyp: Zeichenfolge |
| Service Desk-Mitarbeiter | |
| agent.agent_id | ID des Agent wie übermittelt. Datentyp: Zeichenfolge |
| agent.data_collection | Die Datenerfassung gibt an, ob geplante Prüfungen ausgeführt werden sollen. Diese Prüfungen sind Teil der Richtlinien, die für diesen Agent geplant sind. Mögliche Werte:
Datentyp: Zahl |
| agent.ip_address | IP-Adresse des Agents. Datentyp: Zeichenfolge |
| agent.is_duplicate | Kennzeichnung, die angibt, ob dieser Agent ein Duplikat eines anderen ist. Auf einem bestimmten Host darf nur ein einzelner Agent vorhanden sein. Mögliche Werte:
Datentyp: Boolesch |
| agent.is_restart_enabled | Kennzeichnung, die angibt, ob der Neustart aktiviert ist. Agent-Neustart ist nicht konfigurierbar. Sie hängt vom Betriebssystem und von der Version des Betriebssystems ab, auf dem der Agent ausgeführt wird. Mögliche Werte:
Datentyp: Boolesch |
| agent.name | Der Name des Außendienstmitarbeiters. Datentyp: Zeichenfolge |
| agent.number_of_running_checks | Die Anzahl der vom Agent geplanten Prüfungen. Diese Prüfungen sind Teil der Richtlinien, die für diesen Agent geplant sind. Datentyp: Zahl |
| agent.status | Status des Service Desk-Mitarbeiters. Mögliche Werte:
Datentyp: Zahl |
| agent.up_since | UTC-Zeit seit Änderung des Status des Service Desk-Mitarbeiters. Der Wert wird im GlideDateTime -Format angegeben. Datentyp: Zeichenfolge |
| agent.version | Version von Agent Client Collector, die der Agent ausführt. Datentyp: Zeichenfolge |
Das folgende Beispiel zeigt, wie der Status eines Service Desk-Mitarbeiters angezeigt wird.
var agentsApi = new sn_agent.AccAgentsAPI();
var agentInfo = agentsAPI.getAgent("<agent_ID>");
if (!gs.nil(agentInfo.error))
gs.error(agentInfo.error);
else
gs.info("agent status: " + agentInfo.agent.status);
Ausgabe:
agent status: 2
Das folgende Beispiel zeigt, wie Sie alle Agent-Details abrufen.
var agentsApi = new sn_agent.AccAgentsAPI();
var agentInfo = agentsAPI.getAgent("<agent_ID>");
gs.info(JSON.stringify(agentInfo, null, 2));
Ausgabe:
{
"error": null,
"agent": {
"name": "win2016-dc-64bit",
"status": 0,
"agent_id": "<agent_ID>",
"ip_address": "10.222.333.42",
"number_of_running_checks": 1,
"data_collection": 0,
"is_restart_enabled": true,
"is_duplicate": false,
"up_since": "2021-03-24 11:04:38",
"version": "2.4.0"
}
}
AccAgentsAPI – getAgentsList(String encodedQuery, Anzahlbegrenzung)
Ruft eine Liste von Service Desk-Mitarbeitern mit zugehörigen Informationen ab.
| Name | Typ | Beschreibung |
|---|---|---|
| encodedQuery | Zeichenfolge | Codierte Abfragezeichenfolge im Standard-Glide-Format. Siehe Codierte Abfragezeichenfolgen. |
| limit | Nummer | Optional. Beschränkt die Ergebnisse auf eine maximale Anzahl von Service Desk-Mitarbeitern. Verwenden Sie null oder undefiniert für beide, wenn sie nicht erforderlich sind. Standard/Max.: 20.000 |
| Eigenschaft | Beschreibung |
|---|---|
| <Array> | Array von JSON-Objekten mit erweiterten Agent-Informationen. |
| agent_id | ID des Agent wie übermittelt. Datentyp: Zeichenfolge |
| data_collection | Die Datenerfassung gibt an, ob geplante Prüfungen ausgeführt werden sollen. Diese Prüfungen sind Teil der Richtlinien, die für diesen Agent geplant sind. Mögliche Werte:
Datentyp: Zahl |
| ip_address | IP-Adresse des Agents. Datentyp: Zeichenfolge |
| is_duplicate | Kennzeichnung, die angibt, ob dieser Agent ein Duplikat eines anderen ist. Auf einem bestimmten Host darf nur ein einzelner Agent vorhanden sein. Mögliche Werte:
Datentyp: Boolesch |
| is_restart_enabled | Kennzeichnung, die angibt, ob der Neustart aktiviert ist. Agent-Neustart ist nicht konfigurierbar. Sie hängt vom Betriebssystem und von der Version des Betriebssystems ab, auf dem der Agent ausgeführt wird. Mögliche Werte:
Datentyp: Boolesch |
| name | Der Name des Außendienstmitarbeiters. Datentyp: Zeichenfolge |
| number_of_running_checks | Die Anzahl der vom Agent geplanten Prüfungen. Diese Prüfungen sind Teil der Richtlinien, die für diesen Agent geplant sind. Datentyp: Zahl |
| status | Status des Service Desk-Mitarbeiters. Mögliche Werte:
Datentyp: Zahl |
| up_since | UTC-Zeit seit Änderung des Status des Service Desk-Mitarbeiters. Der Wert wird im GlideDateTime -Format angegeben. Datentyp: Zeichenfolge |
| version | Version von Agent Client Collector, die der Agent ausführt. Datentyp: Zeichenfolge |
Das folgende Beispiel zeigt, wie Ergebnisse nach Abfrage und Nummer eingeschränkt werden. Die Abfrage gibt alle Service Desk-Mitarbeiter zurück, die sich nicht im Status „Ausgefallen“ befinden, mit maximal zwei Ergebnissen.
var agentsApi = new sn_agent.AccAgentsAPI();
var agentList = agentsApi.getAgentsList("agent_extended_info.status!=2", 2);
gs.info(JSON.stringify(agentList, null, 2));
Ausgabe:
[
{
"name": "007-175",
"status": 0,
"agent_id": "007-175",
"ip_address": "11.222.63.66",
"number_of_running_checks": 0,
"data_collection": 0,
"is_restart_enabled": false,
"is_duplicate": false,
"up_since": "2021-03-24 14:36:45",
"version": "2.4.0"
},
{
"name": "win2016-dc-64bit",
"status": 0,
"agent_id": "007-64",
"ip_address": "10.222.333.42",
"number_of_running_checks": 1,
"data_collection": 0,
"is_restart_enabled": true,
"is_duplicate": false,
"up_since": "2021-03-24 11:04:38",
"version": "2.4.0"
}
]
Das folgende Beispiel zeigt, wie alle Mitarbeiter im System aufgelistet werden. In diesem Beispiel wird keine Abfrage und keine maximale Anzahl von Ergebnissen verwendet.
var agentsApi = new sn_agent.AccAgentsAPI();
var agentList = agentsApi.getAgentsList(null, 0);
gs.info(JSON.stringify(agentList, null, 2));
Das folgende Beispiel zeigt, wie die bereitgestellten Ergebnisse iteriert werden, und zeigt jede Agent-ID an.
var agentsApi = new sn_agent.AccAgentsAPI();
var agentsList = agentsApi.getAgentsList(null, 0);
for (var i = 0; i < agentsList.length; i++)
gs.info("agent with id: " + agentsList[i].agent_id);
Ausgabe:
sn_agent: agent with id: 000a00e0aa1aa3a4
sn_agent: agent with id: 000a00e1aa1aa3a4
sn_agent: agent with id: 000a00e2aa1aa3a4
AccAgentsAPI – neustartAgent(Zeichenfolge agentID)
Startet einen angegebenen Agent mit dem Status „Aktiv“/„Aktiv“ neu.
- Linux-basierte Agents mit
systemd - Windows-Agents
- Führen Sie die Methode getAgentsList() aus.
- Überprüfen Sie die Spalte „Agent ID“ in der Tabelle „Agent Client Collectors“ [sn_agent_cmdb_ci_agent].
- Führen Sie die Agent Client Collector GET list REST API aus.
| Name | Typ | Beschreibung |
|---|---|---|
| agentID | Zeichenfolge | Eindeutige ID eines Agents, der in der Spalte „Agent ID“ der Tabelle „Agent Client Collectors“ [sn_agent_cmdb_ci_agent] aufgeführt ist. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Fehlermeldung, falls zutreffend, andernfalls NULL. |
Das folgende Beispiel zeigt, wie Sie einen Agent neu starten.
var agentsApi = new sn_agent.AccAgentsAPI();
var err = agentsApi.restartAgent("<agent_ID>");
if (!gs.nil(err))
gs.error(err);
AccAgentsAPI – runDiscovery(Zeichenfolge – agentID)
Führt eine Discovery-Prüfung durch, um CIs zu finden, die sich auf einen Agent beziehen. Der angegebene Agent muss sich im Status „Aktiv“/„Aktiv“ befinden.
- Führen Sie die Methode getAgentsList() aus.
- Überprüfen Sie die Spalte „Agent ID“ in der Tabelle „Agent Client Collectors“ [sn_agent_cmdb_ci_agent].
- Führen Sie die Agent Client Collector GET list REST API aus.
| Name | Typ | Beschreibung |
|---|---|---|
| agentID | Zeichenfolge | Eindeutige ID eines Agents, der in der Spalte „Agent ID“ der Tabelle „Agent Client Collectors“ [sn_agent_cmdb_ci_agent] aufgeführt ist. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Fehlermeldung, falls zutreffend, andernfalls NULL. Beispiel: Service Desk-Mitarbeiter mit ID:<agentID> Ist nicht in Betrieb: kein ausgelöster Fehler . |
Das folgende Beispiel zeigt, wie Discovery für einen Agent mit dem Status „Aktiv“/„Aktiv“ ausgeführt wird.
var agentsApi = new sn_agent.AccAgentsAPI();
var err = agentsApi.runDiscovery("<agent_ID>");
if (!gs.nil(err))
gs.error(err);
AccAgentsAPI – setDataCollectionStatus(String agentID, boolescher Status)
Legen Sie den angegebenen Datensammlungsstatus (wahr/falsch, falls aktiviert oder nicht) für einen bestimmten Agent fest.
- Führen Sie die Methode getAgentsList() aus.
- Überprüfen Sie die Spalte „Agent ID“ in der Tabelle „Agent Client Collectors“ [sn_agent_cmdb_ci_agent].
- Führen Sie die Agent Client Collector GET list REST API aus.
| Name | Typ | Beschreibung |
|---|---|---|
| agentID | Zeichenfolge | Eindeutige ID eines Agents, der in der Spalte „Agent ID“ der Tabelle „Agent Client Collectors“ [sn_agent_cmdb_ci_agent] aufgeführt ist. |
| status | Boolean | Kennzeichnung, die angibt, ob die Datenerfassung für den Agent aktiviert ist. Gültige Werte:
Standardwert: wahr |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Fehlermeldung, falls zutreffend, andernfalls NULL. Beispiel: Service Desk-Mitarbeiter mit ID:<agentID> Ist nicht in Betrieb: kein ausgelöster Fehler . |
Das folgende Beispiel zeigt, wie die Agent-Datenerfassung aktiviert wird.
var agentsApi = new sn_agent.AccAgentsAPI();
var err = agentsApi.setDataCollectionStatus("<agentID>", true);
if (!gs.nil(err))
gs.error(err);
Das folgende Beispiel zeigt, wie die Agent-Datenerfassung deaktiviert wird.
var agentsApi = new sn_agent.AccAgentsAPI();
var err = agentsApi.setDataCollectionStatus("<agentID>", false);
if (!gs.nil(err))
gs.error(err);
AccAgentsAPI –submitGrabLogRequest(String agentId)
Fordert das Protokoll eines angegebenen Agent mit dem Status „Aktiv“/„Aktiv“ an.
| Name | Typ | Beschreibung |
|---|---|---|
| agentID | Zeichenfolge | Eindeutige ID eines Agents, der in der Spalte „Agent ID“ der Tabelle „Agent Client Collectors“ [sn_agent_cmdb_ci_agent] aufgeführt ist. |
| Eigenschaften | Beschreibung |
|---|---|
| <Object> | JSON-Objekt, das die Anforderungs-ID und etwaige Fehlerinformationen enthält. |
| Fehler | Fehlermeldung. NULL, wenn kein Fehler vorliegt. Datentyp: Zeichenfolge |
| request_id | Sys_id einer Anforderung in der Tabelle „Agent Client Collector-Anforderungen“ [sn_agent_request]. Sie können diese ID verwenden, um den Status der Anforderung mit GET /agents/{request_id}/abzurufen. Datentyp: Zeichenfolge |
Das folgende Beispiel zeigt, wie Sie eine Protokollanforderungs-ID abrufen.
var agentsApi = new sn_agent.AccAgentsAPI();
var submittedRequest = agentsApi.submitGrabLogRequest("<agentID>");
if (!gs.nil(submittedRequest.error))
gs.error(submittedRequest.error);
else
gs.info("Request ID: " + submittedRequest.request_id);
Ausgabe:
Request ID: <sys_id>