Connect à une source de données Splunk - Amazon Managed Grafana

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Connect à une source de données Splunk

Note

Cette source de données est réservée à Grafana Enterprise. Pour plus d’informations, consultez Gérer l'accès aux plug-ins d'entreprise.

En outre, dans les espaces de travail qui prennent en charge la version 9 ou une version plus récente, cette source de données peut nécessiter l'installation du plug-in approprié. Pour plus d’informations, consultez Étendez votre espace de travail avec des plugins.

Configuration

Configuration de source de données

Lorsque vous configurez la source de données, assurez-vous que le champ URL utilise le port Splunk que vous avez configuré https et pointe vers celui-ci. Le point d'API Splunk par défaut est 8089, et non 8000 (il s'agit du port d'interface utilisateur Web par défaut). Activez l'authentification de base et spécifiez le nom d'utilisateur et le mot de passe Splunk.

Mode d'accès (direct) au navigateur et CORS

Amazon Managed Grafana ne prend pas en charge l'accès direct par navigateur à la source de données Splunk.

Options avancées

Mode de diffusion

Activez le mode streaming si vous souhaitez obtenir les résultats de recherche dès qu'ils sont disponibles. Il s'agit d'une fonctionnalité expérimentale, ne l'activez pas tant que vous n'en avez pas vraiment besoin.

Résultat du sondage

Lancez la recherche, puis vérifiez régulièrement le résultat. Sous le capot, cette option exécute un appel d'search/jobsAPI avec exec_mode défini surnormal. Dans ce cas, la demande d'API renvoie le SID de la tâche, puis Grafana vérifie l'état de la tâche de temps en temps afin d'obtenir le résultat de la tâche. Cette option peut être utile pour les requêtes lentes. Par défaut, cette option est désactivée et Grafana définit oneshot ce qui permet exec_mode de renvoyer le résultat de la recherche dans le même appel d'API. Pour en savoir plus sur le point de terminaison de search/jobs l'API, consultez la documentation Splunk.

Intervalle d'interrogation de recherche

Cette option permet d'ajuster la fréquence à laquelle Amazon Managed Grafana interroge Splunk pour obtenir des résultats de recherche. C'est l'heure du prochain sondage, en choisissant au hasard parmi l'intervalle [min, max)]. Si vous effectuez de nombreuses recherches intensives, il est judicieux d'augmenter ces valeurs. Conseils : augmentez le minimum si l'exécution des tâches de recherche prend du temps, et le maximum si vous effectuez de nombreuses recherches parallèles (beaucoup de statistiques Splunk sur le tableau de bord Grafana). L'intervalle par défaut est de [500, 3000] millisecondes.

Annulation automatique

Si cette option est spécifiée, la tâche est automatiquement annulée après ces nombreuses secondes d'inactivité (0 signifie ne jamais être annulée automatiquement). La valeur par défaut est 30.

Buckets de statut

Le plus grand nombre de compartiments de statut à générer. 0 indique qu'il ne faut pas générer d'informations chronologiques. La valeur par défaut est 300.

Mode de recherche de champs

Lorsque vous utilisez l'éditeur de requêtes visuel, la source de données tente d'obtenir la liste des champs disponibles pour le type de source sélectionné.

  • rapide - utilise le premier résultat disponible depuis l'aperçu

  • complet - attendez la fin du travail et obtenez le résultat complet.

Heure la plus proche par défaut

Certaines recherches ne peuvent pas utiliser la plage horaire du tableau de bord (comme les requêtes de variables de modèle). Cette option permet d'empêcher toute recherche permanente, ce qui peut ralentir Splunk. La syntaxe est un entier et une unité de temps[+|-]<time_integer><time_unit>. Par exemple -1w. L'unité de temps peut êtres, m, h, d, w, mon, q, y.

Mode de recherche de variables

Mode de recherche pour les requêtes de variables de modèle. Valeurs possibles :

  • rapide - Découverte des champs désactivée pour les recherches d'événements. Aucune donnée d'événement ou de champ pour les recherches de statistiques.

  • smart - La découverte de champs est activée pour les recherches d'événements. Aucune donnée d'événement ou de champ pour les recherches de statistiques.

  • verbose - Toutes les données relatives aux événements et aux champs.

