Utilisation des services Web pour la gestion des heures ouvrées

Ce cas d'utilisation présente les procédures qu'un administrateur peut déployer pour créer et gérer des définitions d'heures ouvrées pour filtrer les vues à l'aide des services Web RESTful de npc. Les administrateurs de CA npc peuvent créer des ensembles de définitions d'heures ouvrées en vue d'améliorer la génération de rapports. Les heures ouvrées permettent aux opérateurs de produit d'établir la priorité de leur charge de travail de dépannage en déterminant les événements qui ont lieu pendant les périodes critiques de travail.
capm250
Ce cas d'utilisation présente les procédures qu'un administrateur peut déployer afin de créer et de gérer des définitions d'heures ouvrées dans le but de filtrer des vues à l'aide des services Web RESTful de CA
NetOps Portal
. Les administrateurs de CA
NetOps Portal
peuvent créer des ensembles de définitions d'heures ouvrées en vue d'améliorer la génération de rapports. Les heures ouvrées permettent aux opérateurs de produit d'établir la priorité de leur charge de travail de dépannage en déterminant les événements qui ont lieu pendant les périodes critiques de travail.
Utilisez le service Web de groupes pour créer des groupes de sites et le service Web d'heures ouvrées pour gérer des définitions d'heures ouvrées. Si vous ajoutez d'abord des heures ouvrées, vous pouvez ensuite les associer à des groupes de sites pendant la création d'un groupe de sites.
Vous pouvez ajouter et supprimer plusieurs définitions d'heure ouvrées et les assigner à des groupes de sites.
Ce scénario d'utilisation indique les étapes à effectuer lors de l'utilisation d'un client REST, d'une application d'interface utilisateur de services Web générique. Les exemples de ce scénario d'utilisation contiennent des URI qui sont construits à l'aide du port de serveur par défaut (port 8181).
Création de groupes de sites à l'aide des services Web
Utilisez un client REST pour créer et pour configurer un groupe de sites associé au client hébergé par défaut à l'aide du service Web de groupes. Ce service Web permet de créer des règles et de les appliquer à des groupes de sites afin que les éléments soient ajoutés automatiquement. Les étapes de création de groupes dans un client hébergé personnalisé sont légèrement différentes. Vous pouvez fournir l'ID de groupe ou le chemin de groupe comme paramètres.
URL de base permettant de créer un groupe :
http://
hôte_PC
:8181/pc/center/webservice/groups/useIds/allowDeletes
useIds
Indique que le paramètre
groupItemId
est utilisé pour identifier le groupe. Indique si l'attribut d'ID fourni pour un groupe doit être utilisé pour l'identifier. La valeur false indique que le service Web groups n'essaye pas d'utiliser les ID des groupes pour créer des groupes. Les ID sont assignés en interne, c'est pourquoi ils ne permettent pas d'identifier de manière fiable les groupes qui ont été exportés et réimportés. Dans cet exemple, le document XML ne contient pas d'ID de groupe, c'est pourquoi la valeur est false.
  • allowDeletes
    Active la suppression du groupe que vous créez. Permet au service Web de groupes de mettre à jour les règles définies dans les groupes existants écrasés par ce document XML.
