AccAgentsAPI – Scoped
Mit der Skripteinbindung AccAgentsAPI können Sie Verwaltungsaktionen für verfügbare Agents ausführen.
Diese Skripteinbindung erfordert die Store-Anwendung Agent Client Collector Framework (sn_agent) und wird im sn_agent- Namespace bereitgestellt. Weitere Informationen finden Sie unter Agent Client Collector.
Informationen zur REST-API-Lösung finden Sie unter Agent Client Collector API.
- Umfangreiche Informationen zu einem oder mehreren Service Desk-Mitarbeitern abrufen
- Senden einer Anforderung zum Abrufen eines Agent-Protokolls und Abrufen von Informationen über den Fortschritt der Anforderung.
- Datenerfassung starten oder stoppen
- Agent wird neu gestartet.
- Erkennung für einen Agent wird 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 Grab-Protokollanforderung.
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 Grab-Protokollanforderung enthält. |
| status | Nummer, die den Status der Grab-Protokollanforderung angibt. Mögliche Werte:
|
| Ausgabe | Informationen, die den Status beschreiben. |
Das folgende Beispiel zeigt, wie eine Anforderungs-ID verwendet wird, um den Status einer Grab-Protokollanforderung 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 Service Desk-Mitarbeiters ab.
- Führen Sie die Methode getAgentsList() aus.
- Überprüfen Sie die Spalte „Agent ID“ der Tabelle „Agent Client Collectors“ [sn_agent_cmdb_ci_agent].
- Führen Sie die REST-API Agent Client Collector GET list aus.
| Name | Typ | Beschreibung |
|---|---|---|
| agentID | Zeichenfolge | Eindeutige ID eines Agent, 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 Agent-Informationen. |
| Fehler | Fehlermeldung. NULL, wenn kein Fehler vorliegt. Datentyp: Zeichenfolge |
| Service Desk-Mitarbeiter | |
| agent.agent_id | ID des Service Desk-Mitarbeiters 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 | Agent-IP-Adresse 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 ein Neustart aktiviert ist. Agent-Neustart ist nicht konfigurierbar. Sie hängt vom Betriebssystem und 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 Prüfungen, die der Agent ausführen soll. 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_seit | UTC-Zeit, seit der Status des Service Desk-Mitarbeiters aktiviert wurde. Der Wert liegt im GlideDateTime -Format vor. 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 alle Agent-Details abgerufen werden.
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, Number limit)
Ruft eine Liste von Service Desk-Mitarbeitern mit zugehörigen Informationen ab.
| Name | Typ | Beschreibung |
|---|---|---|
| encodedQuery | Zeichenfolge | Codierte Abfragezeichenfolge im Standard-Glide-Format. Weitere Informationen finden Sie unter 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 Service Desk-Mitarbeiters 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 | Agent-IP-Adresse 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 ein Neustart aktiviert ist. Agent-Neustart ist nicht konfigurierbar. Sie hängt vom Betriebssystem und 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 Prüfungen, die der Agent ausführen soll. 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_seit | UTC-Zeit, seit der Status des Service Desk-Mitarbeiters aktiviert wurde. Der Wert liegt im GlideDateTime -Format vor. Datentyp: Zeichenfolge |
| version | Version von Agent Client Collector, die der Agent ausführt Datentyp: Zeichenfolge |
Das folgende Beispiel zeigt, wie die Ergebnisse nach Abfrage und Nummer eingeschränkt werden. Die Abfrage gibt alle Agents 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 Service Desk-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 durchlaufen 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 – restartAgent(String agentID)
Startet einen angegebenen Agent mit dem Status „Alive/In Betrieb“ neu.
- Linux-basierte Agents mit
systemd - Windows-Agents
- Führen Sie die Methode getAgentsList() aus.
- Überprüfen Sie die Spalte „Agent ID“ der Tabelle „Agent Client Collectors“ [sn_agent_cmdb_ci_agent].
- Führen Sie die REST-API Agent Client Collector GET list aus.
| Name | Typ | Beschreibung |
|---|---|---|
| agentID | Zeichenfolge | Eindeutige ID eines Agent, 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 ein Agent neu gestartet wird.
var agentsApi = new sn_agent.AccAgentsAPI();
var err = agentsApi.restartAgent("<agent_ID>");
if (!gs.nil(err))
gs.error(err);
AccAgentsAPI – runDiscovery(String agentID)
Führt eine Erkennungsprüfung aus, um CIs zu finden, die zu einem Agent gehören. Der angegebene Agent muss sich im Status „Alive/In Betrieb“ befinden.
- Führen Sie die Methode getAgentsList() aus.
- Überprüfen Sie die Spalte „Agent ID“ der Tabelle „Agent Client Collectors“ [sn_agent_cmdb_ci_agent].
- Führen Sie die REST-API Agent Client Collector GET list aus.
| Name | Typ | Beschreibung |
|---|---|---|
| agentID | Zeichenfolge | Eindeutige ID eines Agent, 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: Agent mit ID:<agentID> Ist nicht aktiv: Kein ausgelöster Fehler . |
Das folgende Beispiel zeigt, wie die Erkennung für einen Agent mit dem Status „Alive/In Betrieb“ 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, Boolean status)
Legen Sie den angegebenen Datenerfassungsstatus (wahr/falsch, falls aktiviert oder nicht) für einen angegebenen Agent fest.
- Führen Sie die Methode getAgentsList() aus.
- Überprüfen Sie die Spalte „Agent ID“ der Tabelle „Agent Client Collectors“ [sn_agent_cmdb_ci_agent].
- Führen Sie die REST-API Agent Client Collector GET list aus.
| Name | Typ | Beschreibung |
|---|---|---|
| agentID | Zeichenfolge | Eindeutige ID eines Agent, 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: true |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Fehlermeldung, falls zutreffend, andernfalls NULL. Beispiel: Agent mit ID:<agentID> Ist nicht aktiv: 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 „Alive/In Betrieb“ an.
| Name | Typ | Beschreibung |
|---|---|---|
| agentID | Zeichenfolge | Eindeutige ID eines Agent, der in der Spalte „Agent-ID“ der Tabelle „Agent Client Collectors“ [sn_agent_cmdb_ci_agent] aufgeführt ist. |
| Eigenschaften | Beschreibung |
|---|---|
| <Object> | JSON-Objekt mit der Anforderungs-ID und etwaigen Fehlerinformationen. |
| 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 erhalten.
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>