Utilisation

Éditeur de requête

Modes de l'éditeur

L'éditeur de requêtes prend en charge deux modes : brut et visuel. Pour passer d'un mode à l'autre, choisissez l'icône du hamburger sur le côté droit de l'éditeur et sélectionnez Basculer en mode éditeur.

Mode brut

Utilisez timechart la commande pour les données de séries chronologiques, comme indiqué dans l'exemple de code suivant.

index=os sourcetype=cpu | timechart span=1m avg(pctSystem) as system, avg(pctUser) as user, avg(pctIowait) as iowait index=os sourcetype=ps | timechart span=1m limit=5 useother=false avg(cpu_load_percent) by process_name

Les requêtes prennent en charge les variables de modèle, comme illustré dans l'exemple suivant.

sourcetype=cpu | timechart span=1m avg($cpu)

N'oubliez pas que Grafana est une application axée sur les séries chronologiques et que votre recherche doit renvoyer des données de séries chronologiques (horodatage et valeur) ou une valeur unique. Vous pouvez en savoir plus sur la commande timechart et trouver d'autres exemples de recherche dans le document de référence officiel de Splunk Search

Splunk Metrics et mstats

Splunk 7.x fournit une mstats commande pour analyser les métriques. Pour que les graphiques fonctionnent correctementmstats, ils doivent être combinés avec une timeseries commande et prestats=t une option doivent être définies.

Deprecated syntax: | mstats prestats=t avg(_value) AS Value WHERE index="collectd" metric_name="disk.disk_ops.read" OR metric_name="disk.disk_ops.write" by metric_name span=1m | timechart avg(_value) span=1m by metric_name Actual: | mstats prestats=t avg(disk.disk_ops.read) avg(disk.disk_ops.write) WHERE index="collectd" by metric_name span=1m | timechart avg(disk.disk_ops.read) avg(disk.disk_ops.write) span=1m

Pour en savoir plus sur les mstats commandes, consultez le document Splunk Search Reference.

Formater comme

Deux modes de format de résultat sont pris en charge : Série chronologique (par défaut) et Tableau. Mode tableau adapté à une utilisation avec le panneau Tableau lorsque vous souhaitez afficher des données agrégées. Cela fonctionne avec les événements bruts (renvoie tous les champs sélectionnés) et la fonction stats de recherche, qui renvoie des données de type tableau. Exemples :

index="os" sourcetype="vmstat" | fields host, memUsedMB index="os" sourcetype="ps" | stats avg(PercentProcessorTime) as "CPU time", latest(process_name) as "Process", avg(UsedBytes) as "Memory" by PID

Le résultat est similaire à celui de l'onglet Statistiques de l'interface utilisateur de Splunk.

Pour en savoir plus sur l'utilisation des stats fonctions, consultez Splunk Search Reference.

Mode visuel

Ce mode permet step-by-step de créer des recherches. Notez que ce mode crée une recherche timechart Splunk. Sélectionnez simplement l'index, le type de source et les métriques, et définissez le fractionnement par champs si vous le souhaitez.

Métrique

Vous pouvez ajouter plusieurs indicateurs à rechercher en cliquant sur le bouton Plus sur le côté droit de la ligne des indicateurs. L'éditeur de mesures contient la liste des agrégations fréquemment utilisées, mais vous pouvez spécifier ici n'importe quelle autre fonction. Choisissez simplement un segment agg (avgpar défaut) et saisissez ce dont vous avez besoin. Sélectionnez le champ intéressé dans la liste déroulante (ou saisissez-le) et définissez un alias si vous le souhaitez.

Séparé par et où

Si vous définissez Fractionner par champ et que vous utilisez le mode Série chronologique, l'éditeur Where sera disponible. Choisissez plus et sélectionnez l'opérateur, l'agrégation et la valeur, par exemple Where avg in top 10. Notez que cette clause Where fait partie de Split by. Pour en savoir plus, consultez Timechart Docs.