Exemple
:
http://
hôte_PC
:8181/pc/center/webservice/groups/false/true
Procédez comme suit :
  1. Configurez un client REST avec une connexion au serveur
    NetOps Portal
    .
  2. Utilisez le format suivant pour l'URL dans le client REST :
    http://
    hôte_PC
    :8181/pc/center/webservice/groups/false/true
  3. Sélectionnez
    POST
    comme
    méthode HTTP
    .
  4. Fournissez un nom d'utilisateur et un mot de passe valides dans l'en-tête de demande d'un compte d'utilisateur disposant d'un accès en tant qu'administrateur global à CA
    NetOps Portal
    .
  5. Sélectionnez
    application/xml
    comme configuration pour
    Body Content-type
    .
  6. Ajoutez le code XML suivant dans la section de texte Body (Corps) et remplacez les valeurs par les valeurs que vous voulez utiliser pour le nouveau groupe de sites :
    <GroupTree path="/All Groups"> <Group name="East Coast USA" desc="This is a site group" inherit="true" type="site group" location="North America" bHourID="99990" timeZone="EST"/> </GroupTree>
    • inherit (Hériter)
      Indique si le groupe inclut les éléments enfants des membres du groupe. Par exemple, si l'attribut inherit est défini sur true, les interfaces d'unité sont des membres du groupe si l'unité a été ajoutée au groupe.
    • type
      Indique le type de groupe. Les valeurs suivantes sont acceptées :
      • custom group
        : groupe crée par un utilisateur
      • site group
        : groupe créé par un utilisateur qui représente un site physique.
      • system group
        : groupe prédéfini que vous ne pouvez ni modifier ni supprimer.
      • automatic group
        : groupe prédéfini d'éléments d'une source de données autre que Data Aggregator que vous ne pouvez ni modifier ni supprimer.
    • bHourID
      Identificateur assigné en interne pour la définition d'heures ouvrées que vous avez créée au préalable.
    • timeZone
      Fuseau horaire à associer à ce groupe de sites.
    Par exemple, fournissez le code XML suivant :
    <Group name="East Coast" desc="Site group to represent the entire United States" inherit="true" type="site group" location="North America" bHourID="99990" timeZone="EST"/>
  7. Exécutez la méthode.
    Un nouveau groupe de sites (USA) est créé sous le groupe par défaut Tous les groupes dans l'arborescence Groupes.
  8. Répétez les étapes précédentes pour créer autant de groupes de sites que nécessaire.
  9. Utilisez une procédure similaire pour créer des sous-groupes. Ajoutez le code XML suivant dans la section de texte Body (Corps) :
    <GroupTree path="/All Groups/USA"> <Group name="Raleigh" desc="This is the group for managed items in Raleigh, NC" inherit="true" type="custom group"/> </GroupTree>
  10. Exécutez la méthode.
    Dans cet exemple, un nouveau groupe (Raleigh) est ajouté comme sous-groupe au groupe All Groups\USA.
Gestion des associations de fuseaux horaires
Vous pouvez utiliser les services Web pour gérer des associations de fuseaux horaires avec les groupes de sites.
Utilisez l'URL suivante dans une opération PUT pour assigner un fuseau horaire à un groupe de sites :
http://
hôte_PC
:8181/pc/center/webservice/businesshours/assign/timezone/site/siteGroupId
Utilisez la syntaxe suivante dans une opération PUT pour supprimer l'assignation :
unassign/timezone/site/siteGroupId
Utilisez la syntaxe suivante pour obtenir une liste de fuseaux horaires assignés à des groupes de sites :
http://
hôte_PC
:8181/pc/center/webservice/businesshours/timezonesAssignedToSites
Procédez comme suit :
  1. Configurez un client REST avec une connexion au serveur
    NetOps Portal
    .
  2. Dans le client REST, entrez l'URL correspondant à l'API des services Web RESTful de CA
    NetOps Portal
    . Utilisez le format suivant :
    http://
    hôte_PC
    :8181/pc/center/webservice/businesshours/assign/timezone/site/siteGroupId
  3. Sélectionnez
    PUT
    comme
    méthode HTTP
    .
  4. Fournissez un nom d'utilisateur et un mot de passe valides pour un compte d'utilisateur global disposant d'un accès d'administrateur à
    NetOps Portal
    .
  5. Dans les paramètres de corps, sélectionnez
    application/xml
    comme
    Body Content-type
    .
  6. Ajoutez le code XML suivant dans la section de texte Body (Corps) :
    <GroupTree path="/All Groups"> <Group name="East Coast USA" desc="This is a site group" inherit="true" type="site group" location="North America" bHourID="99990" timeZone="EST"/> </GroupTree>
    • bHourID
      Identificateur assigné en interne pour la définition d'heures ouvrées que vous avez créée au préalable.
    • timeZone
      Fuseau horaire à associer à ce groupe de sites.
  7. Exécutez la méthode.
    S'il n'existe pas, un nouveau groupe de sites USA est créé sous le groupe par défaut Tous les groupes dans l'arborescence Groupes. Le fuseau horaire EST est assigné à ce groupe de sites.
  8. Répétez les étapes précédentes pour associer des fuseaux horaires à tous les groupes de sites auxquels vous envisagez d'appliquer des heures ouvrées.
