J'ai essayé de configurer la surveillance elastalert
sur ma pile ELK. Pour le début je veux mettre en place une règle simple qui va générer une notification si n'importe quel disque sur le système de fichiers a atteint 80% d'utilisation. La règle semble fonctionner correctement mais dans la section alert
je ne suis pas en mesure de transmettre les données au script python. La commande non commentée dans la section alert
donne l'erreur suivanteImpossible d'accéder aux données dans la section d'alerte d'elastalert
ERROR:root:Error while running alert command: Error formatting command: 'system.filesystem.mount_point'
erreur.
Voici mon fichier de règles. Veuillez excuser le formatage du yaml
.
name: Metricbeat high FS percentage
type: metric_aggregation
es_host: localhost
es_port: 9200
index: metricbeat-*
buffer_time:
minutes: 1
metric_agg_key: system.filesystem.used.pct
metric_agg_type: max
query_key: beat.name.keyword
doc_type: metricsets
bucket_interval:
minutes: 1
realert:
minutes: 2
sync_bucket_interval: true
#allow_buffer_time_overlap: true
#use_run_every_query_size: true
max_threshold: 0.8
filter:
- query:
query_string:
query: "system.filesystem.device_name: dev"
analyze_wildcard: true
- term:
metricset.name: filesystem
# (Required)
# The alert is use when a match is found
alert:
- debug
- command
command: ["/home/ubuntu/sendToSlack.py","beat-name","%(beat.name.keyword)s","used_pc","%(system.filesystem.used.pct_max)s","mount_point","%(system.filesystem.mount_point)s"]
# command: ["/home/ubuntu/sendToSlack.py","--beat-name","{match[beat.name.keyword]}","--mount_point","{match[system.filesystem.mount_point]}"]
# command: ["/home/ubuntu/sendToSlack.py","--beat-name","{match[beat][name]}","--mount_point","{match[system][filesystem][mount_point]}"]
#pipe_match_json: true
#- command:
# command: ["/home/ubuntu/sendToSlack.py","%(system.filesystem.used.bytes)s"]
Quelques observations: sur le test du fichier de règles en utilisant la commande python -m elastalert.test_rule rules/high_fs.yaml
je reçois la sortie
Je devrais être en mesure d'accéder à des domaines mentionnés ci-dessus. Quand je lance cette règle à l'aide une liste est imprimée à l'écran
@timestamp: 2017-10-18T17:15:00Z
beat.name.keyword: my_server_name
num_hits: 98
num_matches: 5
system.filesystem.used.pct_max: 0.823400020599
Je suis en mesure d'accéder à toutes les paires de valeurs clés dans cette liste. Tout ce qui est en dehors de la liste échoue avec l'erreur formatting
. Été bloqué sur cela pour longtemps. Toute aide est appréciée.