Utiliser Connexion au flux for Apache Kafka
Connectez votre Apache Kafka environnement à votre ServiceNow instance avec Connexion au flux pour Apache Kafka.
Apache Kafka est une plateforme distribuée de streaming d’événements qui fournit un moyen unifié d’échanger des données sur plusieurs systèmes. Connexion au flux pour Apache Kafka relie votre environnement Kafka à votre ServiceNow instance, ce qui vous permet de diffuser des données entre votre instance et vos systèmes externes.
Avantages
-
Publiez et traitez les événements Kafka à grande échelle. Publiez des événements dans votre environnement Kafka à partir de votre ServiceNow instance et consommez des événements Kafka à partir de vos systèmes externes à un volume élevé avec une faible latence.
- Créez des flux qui produisent et consomment des événements Kafka. Connexion au flux est intégré à Studio de workflow, fournissant un moyen low-code de publier et de traiter des messages Kafka.
- Importez des données à partir de votre environnement Kafka et traitez-les à l’aide de vos configurations existantes de moteur de transformation robuste (RTE) ou de carte de transformation.
- Configurez un consommateur qui utilise vos propres scripts pour traiter les données d’une rubrique Kafka.
- Surveillez les performances de vos consommateurs grâce à des rapports détaillés sur les statistiques et les mesures de performance.
- Intégrez votre instance sur site ServiceNow à votre environnement Kafka local avec Direct Kafka.
Terminologie
Connexion au flux utilise les termes suivants.
- Producteurs
-
Un producteur publie des événements dans un environnement Kafka. Connexion au flux a deux producteurs.
- Étape du producteur Kafka Studio de workflow
- ProducerV2 API
- Consommateurs
-
Un consommateur lit et traite les événements à partir d’un environnement Kafka. Connexion au flux a plusieurs consommateurs.
- Déclencheur de message Kafka dans Studio de workflow
- Consommateur d’extraction de chargement de transformation (ETL)
- Consommateur de carte de transformation
- Consommateur de script
- Rubriques et espaces de noms des rubriques
-
Les événements sont organisés et stockés dans des rubriques. Une rubrique stocke les événements du même type. Les rubriques sont partitionnées. Les événements ont une clé. Les événements avec la même clé sont stockés dans la même partition.
Les rubriques sont liées à un espace de noms de rubrique. Vous pouvez utiliser des espaces de noms pour organiser les rubriques de manière logique. Par exemple, vous pouvez regrouper des rubriques en fonction de leur cluster Kafka. Vous pouvez également utiliser des espaces de noms pour configurer quels domaines peuvent accéder à quelles rubriques sur une instance séparée par domaine. Pour plus d'informations, consultez .
- Alias de rubriques
- Un alias de rubrique est un nom de rubrique unique qui peut être connecté à n’importe quelle rubrique sous-jacente Hermes ou directe Kafka. Un alias de rubrique peut être déplacé vers différentes instances et connecté à une rubrique sous-jacente différente sur chaque instance.
- Abonnements
-
Un abonnement est un enregistrement associé à un consommateur. Il stocke des informations de configuration sur le consommateur, telles que le nom de la rubrique Kafka à partir de laquelle utiliser les messages et le nombre de partitions de la rubrique. L’enregistrement de l’abonnement est créé lorsqu’un flux Kafka est activé.
Chaque enregistrement d’abonnement comporte plusieurs mesures qui vous permettent d’afficher les performances du consommateur lisant à partir de la rubrique. Pour plus d'informations, consultez Affichage des abonnements et des statistiques Kafka.
- Groupes de partitions
-
Un groupe de partitions est un ensemble de partitions de rubriques. Par exemple, si une rubrique comporte six partitions, elles peuvent être divisées en trois groupes de partitions, avec deux partitions dans chaque groupe.
- Tâche de consommateur Kafka
-
Une tâche qui vérifie régulièrement Hermes pour détecter tout nouvel événement dans une rubrique. La tâche choisit un groupe de partitions libre et récupère son abonnement. L’abonnement donne le nom de la rubrique et la tâche vérifie les partitions pour les messages de cette rubrique.
- Flux Kafka
-
Un flux Kafka est un enregistrement qui définit le flux de données pour un consommateur. Si vous utilisez le déclencheur Message Kafka dans Studio de workflow, le flux Kafka est automatiquement créé pour vous. Si vous utilisez un autre consommateur, vous devez en créer un manuellement.
Pour lier votre environnement Kafka à votre ServiceNow instance, Connexion au flux utilise le fichier Service de messagerie Hermes. Cela Service de messagerie Hermes permet à votre instance de produire et de consommer de grands volumes d’événements Kafka. Il gère le flux de données entre votre environnement Kafka et votre instance. Pour plus d’informations, consultez Service de messagerie Hermes.
Le diagramme suivant montre certains des composants clés de .Connexion au flux
Utilisation de Configuration guidée pour Connexion au flux
La configuration guidée fournit une séquence de tâches qui peuvent vous aider à configurer Connexion au flux. Pour ouvrir la configuration guidée, accédez à .
Pour plus d’informations sur l’utilisation de l’interface de configuration guidée, voir Utilisation de la configuration guidée.
Connexion au flux et Studio de workflow
Créez des flux qui produisent et consomment des événements Kafka avec Connexion au flux et Studio de workflow. Connexion au flux dispose d’un déclencheur de flux pour la consommation d’événements Kafka et d’une étape d’action pour les produire.
Utilisez le déclencheur de message Kafka pour créer des flux qui traitent les événements Kafka. Vous pouvez créer un flux qui consomme des données de Kafka et les insère dans une table, ou utiliser des spokes pour communiquer les données à des environnements tiers.
Le déclencheur est activé lorsque le flux est activé. Une fois activé, le déclencheur démarre le flux chaque fois qu’il y a un message dans la rubrique Kafka spécifiée. Lorsque vous utilisez le déclencheur de message Kafka, vous n’avez pas besoin de créer un enregistrement de flux ou d’abonnement Kafka. Le système crée automatiquement les deux lorsque le flux est activé. Les messages sont lus à partir de la rubrique tant que le flux est actif.
Utilisez l’étape Créateur Kafka pour créer des actions qui publient des événements dans une rubrique de votre environnement Kafka. Par exemple, vous pouvez utiliser cette étape pour créer un message sur une mise à jour d’un incident dans ServiceNow, puis transmettre le message à une rubrique de votre environnement Kafka.
Direct Kafka
Intégrez votre instance sur site ServiceNow à votre environnement Kafka local avec Direct Kafka. Créez des intégrations efficaces entre vos systèmes d’entreprise, permettant des intégrations robustes et à grand volume pour échanger des données entre les applications, et réduisez les pertes de données grâce au mécanisme de mise en file d’attente si un environnement est temporairement hors ligne.
Avec Direct Kafka, vous pouvez configurer une connexion Kafka personnalisée à intégrer Connexion au flux sur votre instance sur site à votre environnement Kafka local. Cette connexion vous permet d’utiliser Connexion au flux directement ses fonctionnalités, sans avoir besoin de l’ou d’un Service de messagerie Hermes réplicateur de message distinct.
Connexion au flux Alerte
Recevez des alertes et des notifications d’alerte pour Connexion au flux les intégrations. Connexion au flux Utilise une surveillance active et planifiée pour détecter des événements dans plusieurs composants. Si un problème est détecté, le système crée une alerte, consigne un message dans le Connexion au flux journal et envoie une notification d’alerte. Pour plus de détails, voir Connexion au flux Alerte.
Prise en charge des messages au format Avro
Importez et créez des schémas pour envoyer et recevoir des messages au Apache format Avro. L’utilisation d’un format Avro peut réduire la taille de la charge utile et simplifier votre intégration à votre instance Kafka locale.
Vous pouvez importer des schémas Avro directement à partir du registre Confluent, ou vous pouvez créer vos propres schémas à l’aide d’un fichier JSON ou d’une chaîne au format JSON. Les schémas sont stockés et ServiceNow permettent à vos producteurs et consommateurs de convertir des messages en texte brut au format Avro et inversement. Pour plus de détails, voir Gestion des schémas dans Connexion au flux.
Consommateurs ETL, de carte de transformation et de script
Importez des données à partir de votre environnement Kafka à l’aide de vos configurations RTE ou de carte de transformation existantes. Les consommateurs ETL (Extract Transform Load) et Transform Map simplifient vos importations de données en fournissant un moyen efficace de prendre une charge utile d’un message Kafka, de transformer les données et d’insérer ou de mettre à jour un enregistrement dans une table. Vous pouvez passer d’une importation de données planifiée à une importation à l’aide de Connexion au flux et traiter les données avec les mêmes configurations.
Vous pouvez également utiliser Script Consumer (Consommateur de script) pour traiter les données de votre environnement Kafka. Le consommateur de script est destiné aux cas d’utilisation plus avancés, par exemple lorsque les données du message ne sont pas structurées ou lorsqu’il nécessite des recherches de données à l’aide de code.
Lorsque vous Configurer un consommateur ETL (Extract Transform Load), Configurer un consommateur de carte de transformation ou Configurer un consommateur de script, vous devez Créer un flux Kafkaégalement .
ProducerV2 API
Publiez des événements dans une rubrique Kafka avec l’API ProducerV2.
Connexion au flux Réplication de messages
Vous pouvez répliquer des données entre votre environnement Kafka et ServiceNow la Connexion au flux réplication de messages.
Connexion au flux La réplication de messages vous permet de configurer et de gérer les réplications de messages directement à partir de votre ServiceNow instance. Il utilise un Serveur MID cluster ou Serveur MID pour exécuter les réplications de données, vous n’avez donc pas besoin de configurer ou d’héberger des services de réplication supplémentaires. Il simplifie également la configuration de la réplication des messages en générant automatiquement les certificats requis.
Pour plus d'informations, consultez Connexion au flux Réplication de messages.
Connexion au flux Journaux
Les messages du journal pour les producteurs et les consommateurs sont stockés dans la Connexion au flux table Journaux [sys_consumer_log]. Chaque entrée de journal indique la date de création du journal ; son niveau, son message et sa source ; et des liens vers tous les enregistrements d’alerte ou d’abonnement connexes.
Vous pouvez activer une journalisation plus détaillée en ajoutant la propriété système glide.ih.kafka.stream_connect.debug et en la définissant sur vrai. Pour éviter de remplir les journaux, cette propriété est automatiquement désactivée au bout de 24 heures. Si vous avez besoin d’une journalisation détaillée pendant plus de 24 heures, vous pouvez réactiver la propriété manuellement.
Messages non traités et non remis
Si un message ne peut pas être remis, il est stocké dans la table Messages non remis Kafka [sys_kafka_undelivered_messages]. Un travail planifié, Kafka Producer Retry, lit régulièrement cette table et tente de renvoyer tous les messages.
Si un lot de messages ne peut pas être traité car il a expiré, il est stocké dans la table Messages non traités Kafka [sys_kafka_unprocessed_messages]. Le délai d’expiration d’un lot de messages peut être défini avec la com.glide.kafka_consumer.timeout propriété. La valeur par défaut est de 60 secondes. Cette table est une table pivotée, elle nettoie donc automatiquement les enregistrements.
Formats de compression du producteur
- AUCUN
- Le code GZIP
- LZ4
Séparation de domaine
Utilisez Connexion au flux des espaces de noms de rubriques pour configurer les domaines pouvant accéder à une rubrique Kafka sur une instance séparée par domaine. Regroupez les rubriques dans des espaces de ServiceNow noms, puis liez les espaces de noms à des domaines spécifiques. Pour plus d'informations, consultez Séparation de domaine et Connexion au flux.
Diagramme d’architecture
Le diagramme suivant montre les composants clés de Connexion au flux, comment ils sont liés aux ServiceNow applications tierces et comment elles se connectent à votre environnement Kafka via Hermes.
Module d'extension
Connexion au flux nécessite le module d’extension ServiceNow Connexion au flux Programme d’installation [com.glide.hub.stream_connect.installer]. Ce module d’extension permet aux composants sous licence d’utiliser des données de diffusion en continu basées sur des messages dans Connexion au flux.
Exemple de cas d’utilisation
Une entreprise de télécommunications surveille des millions de réseaux, d’appareils et de systèmes et d’équipements d’exploitation des installations. Les systèmes de surveillance génèrent des millions d’alertes qui doivent être traitées et traitées afin de maintenir des réseaux pleinement opérationnels.
Les messages sont poussés en interne des sources de surveillance vers leur environnement Kafka. De là, ils sont répliqués dans le ServiceNow cluster Hermes Kafka. Cela déclenche les consommateurs de script qui lisent les messages et analysent les données dans les en-têtes, les clés et les charges utiles pour saisir efficacement de nouveaux enregistrements dans la table Événement.
Les options connexes du produit TSOM traitent les données d’événement, créant rapidement et efficacement des incidents et des commandes de travaux sur le terrain pour la résolution du problème, ce qui réduit le délai de résolution du problème.
- Hypothèses clés et critères de décision
-
- Le volume de données est incrémentiel et fréquent.
- Les données comprennent des messages sur une variété d’appareils provenant de divers outils.
- Précisez si les données incluent uniquement des éléments de l’enregistrement primaire ou si elles incluent également des éléments d’enregistrements connexes.
- Confirmez si l’importation de données est associée à une automatisation de processus.
- Conseil
-
- Définissez des rubriques avec une convention de dénomination pour diriger clairement le traitement des messages. Par exemple, si les données proviennent d’une source d’outil de surveillance Solarwinds, la rubrique peut être nommée sn_streamconnect.solarwinds. Les rubriques se trouvent dans le navigateur sous .
- Lorsque vous produisez des messages vers Kafka (et répliquez-les vers Hermès), définissez et utilisez des clés pour garantir l’ordre de remise et de traitement des messages. Par exemple, pour vous assurer que les messages sont conservés dans l’ordre, utilisez l’ID de l’appareil comme valeur clé pour les conserver ensemble pour le traitement.
- Utilisez des en-têtes, des clés et des attributs de charge utile pour permettre la mise à l’échelle et l’analyse efficace des messages entrants provenant de plusieurs sources.
- Utilisez un consommateur de script ou un consommateur de déclencheur de flux pour l’ingestion de données transactionnelles. En suivant l’exemple, le consommateur de script pourrait être nommé de la même manière, par exemple « Consommateur de script Solarwinds ». Les consommateurs de script se trouvent dans le navigateur sous .
- Le script consommateur de script analyse le contenu du message pour identifier l’appareil auquel le message était lié et le traite en conséquence.Remarque :Le code ci-dessus est un exemple partiel et représentatif axé sur l’ingestion et l’analyse des données de message pour remplir les enregistrements de table. Il est destiné à être utile pour guider une implémentation.
- Définissez des rubriques avec une convention de dénomination pour diriger clairement le traitement des messages. Par exemple, si les données proviennent d’une source d’outil de surveillance Solarwinds, la rubrique peut être nommée sn_streamconnect.solarwinds. Les rubriques se trouvent dans le navigateur sous .