Exécutez la même méthode avec la syntaxe unassign/timezone pour supprimer une association de fuseau horaire.
Création de définitions d'heures ouvrées
Utilisez un client REST pour créer une définition d'heure ouvrée à l'aide du service Web d'heures ouvrées. Dans cette procédure, vous pouvez vous connecter en tant qu'administrateur global ou administrateur de clients hébergés. L'administrateur global crée des définitions d'heures ouvrées dans le client hébergé par défaut, alors que l'administrateur de clients hébergés crée la définition dans ce client hébergé.
Les étapes de création d'heures ouvrées dans un client hébergé personnalisé sont légèrement différentes. Vous pouvez fournir l'ID de client hébergé comme paramètre.
Les définitions d'heures ouvrées comprennent une heure de début et une heure de fin. Les paramètres startHour et endHour dans le contenu XML doivent être les mêmes pour tous les jours pour éviter toute erreur dans les opérations POST ou PUT.
URL de base pour créer une définition d'heures ouvrées :
http://
hôte_PC
:8181/pc/center/webservice/businesshours
Pour les systèmes disposant de plusieurs clients hébergés, spécifiez le client hébergé dans l'URL. Pour obtenir une liste d'ID de clients hébergés, effectuez l'opération GET sur l'URL suivante :
http://
hôte_PC
:8181/pc/center/webservice/tenants/idNames
Vous pouvez également effectuer une opération PUT sur l'URL suivante pour modifier les heures ouvrées au sein d'un client hébergé personnalisé : /businesshours/tenantId/
tenant Id
/id/
id
, où id correspond à l'ID de la définition d'heures ouvrées.
Procédez comme suit :
  1. Configurez un client REST avec une connexion au serveur
    NetOps Portal
    .
  2. Dans le client REST, entrez l'URL correspondant à l'API des services Web RESTful de CA
    NetOps Portal
    . Utilisez le format suivant :
    • Client hébergé par défaut :
      http://
      hôte_PC
      :8181/pc/center/webservice/businesshours/
    • Client hébergé spécifique
      http://
      hôte_PC
      :8181/pc/center/webservice/businesshours/tenantId/
      tenant_ID
  3. Sélectionnez
    POST
    comme
    méthode HTTP
    .
  4. Fournissez un nom d'utilisateur et un mot de passe valides pour un compte d'utilisateur disposant d'un accès en tant qu'administrateur global ou de clients hébergés de CA
    NetOps Portal
    .
  5. Dans les paramètres de corps, sélectionnez
    application/xml
    comme
    Body Content-type
    .
  6. Ajoutez le code XML suivant dans la section de texte Body (Corps) :
    <BusinessHour> <Name>Bakery</Name> <Description>HEB Bakery</Description> <Monday> <HourRange startHour="5" endHour="12"/> </Monday> <Tuesday> <HourRange startHour="5" endHour="12"/> </Tuesday> <Wednesday> <HourRange startHour="5" endHour="12"/> </Wednesday> <Thursday> <HourRange startHour="5" endHour="12"/> </Thursday> <Friday> <HourRange startHour="5" endHour="12"/> </Friday> <Saturday/> </Sunday> </BusinessHour>
    Cet exemple illustre la création d'une définition d'heures ouvrées nommée HEB Bakery. Les heures ouvrées commencent à 5 heures du matin et se terminent à midi. Le samedi et le dimanche sont exclus.
  7. Exécutez la méthode.
  8. Répétez les étapes précédentes pour créer autant de définitions d'heures ouvrées que nécessaire.
