AccAgentsAPI : délimité
L’include de script AccAgentsAPI vous permet d’effectuer des actions de gestion sur les agents disponibles.
Cet include de script nécessite l’application Agent Client Collector de stockage Framework (sn_agent) et est fourni dans l’espace de noms sn_agent . Pour plus d’informations, reportez-vous à Agent Client Collector.
Pour obtenir la solution API REST, reportez-vous à l’API Agent Client Collector.
- Obtention d’informations détaillées sur un ou plusieurs agents.
- Envoi d’une demande de récupération d’un journal d’agent et récupération d’informations sur la progression de la demande.
- Démarrage ou arrêt de la collecte de données.
- Redémarrage d’un agent.
- Exécution de Découverte sur un agent.
AccAgentsAPI : AccAgentsAPI()
Crée une instance AccAgentsAPI.
| Nom | Type | Description |
|---|---|---|
| Néant |
L’exemple suivant montre comment initialiser AccAgentsAPI.
var agentsApi = new sn_agent.AccAgentsAPI();
AccAgentsAPI : checkGrabLogRequestProgress(String requestId)
Vérifie l’état d’une demande de grab log.
Exécutez la méthode submitGrabLogRequest() pour obtenir un ID de demande.
| Nom | Type | Description |
|---|---|---|
| requestId | Chaîne | Sys_id d’une demande dans la table Demandes d’Agent Client Collector [sn_agent_request]. |
| Propriétés | Description |
|---|---|
| <Object> | Objet JSON contenant l’état de la demande de journal de saisie. |
| statut | Numéro indiquant l’état de la demande de grab log. Valeurs possibles :
|
| sortie | Informations décrivant l’état. |
L’exemple suivant montre comment utiliser un ID de demande pour obtenir l’état d’une demande de journal d’importation.
var agentsApi = new sn_agent.AccAgentsAPI();
var logRequestStatus = agentsApi.checkGrabLogRequestProgress("<request_ID>");
gs.info(JSON.stringify(logRequestStatus, null, 2));
Sortie :
{
"status": 2,
"output": "Grab Log Request Timed Out"
}
AccAgentsAPI : getAgent(String agentID)
Obtient les informations d’un agent spécifié.
- Exécutez la méthode getAgentsList( ).
- Vérifiez la colonne ID de l’agent de la table Agent Client Collectors [sn_agent_cmdb_ci_agent].
- Exécutez l’API REST Liste GET d’Agent Client Collector .
| Nom | Type | Description |
|---|---|---|
| ID de l’agent | Chaîne | ID unique d’un agent répertorié dans la colonne ID d’agent de la table Agent Client Collectors [sn_agent_cmdb_ci_agent]. |
| Propriétés | Description |
|---|---|
| <Object> | Objet contenant les informations étendues sur l’agent. |
| erreur | Message d’erreur. Nul s’il n’y a pas d’erreur. Type de données : chaîne |
| agent | |
| agent.agent_id | ID de l’agent tel que soumis. Type de données : chaîne |
| agent.data_collection | La collecte de données indique si des vérifications planifiées doivent être exécutées. Ces vérifications font partie des politiques planifiées pour l’exécution de cet agent. Valeurs possibles :
Type de données : nombre |
| agent.ip_address | Adresse IP de l’agent. Type de données : chaîne |
| agent.is_duplicate | Marqueur indiquant si cet agent est un doublon d’un autre. Il ne doit y avoir qu’un seul agent sur un hôte donné. Valeurs possibles :
Type de données : booléennes |
| agent.is_restart_enabled | Marqueur indiquant si le redémarrage est activé. Le redémarrage de l’agent n’est pas configurable. Cela dépend du système d’exploitation et de la version du système d’exploitation sur lequel l’agent s’exécute. Valeurs possibles :
Type de données : booléennes |
| agent.name | Nom de l’agent. Type de données : chaîne |
| agent.number_of_running_checks | Nombre de vérifications dont l’exécution de l’agent est prévue. Ces vérifications font partie des politiques planifiées pour l’exécution de cet agent. Type de données : nombre |
| agent.status | État de l’agent. Valeurs possibles :
Type de données : nombre |
| agent.up_since | Heure UTC depuis que le statut de l’agent est actif/actif. La valeur est au format GlideDateTime . Type de données : chaîne |
| agent.version | La version de l’agent est en cours d’exécution Agent Client Collector . Type de données : chaîne |
L’exemple suivant montre comment afficher l’état d’un agent.
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);
Sortie :
agent status: 2
L’exemple suivant montre comment obtenir tous les détails de l’agent.
var agentsApi = new sn_agent.AccAgentsAPI();
var agentInfo = agentsAPI.getAgent("<agent_ID>");
gs.info(JSON.stringify(agentInfo, null, 2));
Sortie :
{
"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(Chaîne encodedQuery, limite de nombre)
Obtient une liste d’agents avec des informations connexes.
| Nom | Type | Description |
|---|---|---|
| encodedQuery | Chaîne | Chaîne de requête codée au format Glide standard. Voir Chaînes de requête codées. |
| limite | Numéro | Facultatif. Limite les résultats à un nombre maximal d’agents. Utilisez null ou undefined pour les deux s’ils ne sont pas nécessaires. Par défaut/Max : 20 000 |
| Propriété | Description |
|---|---|
| <tableau> | Tableau d’objets JSON contenant des informations étendues sur l’agent. |
| agent_id | ID de l’agent tel que soumis. Type de données : chaîne |
| data_collection | La collecte de données indique si des vérifications planifiées doivent être exécutées. Ces vérifications font partie des politiques planifiées pour l’exécution de cet agent. Valeurs possibles :
Type de données : nombre |
| ip_address | Adresse IP de l’agent. Type de données : chaîne |
| is_duplicate | Marqueur indiquant si cet agent est un doublon d’un autre. Il ne doit y avoir qu’un seul agent sur un hôte donné. Valeurs possibles :
Type de données : booléennes |
| is_restart_enabled | Marqueur indiquant si le redémarrage est activé. Le redémarrage de l’agent n’est pas configurable. Cela dépend du système d’exploitation et de la version du système d’exploitation sur lequel l’agent s’exécute. Valeurs possibles :
Type de données : booléennes |
| nom | Nom de l’agent. Type de données : chaîne |
| number_of_running_checks | Nombre de vérifications dont l’exécution de l’agent est prévue. Ces vérifications font partie des politiques planifiées pour l’exécution de cet agent. Type de données : nombre |
| statut | État de l’agent. Valeurs possibles :
Type de données : nombre |
| up_since | Heure UTC depuis que le statut de l’agent est actif/actif. La valeur est au format GlideDateTime . Type de données : chaîne |
| version | La version de l’agent est en cours d’exécution Agent Client Collector . Type de données : chaîne |
L’exemple suivant montre comment restreindre les résultats par requête et par numéro. La requête renvoie tous les agents qui ne sont pas dans l’état Inactif avec un maximum de deux résultats.
var agentsApi = new sn_agent.AccAgentsAPI();
var agentList = agentsApi.getAgentsList("agent_extended_info.status!=2", 2);
gs.info(JSON.stringify(agentList, null, 2));
Sortie :
[
{
"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"
}
]
L’exemple suivant montre comment répertorier tous les agents du système. Cet exemple n’utilise aucune requête et aucun nombre maximum de résultats.
var agentsApi = new sn_agent.AccAgentsAPI();
var agentList = agentsApi.getAgentsList(null, 0);
gs.info(JSON.stringify(agentList, null, 2));
L’exemple suivant montre comment itérer sur les résultats fournis et affiche chaque ID d’agent.
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);
Sortie :
sn_agent: agent with id: 000a00e0aa1aa3a4
sn_agent: agent with id: 000a00e1aa1aa3a4
sn_agent: agent with id: 000a00e2aa1aa3a4
AccAgentsAPI : restartAgent(String agentID)
Redémarre un agent spécifié avec l’état Joignable/En service.
- Agents basés sur Linux utilisant
systemd - Agents Windows
- Exécutez la méthode getAgentsList( ).
- Vérifiez la colonne ID de l’agent de la table Agent Client Collectors [sn_agent_cmdb_ci_agent].
- Exécutez l’API REST Liste GET d’Agent Client Collector .
| Nom | Type | Description |
|---|---|---|
| ID de l’agent | Chaîne | ID unique d’un agent répertorié dans la colonne ID d’agent de la table Agent Client Collectors [sn_agent_cmdb_ci_agent]. |
| Type | Description |
|---|---|
| Chaîne | Message d’erreur le cas échéant, nul dans le cas contraire. |
L’exemple suivant montre comment redémarrer un agent.
var agentsApi = new sn_agent.AccAgentsAPI();
var err = agentsApi.restartAgent("<agent_ID>");
if (!gs.nil(err))
gs.error(err);
AccAgentsAPI : runDiscovery(String agentID)
Exécute une vérification de découverte pour localiser les CI associés à un agent. L’agent spécifié doit avoir le statut Actif/En service.
- Exécutez la méthode getAgentsList( ).
- Vérifiez la colonne ID de l’agent de la table Agent Client Collectors [sn_agent_cmdb_ci_agent].
- Exécutez l’API REST Liste GET d’Agent Client Collector .
| Nom | Type | Description |
|---|---|---|
| ID de l’agent | Chaîne | ID unique d’un agent répertorié dans la colonne ID d’agent de la table Agent Client Collectors [sn_agent_cmdb_ci_agent]. |
| Type | Description |
|---|---|
| Chaîne | Message d’erreur le cas échéant, nul dans le cas contraire. Par exemple, l’agent avec l’ID : <agentID> n’est pas opérationnel : aucune erreur levée. |
L’exemple suivant montre comment exécuter la découverte sur un agent avec l’état Actif/En service.
var agentsApi = new sn_agent.AccAgentsAPI();
var err = agentsApi.runDiscovery("<agent_ID>");
if (!gs.nil(err))
gs.error(err);
AccAgentsAPI : setDataCollectionStatus(String agentID, statut booléen)
Définissez l’état de collecte de données donné (vrai/faux si activée ou non) pour un agent spécifié.
- Exécutez la méthode getAgentsList( ).
- Vérifiez la colonne ID de l’agent de la table Agent Client Collectors [sn_agent_cmdb_ci_agent].
- Exécutez l’API REST Liste GET d’Agent Client Collector .
| Nom | Type | Description |
|---|---|---|
| ID de l’agent | Chaîne | ID unique d’un agent répertorié dans la colonne ID d’agent de la table Agent Client Collectors [sn_agent_cmdb_ci_agent]. |
| statut | Booléen | Marqueur indiquant si la collecte de données est activée pour l’agent. Valeurs valides :
Par défaut : true |
| Type | Description |
|---|---|
| Chaîne | Message d’erreur le cas échéant, nul dans le cas contraire. Par exemple, l’agent avec l’ID : <agentID> n’est pas opérationnel : aucune erreur levée. |
L’exemple suivant montre comment activer la collecte de données d’agent.
var agentsApi = new sn_agent.AccAgentsAPI();
var err = agentsApi.setDataCollectionStatus("<agentID>", true);
if (!gs.nil(err))
gs.error(err);
L’exemple suivant montre comment désactiver la collecte de données de l’agent.
var agentsApi = new sn_agent.AccAgentsAPI();
var err = agentsApi.setDataCollectionStatus("<agentID>", false);
if (!gs.nil(err))
gs.error(err);
AccAgentsAPI : submitGrabLogRequest(String agentId)
Demande le journal d’un agent spécifié avec l’état Actif/En service.
| Nom | Type | Description |
|---|---|---|
| ID de l’agent | Chaîne | ID unique d’un agent répertorié dans la colonne ID d’agent de la table Agent Client Collectors [sn_agent_cmdb_ci_agent]. |
| Propriétés | Description |
|---|---|
| <Object> | Objet JSON contenant l’ID de la demande et toute information relative à l’erreur. |
| erreur | Message d’erreur. Nul s’il n’y a pas d’erreur. Type de données : chaîne |
| request_id | Sys_id d’une demande dans la table Demandes d’Agent Client Collector [sn_agent_request]. Vous pouvez utiliser cet ID pour obtenir l’état de la demande à l’aide de GET /agents/{request_id}/. Type de données : chaîne |
L’exemple suivant montre comment obtenir un ID de demande de journal.
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);
Sortie :
Request ID: <sys_id>