Il semble qu'il n'y ait aucun moyen d'extraire des champs avec un .
dans le nom. J'essaie d'utiliser des extracteurs de champs sur nos anciennes données pour créer des champs correspondant aux champs JSON de données plus récents.Splunk - extrait un champ avec point/période
{ "pirate": { "say ": "Shiver me timbers" } }
pirate.say = "Shiver me timbers"
Pour tester cela, vous pouvez faire quelque chose comme ceci:
| metadata type=hosts index=_internal
| head 1
| eval message="Shiver me timbers, goes the pirate"
| table message
| rex field=message "(?<pirate.say>[^,]+)"
Mais tout ce que je reçois de mes efforts est le même message d'erreur à la fois le prototype « Rex » décrit ci-dessus et « Champ page des extractions.
de la 'rex' prototype je reçois:
erreur dans la commande 'Rex': Rencontrés l'erreur suivante lors de la compilation du regex ([^,] +?) ': Regex: erreur de syntaxe dans nom subpattern (terminateur manquant)
des « champs» extractions sur le terrain »Ajouter je reçois:
rencontrés l'erreur suivante en essayant de sauver: Regex: erreur de syntaxe dans le nom subpattern (m issing terminator)
Vous ne savez pas comment résoudre ce problème?
Apparemment, la réponse à ma question est non. Mais je pense que votre réponse est très bonne et pourrait aider quelqu'un d'autre, donc si vous éditez votre réponse et dites non à la partie 'Extracteur de champ', j'accepterai la réponse. – thro