Gestion des associations d'heures ouvrées
Pour appliquer le filtrage des heures ouvrées, associez la définition d'heures ouvrées à un groupe de sites.
Utilisez l'URL suivante dans une opération PUT pour assigner des heures ouvrées à un groupe de sites :
http://
hôte_PC
:8181/pc/center/webservice/businesshours/assign/businesshour/businessHourId/site/siteGroupId
Une vérification a lieu pour confirmer le groupe de sites du fuseau horaire associé. Si aucun fuseau horaire n'est assigné au groupe de sites, un message d'erreur apparaît.
Utilisez la syntaxe suivante dans une opération PUT pour supprimer l'assignation :
unassign/businesshour/site/siteGroupId
Procédez comme suit :
  1. Configurez un client REST avec une connexion au serveur
    NetOps Portal
    .
  2. Dans le client REST, entrez l'URL correspondant à l'API des services Web RESTful de CA
    NetOps Portal
    . Utilisez le format suivant :
    http://
    hôte_PC
    :8181/pc/center/webservice/businesshours/assign/businesshour/
    businessHourId
    /site/siteGroupId
    • businessHourId
      Identificateur assigné en interne pour la définition d'heures ouvrées que vous avez créée au préalable.
  3. Sélectionnez
    PUT
    comme
    méthode HTTP
    .
  4. Fournissez un nom d'utilisateur et un mot de passe valides pour un compte d'utilisateur global disposant d'un accès d'administrateur à
    NetOps Portal
    .
  5. Dans les paramètres de corps, sélectionnez application/xml comme Body Content-type.
  6. Ajoutez le code XML suivant dans la section de texte Body (Corps) :
    <GroupTree path="/All Groups"> <Group name="East Coast USA" desc="This is a site group" inherit="true" type="site group" location="North America" bHourID="99990" timeZone="EST"/> </GroupTree>
  7. Exécutez la méthode.
    S'il n'existe pas, un nouveau groupe de sites USA est créé sous le groupe par défaut Tous les groupes dans l'arborescence Groupes. La définition d'heures ouvrées avec l'ID 99990 est assignée à ce groupe de sites.
  8. Répétez les étapes précédentes pour associer des fuseaux horaires à tous les groupes de sites auxquels vous envisagez d'appliquer des heures ouvrées.
Exécutez la même méthode avec la syntaxe unassignbusinesshour pour supprimer une association d'heures ouvrées
.
Interrogation de la RIB pour renvoyer une vue avec un filtre d'heures ouvrées
Vous pouvez interroger la base d'informations de rapports en saisissant des requêtes dans un navigateur Web, afin d'obtenir les données d'une mesure spécifique. Cet exemple présente une requête RIB de CA
NetOps Portal
renvoyant les données concernant les principaux rejets à partir d'une source de données Data Aggregator.
Faites précéder toutes les requêtes RIB de CA
NetOps Portal
de l'adresse URL suivante :
http://
hôte_PC
:8481/dm/rib/query/
Vous pouvez ajouter des paramètres d'URL pour spécifier les valeurs de la propriété :
http://
hôte_PC
:8481/dm/rib/query/ribquery/?property1=value1&property2=value2
La requête de RIB suivante interroge les données des principaux rejets à partir d'une source de données Data Aggregator :
http://<server IP address>:port/dm/rib/query/SELECT .PollItem.ID, .PollItem.DevDisplayName, .Item.DisplayName, .Discards.Sum, .DiscardsIn.Sum, .DiscardsOut.Sum FROM CA.IM.DA.MF.NormalizedPortInfo.IFSTATS WHERE .Group.GroupID = 1039 AND .EndTime(300) > 1366208760 AND .EndTime(300) <= 1366212360 GROUPBY .PollItem.ID, .Item.DisplayName, .PollItem.DevDisplayName ORDERBY .Discards.Sum DESC LIMIT 10
Si nécessaire, vous pouvez utiliser un format d'échappement pour la requête RIB et les paramètres. De nombreux navigateurs Web utilisent le format d'échappement de la requête RIB suivant :
http://
PC_host
:port/dm/rib/query/SELECT%20.PollItem.ID,%20.PollItem.DevDisplayName,%20.Item.DisplayName,%20.Discards.Sum,%20.DiscardsIn.Sum,%20.DiscardsOut.Sum%20FROM%20CA.IM.DA.MF.NormalizedPortInfo.IFSTATS%20WHERE%20.Group.GroupID%20=%201039%20AND%20.EndTime(300)%20%3E%201366208760%20AND%20.EndTime(300)%20%3C=%201366212360%20GROUPBY%20.PollItem.ID,%20.Item.DisplayName,%20.PollItem.DevDisplayName%20ORDERBY%20.Discards.Sum%20DESC%20LIMIT%2010
Ajoutez les paramètres d'URL suivants pour renvoyer des données sur les principaux rejets pour un ensemble d'heures ouvrées et un fuseau horaire spécifique. Les ensembles d'heures ouvrées sont configurés par un administrateur de CA
NetOps Portal
.
Certaines requêtes ne prennent pas en charge le filtrage des données par fuseau horaire et heures ouvrées
.
  • RIB.TimeZone
    Identificateur de chaîne du fuseau horaire utilisé pour filtrer les résultats de données.
  • RIB.BusinessHours
    ID CA
    NetOps Portal
    de la définition d'heures ouvrées utilisée pour filtrer les résultats de données. Incluez ce paramètre dans la valeur propertiesToTranslate pour garantir que l'ID soit traduit. Les ID qui ne sont pas traduits sont soumis sans changements à chaque source de données applicable.
  • propertiesToTranslate
    Liste des noms de paramètre dont les valeurs contiennent un ID CA
    NetOps Portal
    à traduire en ID de source de données local.