Options

Pour modifier les options du diagramme chronologique par défaut, choisissez Options sur la dernière ligne.

Pour en savoir plus sur ces options, consultez la documentation du chronogramme.

Choisissez la lettre cible sur la gauche pour réduire l'éditeur et afficher la recherche Splunk rendue.

Annotations

Utilisez des annotations si vous souhaitez afficher les alertes ou les événements Splunk sur un graphique. L'annotation peut prendre la forme d'une alerte Splunk prédéfinie ou d'une recherche Splunk classique.

Alerte Splunk

Spécifiez un nom d'alerte ou laissez le champ vide pour obtenir toutes les alertes déclenchées. Les variables de modèle sont prises en charge.

Utilisez Splunk Search pour obtenir les événements nécessaires, comme illustré dans l'exemple suivant.

index=os sourcetype=iostat | where total_ops > 400 index=os sourcetype=iostat | where total_ops > $io_threshold

Les variables de modèle sont prises en charge.

L'option Champ d'événement sous forme de texte convient si vous souhaitez utiliser la valeur du champ comme texte d'annotation. L'exemple suivant montre le texte des messages d'erreur provenant des journaux.

Event field as text: _raw Regex: WirelessRadioManagerd\[\d*\]: (.*)

Regex permet d'extraire une partie du message.

Variables du modèle

La fonctionnalité des variables de modèle prend en charge les requêtes Splunk qui renvoient une liste de valeurs, par exemple avec une stats commande.

index=os sourcetype="iostat" | stats values(Device)

Cette requête renvoie la liste des valeurs des Device champs à partir de iostat la source. Vous pouvez ensuite utiliser ces noms de périphériques pour les requêtes de séries chronologiques ou les annotations.

Il existe deux types de requêtes variables qui peuvent être utilisées dans Grafana. La première est une requête simple (telle que présentée précédemment), qui renvoie une liste de valeurs. Le second type est une requête qui peut créer une variable clé/valeur. La requête doit renvoyer deux colonnes nommées _text et_value. La valeur de la _text colonne doit être unique (si elle ne l'est pas, c'est la première valeur qui est utilisée). Les options de la liste déroulante comporteront un texte et une valeur afin que vous puissiez avoir un nom convivial sous forme de texte et un identifiant comme valeur.

Par exemple, cette recherche renvoie un tableau avec des colonnes Name (nom du conteneur Docker) et Id (identifiant du conteneur).

source=docker_inspect | stats count latest(Name) as Name by Id | table Name, Id

Pour utiliser le nom du conteneur comme valeur visible pour la variable et l'identifiant comme valeur réelle, la requête doit être modifiée, comme dans l'exemple suivant.

source=docker_inspect | stats count latest(Name) as Name by Id | table Name, Id | rename Name as "_text", Id as "_value"

Variables à valeurs multiples

Il est possible d'utiliser des variables à valeurs multiples dans les requêtes. Une recherche interpolée dépendra du contexte d'utilisation variable. Le plugin prend en charge un certain nombre de ces contextes. Supposons qu'il existe une variable $container avec des valeurs sélectionnées foo et que bar :

  • Filtre de base pour la search commande

    source=docker_stats $container => source=docker_stats (foo OR bar)
  • Filtre de valeur de champ

    source=docker_stats container_name=$container => source=docker_stats (container_name=foo OR container_name=bar)
  • Filtre de valeur de champ avec IN opérateur et fonction in()

    source=docker_stats container_name IN ($container) => source=docker_stats container_name IN (foo, bar) source=docker_stats | where container_name in($container) => source=docker_stats | where container_name in(foo, bar)

Variables à valeurs multiples et guillemets

Si une variable est placée entre guillemets (doubles ou simples), ses valeurs seront également entre guillemets, comme dans l'exemple suivant.

source=docker_stats container_name="$container" => source=docker_stats (container_name="foo" OR container_name="bar") source=docker_stats container_name='$container' => source=docker_stats (container_name='foo' OR container_name='bar')