Problèmes de connectivité de l’utilisateur du Serveur MID

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 17 minutes de lecture
  • L’instance écrit les problèmes concernant les connexions utilisateur de Serveur MID et la connectivité réseau dans la table Problème de Serveur MID [ecc_agent_issue] et crée des événements que vous pouvez utiliser dans des scripts personnalisés ou pour envoyer des notifications par e-mail.

    Les enregistrements dans la table Problème de serveur MID [ecc_agent_issue] peuvent fournir un aperçu de la raison pour laquelle votre utilisateur de Serveur MID ne peut pas se connecter ou pourquoi un Serveur MID ne peut pas se connecter à l’instance. Le système affiche les enregistrements des problèmes de connectivité dans cette table, qui incluent des messages d’erreur informatifs suggérant des causes possibles. Par défaut, une tâche planifiée appelée MIDUserConnectivity s’exécute toutes les quatre heures et lance l’include de script MIDUserConnectivity pour évaluer l’activité de connexion du serveur MID. Les enregistrements de la table Problème de Serveur MID [ecc_agent_issue] reflètent l’état des tentatives de connexion et de connectivité du Serveur MID au moment de l’exécution de la tâche planifiée.

    Du point de vue de l’instance, le MID Server est indisponible lorsque :
    • Échec de l’authentification utilisateur
    • L’autorisation de l’utilisateur échoue.
    • Des problèmes réseau empêchent le MID Server d’établir une connexion TCP/IP.
    Remarque :
    Pour associer un utilisateur à un serveur MID, accédez au fichier de nom du serveur servicenow/<mid>/agent/config.xml et entrez les informations d’identification de l’utilisateur dans les paramètres mid.instance.username et mid.instance.password . Assurez-vous de redémarrer le serveur MID pour activer vos changements.

    Comment les problèmes sont-ils journalisés ?

    Les échecs d’authentification utilisateur et les problèmes d’autorisation sont consignés automatiquement dans le fichier journal de l’agent de Serveur MID. Le message pour les deux est le même : l’utilisateur ne peut pas être authentifié ou les rôles appropriés sont manquants. Si le problème est lié à l’autorisation, le fichier de agent.log affiche la liste des rôles manquants.

    Lorsque le débogage est activé, les problèmes de Serveur MID sont consignés dans le journal système (syslog) et peuvent être affichés sous forme de résumé ou de détaillé . Vous pouvez également modifier l’intervalle d’échantillonnage de 4 heures par défaut à un intervalle plus court pour suivre vos efforts de rattrapage. Pour obtenir des instructions sur l’activation et la configuration du débogage pour les problèmes des utilisateurs de Serveur MID, reportez-vous à la section Tester les efforts de rattrapage pour les problèmes de connectivité de l’utilisateur du Serveur MID.

    Données fournies

    Lorsque l’instance rencontre des problèmes de connectivité utilisateur, elle ouvre un enregistrement dans la table Problème de serveur MID [ecc_agent_issue].
    Figure 1. Exemple de message d’erreur d’authentification utilisateur
    Exemple de message d’erreur d’authentification utilisateur
    La table Problème de MID Server contient les champs suivants :
    Tableau 1. Champs des problèmes de Serveur MID
    Champ Description
    Dernière détection Date et heure de la dernière détection du problème.
    Description brève Contenu du message généré qui spécifie un problème possible avec l’utilisateur nommé ou le MID Server.
    Serveur MID Vide dans la version Jakarta.
    Source du problème Le processus qui a permis d’identifier le problème. Pour tous les problèmes liés à la connectivité utilisateur du serveur MID, la source est MIDUserConnectivity.
    État État actuel du problème. Les états possibles sont les suivants :
    • Nouveau : état de début lorsque l’instance crée le problème.
    • Confirmé : état défini lors de la première examen du problème par l’administrateur.
    • Résolu : état de fin, défini par l’instance, indiquant que le problème a été résolu. Si la tâche planifiée ne rencontre pas le problème lors de son nouvel exécution, l’instance définit automatiquement cette valeur.
    Domaine Domaine associé au compte d’utilisateur du Serveur MID.
    Nombre Nombre de fois qu’un problème a été détecté. Chaque fois que la tâche planifiée s’exécute et rencontre le même problème, elle incrémente ce champ.

    Échec de l’authentification utilisateur

    Les informations d’identification utilisées par l’instance pour authentifier un utilisateur de Serveur MID sont configurées dans la table Paramètres de configuration du Serveur MID [ecc_agent_config]. Si l’utilisateur du Serveur MID tente de se connecter à l’instance avec des informations d’identification non valides, l’instance rejette la connexion et écrit l’événement login.failed dans la table Événements [sysevents] pour l’utilisateur. Les administrateurs peuvent utiliser cet événement dans un script personnalisé ou dans des notifications par e-mail en cas d’échec d’authentification.

    Remarque :
    Si l’authentification utilisateur échoue, l’autorisation utilisateur n’est pas tentée.

    Comptes d’utilisateurs associés à un serveur MID

    L’un des messages suivants dans la table Problème de serveur MID [ecc_agent_issue] indique un échec de l’authentification pour les comptes d’utilisateurs associés à un serveur MID :
    • Échec de l’authentification de connexion pour l’utilisateur <nom d’utilisateur> associé à 1 MID Server en aval. Vérifiez le mot de passe sur le serveur MID.
    • Échec de l’authentification de connexion pour l’utilisateur <nom d’utilisateur> associé à <n> MID Server en panne. Vérifiez le mot de passe sur les MID Servers.
    Les conditions nécessaires à l’affichage de ces messages sont les suivantes :
    • Le champ État de la table Serveurs MID [ecc_agent] associée au serveur MID indique que le serveur MID est en panne.
    • L’utilisateur identifié dans la table Paramètres de configuration du serveur MID [ecc_agent_config] est l’utilisateur qu’un ou plusieurs serveurs MID sont configurés pour utiliser pour l’authentification et l’autorisation lors de la connexion à l’instance. L’enregistrement de la table [ecc_agent_config] doit comporter les valeurs suivantes :
      • Champ Nom de paramètre [param_name] défini sur mid.instance.username.
      • Valeur du champ [value] définie sur le nom de l’utilisateur, correspondant au champ ID d’utilisateur [user_name] dans la table Utilisateurs [sys_user].
    • La table Événements [sysevent] contient des publications montrant que la dernière tentative de connexion associée à l’utilisateur a échoué pendant la période planifiée. L’enregistrement créé dans la table [sysevent] contient les valeurs de champ suivantes :
      • Le champ Nom d’événement [name] est défini sur login.failed.
      • Le champ Parm1 [parm1] est défini sur le nom de l’utilisateur.
    Remarque :
    Le champ Serveur MID [mid_server] de la table Problèmes de Serveur MID [ecc_agent_issue] est vide (=NULL).

    Comptes d’utilisateurs avec le rôle MID Server non associés à un MID Server

    Le message suivant s’affiche lorsqu’un utilisateur ayant le rôle mid_server qui n’est pas associé à un serveur MID ne parvient pas à s’authentifier : Échec de l’authentification de connexion pour l’utilisateur <nom d’utilisateur> dont mid_server rôle n’est pas associé à un serveur MID.

    Les conditions nécessaires à l’affichage de ce message sont les suivantes :
    • La table Rôles d’utilisateur [sys_user_has_role] contient un enregistrement reliant le sys_id associé à l’enregistrement utilisateur stocké dans la table [sys_user] et le sys_id associé à l’enregistrement de rôle mid_server stocké dans la table [sys_user_role].
    • L’utilisateur n’est pas identifié dans la table Paramètres de configuration du serveur MID [ecc_agent_config] comme l’utilisateur qu’un ou plusieurs serveurs MID sont configurés pour utiliser pour l’authentification et l’autorisation lors de la connexion à l’instance.
    • La table Événements [sysevent] contient des publications montrant que la dernière tentative de connexion associée à l’utilisateur a échoué pendant la période planifiée.
      • La table [sysevent] contient un enregistrement dont le champ Nom d’événement [name] est défini sur login.failed.
      • Le champ Parm1 [parm1] est défini sur le nom de l’utilisateur, correspondant au champ ID d’utilisateur [user_name] dans la table Utilisateurs [sys_user].
    Remarque :
    Le champ Serveur MID [mid_server] de la table Problèmes de Serveur MID [ecc_agent_issue] est vide (=NULL).

    Échec de l’autorisation de l’utilisateur

    La vérification d’autorisation de l’utilisateur a lieu une fois que le MID Server s’est authentifié avec succès sur l’instance. Dans cette étape, le système s’assure que le compte d’utilisateur associé à un Serveur MID dispose des rôles minimum requis. Un service Web SOAP appelé MIDServerCheck effectue la vérification du rôle sur l’instance. Si l’utilisateur du Serveur MID dispose des rôles appropriés, la connexion est autorisée et un login événement est écrit dans la table Événements [sysevents]. Si l’utilisateur ne dispose pas des rôles appropriés, l’instance écrit un événement login.authorization.failed dans la table Événements [sysevents]. Cet événement fournit une liste séparée par des virgules des rôles manquants de l’utilisateur. Les administrateurs peuvent utiliser cet événement dans des scripts personnalisés ou dans des notifications par e-mail en cas d’échec de l’autorisation.

    L’autorisation peut échouer s’il manque à un utilisateur le rôle mid_server ou l’un des rôles SOAP importants, comme dans les cas suivants :
    • Si l’utilisateur dispose du rôle soap_script, le service Web SOAP MIDServerCheck s’exécute pour rechercher les rôles de serveur MID appropriés. Si l’utilisateur n’a pas le rôle mid_server ou l’un des autres rôles SOAP, l’autorisation échoue et l’événement login.authorization.failed est créé.
    • Si l’utilisateur ne dispose pas du rôle soap_script, il n’est pas autorisé à lancer le service Web SOAP MIDServerCheck , qui recherche tous les rôles de serveur MID requis. L’autorisation échoue, mais l’événement login.authorization.failed n’est pas créé. Lorsque cela se produit, l’instance affiche le message suivant : La connectivité de l’utilisateur du Serveur MID <nom d’utilisateur> ne peut pas être détectée par l’instance.

    Utilisateurs associés à un ou plusieurs MID Server en panne

    L’un des messages suivants dans la table Problème de serveur MID [ecc_agent_issue] indique un échec d’autorisation pour les comptes d’utilisateurs associés à un serveur MID en panne :
    • Échec de l’autorisation de connexion pour l’utilisateur <nom d’utilisateur> associé à 1 vers le bas du Serveur MID. Réaffectez mid_server rôle pour accorder tous les rôles requis.
    • Échec de l’autorisation de connexion pour l’utilisateur <nom d’utilisateur> associé à <n> MID Server. Réaffectez mid_server rôle pour accorder tous les rôles requis.
    L’include de script MIDUserConnectivity identifie les utilisateurs actifs associés à un ou plusieurs MID Server en panne dont la dernière tentative de connexion au cours de la période de référence a échoué à l’obtention de l’autorisation utilisateur. Ce message est généré lorsque des échecs d’autorisation d’utilisateur sont détectés et signalés par le service Web scripté MIDServerCheck. Toutefois, les échecs d’autorisation d’utilisateur ne sont pas signalés pour les utilisateurs qui ne sont pas affectés au rôle soap_script. Si cela se produit, les problèmes avec l’utilisateur sont signalés par le message de connectivité réseau.
    Ce message s’affiche dans la table Problème de serveur MID [ecc_agent_issue] lorsque :
    • L’utilisateur peut avoir ou non le rôle mid_server.
    • L’utilisateur est identifié dans la table Paramètres de configuration du serveur MID [ecc_agent_config] comme l’utilisateur qu’un ou plusieurs serveurs MID sont configurés pour utiliser pour l’authentification et l’autorisation lors de la connexion à l’instance.
    • La table Événements [sysevent] contient des publications montrant que la dernière tentative de connexion associée à l’utilisateur a échoué pendant la période planifiée. La table [sysevent] contient un enregistrement avec les paramètres suivants :
      • Champ Nom d’événement [name] défini sur login.authorization.failed.
      • Champ Parm1 [parm1] défini sur le nom de l’utilisateur, correspondant au champ ID d’utilisateur [user_name] dans la table Utilisateurs [sys_user].
    Remarque :
    Le champ Serveur MID [mid_server] de la table Problèmes de Serveur MID [ecc_agent_issue] est vide (=NULL).

    Utilisateurs ayant le rôle approprié non associés à un Serveur MID

    Le message suivant s’affiche lorsqu’un utilisateur ayant le rôle mid_server qui n’est pas associé à un serveur MID échoue à l’autorisation : Échec de l’autorisation de connexion pour l’utilisateur <nom d’utilisateur> avec mid_server rôle non associé à un serveur MID.

    Ce message est généré lorsque des échecs d’autorisation d’utilisateur sont détectés dans lesquels le compte d’utilisateur, avec le rôle mid_server, n’est pas identifié comme un utilisateur de Serveur MID configuré dans la table [ecc_agent_config]. Il est possible que le compte utilisateur ait été associé à un serveur MID au moment de la panne.

    Ce message s’affiche dans la table Problème de serveur MID [ecc_agent_issue] lorsque :
    • L’utilisateur a le rôle mid_server. La table Rôles d’utilisateur [sys_user_has_role] comporte un enregistrement reliant les sys_id associées à l’enregistrement utilisateur stocké dans la table [sys_user] et l’sys_id associé à l’enregistrement de rôle mid_server stocké dans la table [sys_user_role].
    • L’utilisateur n’est pas identifié dans la table Paramètres de configuration du serveur MID [ecc_agent_config] comme l’utilisateur qu’un ou plusieurs serveurs MID sont configurés pour utiliser pour l’authentification et l’autorisation lors de la connexion à l’instance.
    • La table Événements [sysevent] contient des publications montrant que la dernière tentative de connexion associée à l’utilisateur a échoué pendant la période planifiée. La table [sysevent] contient un enregistrement avec les paramètres suivants :
      • Champ Nom d’événement [name] défini sur login.authorization.failed.
      • Champ Parm1 [parm1] défini sur le nom de l’utilisateur, correspondant au champ ID d’utilisateur [user_name] dans la table Utilisateurs [sys_user].
    Remarque :
    Le champ Serveur MID [mid_server] de la table Problèmes de Serveur MID [ecc_agent_issue] est vide (=NULL).

    Problèmes réseau

    Un problème réseau peut empêcher le MID Server de se connecter au serveur TCP/IP de l’instance pour démarrer une session. Dans ce cas, l’instance marque le serveur MID comme indisponible, car elle n’a pas reçu la pulsation du serveur MID dans l’intervalle de 5 minutes prescrit.

    Utilisateurs associés à des MID Server en panne qui n’ont pas encore tenté de se connecter

    L’un des messages suivants dans le nom de la table Problème de serveur MID [ecc_agent_issue] : utilisateurs associés à des serveurs MID qui n’ont pas tenté de se connecter pendant la période de rapport :
    • L’utilisateur <nom d’utilisateur> est associé à un serveur MID vers le bas. Aucune tentative de connexion au cours de la période de référence.
    • Utilisateur <nom d’utilisateur> est associé à <n> MID Server en panne. Aucune tentative de connexion au cours de la période de référence.

    L’include de script MIDUserConnectivity signale les utilisateurs actifs associés aux MID Servers inactifs lorsque la connectivité réseau ne peut pas être détectée par l’instance.

    Ce message s’affiche dans la table Problème de serveur MID [ecc_agent_issue] lorsque :
    • L’utilisateur peut avoir ou non le rôle mid_server.
    • L’utilisateur est identifié dans la table Paramètres de configuration du serveur MID [ecc_agent_config] comme l’utilisateur qu’un ou plusieurs serveurs MID sont configurés pour utiliser pour l’authentification et l’autorisation lors de la connexion à l’instance.
    • Aucune tentative de connexion, qu’elle ait échoué ou réussi, n’est enregistrée dans la table Événements [sysevent] pour l’utilisateur au cours de la période de reporting planifiée.
    Remarque :
    Le champ Serveur MID [mid_server] de la table Problèmes de Serveur MID [ecc_agent_issue] est vide (=NULL).

    Utilisateurs non associés à des MID Server qui n’ont pas encore tenté de se connecter

    Le message suivant s’affiche lorsqu’un utilisateur ayant le rôle mid_server qui n’est pas associé à un serveur MID n’a pas tenté de se connecter pendant l’intervalle de génération de rapports configuré : Utilisateur <nom d’utilisateur> avec mid_server rôle n’est pas associé à un serveur MID. Aucune tentative de connexion au cours de la période de référence.

    L’include de script MIDUserConnectivity signale les utilisateurs actifs dont le rôle mid_server n’est pas associé à un serveur MID et dont la connectivité ne peut pas être détectée par l’instance.

    Ce message s’affiche dans la table Problème de serveur MID [ecc_agent_issue] lorsque :
    • L’utilisateur a le rôle mid_server. La table Rôles d’utilisateur [sys_user_has_role] comporte un enregistrement reliant les sys_id associées à l’enregistrement utilisateur stocké dans la table [sys_user] et l’sys_id associé à l’enregistrement de rôle mid_server stocké dans la table [sys_user_role].
    • L’utilisateur n’est pas identifié dans la table Paramètres de configuration du serveur MID [ecc_agent_config] comme l’utilisateur qu’un ou plusieurs serveurs MID sont configurés pour utiliser pour l’authentification et l’autorisation lors de la connexion à l’instance.
    • Aucune tentative de connexion, qu’elle ait échoué ou réussi, n’est enregistrée dans la table Événements [sysevent] pour l’utilisateur au cours de la période de reporting planifiée.
    Remarque :
    Le champ Serveur MID [mid_server] de la table Problèmes de Serveur MID [ecc_agent_issue] est vide (=NULL).

    Problèmes de configuration

    N’importe lequel des messages suivants, évoqué ci-dessus, peut indiquer un problème de configuration :
    • Échec de l’authentification de connexion pour l’utilisateur <nom d’utilisateur> dont mid_server rôle n’est pas associé à un Serveur MID.
    • Échec de l’autorisation de connexion pour l’utilisateur <nom d’utilisateur> dont mid_server rôle n’est pas associé à un Serveur MID.
    • Utilisateur <nom d’utilisateur> avec mid_server rôle n’est pas associé à un Serveur MID. Aucune tentative de connexion au cours de la période de référence.
    Voici quelques erreurs de configuration courantes :
    • Un administrateur a omis d’associer l’enregistrement utilisateur à l’enregistrement de Serveur MID, comme indiqué dans la table Paramètres de configuration du Serveur MID [ecc_agent_config]. Cette table est en lecture seule et ne peut pas être mise à jour directement. Pour associer un utilisateur à un serveur MID, configurez le nom d’utilisateur et le mot de passe dans le fichier config.xml du serveur MID, puis redémarrez le serveur MID.
    • Au cours du processus de reconfiguration d’un serveur MID pour utiliser un autre compte pour la connexion TCP/IP, l’administrateur n’a pas encore supprimé le rôle mid_server du compte ou supprimé le compte.
    • Un compte d’utilisateur polyvalent a été créé et a reçu un grand nombre de rôles, y compris le rôle mid_server, bien que ce compte n’ait jamais été destiné à être utilisé comme compte de serveur MID.

    Utilisateur qui s’authentifie et autorise avec succès, mais qui n’a peut-être pas besoin de mid_server rôle

    Le message suivant s’affiche lorsqu’un utilisateur ayant le rôle mid_server qui n’est pas associé à un Serveur MID se connecte avec succès : Utilisateur <nom d’utilisateur> avec mid_server rôle connecté avec succès, mais pas associé à un Serveur MID. Le rôle mid_server doit être réservé à l’utilisation de Serveur MID uniquement.

    L’include de script MIDUserConnectivity signale les utilisateurs actifs ayant le rôle mid_server qui ne sont pas identifiés comme des utilisateurs de Serveur MID configuré et dont la dernière tentative de connexion a réussi pendant la période planifiée. Ce message suggère que les informations d’identification de l’utilisateur sont utilisées par un administrateur système ou un processus qui n’est pas en cours d’exécution sur un serveur MID. L’hypothèse ici est que le rôle mid_server ne doit être utilisé que pour les applications déployées sur un MID Server. La présence de ce message rappelle à l’administrateur système de supprimer les rôles de mid_server superflus des comptes d’utilisateurs qui n’en ont pas besoin.

    Ce message s’affiche dans la table Problème de serveur MID [ecc_agent_issue] lorsque :
    • L’utilisateur a le rôle mid_server.
    • L’utilisateur n’est pas identifié dans la table Paramètres de configuration du serveur MID [ecc_agent_config] comme l’utilisateur qu’un ou plusieurs serveurs MID sont configurés pour utiliser pour l’authentification et l’autorisation lors de la connexion à l’instance.
    • La table Événements [sysevent] contient des publications montrant que la dernière tentative de connexion associée à l’utilisateur a réussi pendant la période planifiée. La table [sysevent] contient un enregistrement avec les paramètres suivants :
      • Champ Nom d’événement [name] défini sur la connexion.
      • Champ Parm1 [parm1] défini sur le nom de l’utilisateur, correspondant au champ ID d’utilisateur [user_name] dans la table Utilisateurs [sys_user].
    Remarque :
    Le champ Serveur MID [mid_server] de la table Problèmes de Serveur MID [ecc_agent_issue] est vide (=NULL).

    Tester les efforts de rattrapage pour les problèmes de connectivité de l’utilisateur du Serveur MID

    Après avoir tenté de résoudre un problème de connectivité de l’utilisateur qui apparaît dans la table Problème de serveur MID [ecc_agent_issue], vous pouvez tester vos efforts de rattrapage sans avoir à attendre la prochaine période de reporting planifiée en raccourcissant l’intervalle d’échantillonnage.

    Avant de commencer

    Rôle requis : administrateur

    Pourquoi et quand exécuter cette tâche

    Reconfigurez l’intervalle d’échantillonnage à l’aide de cette procédure, puis examinez les résultats dans la table Problème de Serveur MID [ecc_agent_issue]. Vous pouvez définir n’importe quel intervalle de temps pour l’échantillon, mais vous devez définir une fenêtre d’au moins 5 minutes, car il s’agit de l’intervalle par défaut de l’intervalle de mise à jour du serveur MID qui signale son état. La méthode recommandée pour configurer un intervalle d’échantillonnage plus court consiste à copier et modifier le code à partir de la tâche planifiée MIDUserConnectivity, puis à l’exécuter manuellement dans l’utilitaire de script en arrière-plan.
    Avertissement :
    Évitez de modifier le script dans l’enregistrement de calendrier MIDUserConnectivity. Si vous apportez des modifications à cet enregistrement, il ne sera pas mis à jour lors de la mise à niveau de l’instance.

    Procédure

    1. Accédez à la Tout > Définition du système > Travaux planifiés.
    2. Ouvrez la tâche planifiée MIDUserConnectivity.
    3. Copiez cette ligne à partir du champ Exécuter ce script :
      MIDUserConnectivity(0).checkConnectivity(4 * (60 * 60 * 1000)) ;

      Ce code définit l’intervalle d’échantillonnage de 4 heures en millisecondes et désactive le débogage avec la valeur MIDUserConnectivity(0).

    4. Accédez à la Définition du système > Scripts - Arrière-plan.
    5. Collez le code de la tâche planifiée dans le champ Exécuter le script .
    6. Définissez l’intervalle d’échantillonnage sur 5 minutes en modifiant le calcul du temps sur (5 * 60 * 1000).
      La commande modifiée ressemble à ceci : MIDUserConnectivity(0).checkConnectivity (5 * 60 *1000) ;
    7. Cliquez sur Exécuter le script.
    8. Ouvrez l’enregistrement du Serveur MID qui a rencontré le problème et sélectionnez la liste connexe Problèmes de Serveur MID .
      Le problème est mis à jour comme suit :
      • Si le problème persiste, la colonne Nombre est incrémentée et la colonne Dernier détecté affiche la date et l’heure actuelles.
      • Si le problème n’existe plus, le système passe à l’état sur Résolu.
    9. Facultatif : Vous pouvez activer le débogage en sélectionnant un niveau, puis exécuter à nouveau le script pour afficher la répartition pour chaque condition évaluée.
      Utilisez ces paramètres pour sélectionner un niveau de débogage :
      • Pour une vue récapitulative, entrez MIDUserConnectivity(1).
      • Pour une vue détaillée, entrez MIDUserConnectivity(2).

      Pour en savoir plus sur le type d’informations de débogage fournies, reportez-vous à la section Interprétation de la sortie de débogage de l’utilisateur du Serveur MID.