Exemple 1
Pour renvoyer des données filtrées par fuseau horaire, ajoutez le paramètre de fuseau horaire (affiché en gras) dans l'URL. Dans l'exemple suivant, les données sont filtrées pour inclure uniquement les données des éléments dans des sites configurés pour le fuseau horaire Amérique/New York.
http://pchost:8481/dm/rib/query/SELECT .PollItem.ID, .PollItem.DevDisplayName, .Item.DisplayName, .Discards.Sum, .DiscardsIn.Sum, .DiscardsOut.Sum FROM CA.IM.DA.MF.NormalizedPortInfo.IFSTATS WHERE .Group.GroupID = 1039 AND .EndTime(300) > 1366208760 AND .EndTime(300) <= 1366212360 GROUPBY .PollItem.ID, .Item.DisplayName, .PollItem.DevDisplayName ORDERBY .Discards.Sum DESC LIMIT 10?RIB.TimeZone=America/New_York
Exemple 2
Pour renvoyer des données filtrées par fuseau horaire et par heures ouvrées, ajoutez les paramètres de fuseau horaire et d'heures ouvrées (affichés en gras) dans l'URL. Dans l'exemple suivant, les données sont filtrées de façon à inclure uniquement les données des éléments dans les sites configurés pour le fuseau horaire Amérique/New_York et les heures ouvrées correspondant à la définition CA
NetOps Portal
avec l'ID 6434.
http://pchost:8481/dm/rib/query/SELECT .PollItem.ID, .PollItem.DevDisplayName, .Item.DisplayName, .Discards.Sum, .DiscardsIn.Sum, .DiscardsOut.Sum FROM CA.IM.DA.MF.NormalizedPortInfo.IFSTATS WHERE .Group.GroupID = 1039 AND .EndTime(300) > 1366208760 AND .EndTime(300) <= 1366212360 GROUPBY .PollItem.ID, .Item.DisplayName, .PollItem.DevDisplayName ORDERBY .Discards.Sum DESC LIMIT 10?RIB.TimeZone=America/New_York&RIB.BusinessHours=6434&propertiesToTranslate=RIB.BusinessHours
Dépannage
Des erreurs sont renvoyées si une syntaxe valide appelle une définition non valide. Par exemple, vous essayez de créer un groupe de sites. La syntaxe inclut businessHourId pour une définition d'heures ouvrées non valide. Dans ce cas, la réponse HTTP XML inclut un message d'erreur similaire au texte suivant :
<Group bHourID="99990" desc="This is a site group" inherit="true" location="North America" name="East Coast USA" result="Error with validating business hour ID: Business hour definition with an ID of '99990' not found!" timeZone="EST" type="site group"/>
Les définitions d'heures ouvrées comprennent une heure de début et une heure de fin. Les paramètres startHour et endHour dans le contenu XML doivent être identiques pour tous les jours inclus dans la définition. Dans le cas contraire, une erreur apparaît pour toute opération POST ou PUT.