Alerting strategy question #1413
-
Apologies if this has been asked before but I searched and couldn't find anything. My use case is I'll be the owner of a logging ES cluster deployed to k8s via helm, with other teams responsible for creating their own alerts. Because I don't want to have to manage .yaml files and deal with poorly made files resulting in crashes, redeploying all the time, etc, I'm looking for a more static approach when it comes to my end, in particular the alert .yaml files. My thought is to use the ES native functionality to allow 'customers' to configure alerts to write to a dedicated 'alerting' index, and then I'll just use a small subset of .yamls for searching that index and firing to opsgenie or email or whatever channel using elastalert2. I'll supply the customers templates that they can use to send data to the alerting index to ensure they supply the required info such as the alerter, recipients, etc. In theory this will allow tracking/auditing of alert history as well as sending different notifications based on the status of the alert, ie alerting or recovered, potentially flapping as well. Since I haven't been able to find others doing this I'm wondering if I'm missing something obvious as to why one should not do this approach? Any thoughts or recommendations are appreciated. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
I think I see what you're trying to do. You want a single instance of ElastAlert 2 to monitor N number of If that's the intention then yes it would handle this but it would seem that you'd only be making use of half of ElastAlert 2's capabilities. If you look at the project you could say it's half detection and half alerting. The detection capabilities would be mostly unused since it would be up to the customers to ensure they have their own methodology for detecting an issue and creating a record in their alert index. |
Beta Was this translation helpful? Give feedback.
-
In case anyone else stumbles down this path, I'll recommend against it. My initial testing was doing a bit of circular logic and as a result the notifications going out weren't linking back to the search results which triggered the alert, but rather back to the search of the alert index which triggered the notification, which is not of value to the person handling the alert. Instead I plan to use elastalert2 as intended, or potentially Karqls elastalert2-server/elastalert-kibana-plugin though in the limited testing I've done so far can result in crashing of the service if the YAML isn't just right. |
Beta Was this translation helpful? Give feedback.
I think I see what you're trying to do. You want a single instance of ElastAlert 2 to monitor N number of
customer_N_alerts
index for new records, and trigger outbound notifications using ElastAlert 2's numerous alerters. Is that correct?If that's the intention then yes it would handle this but it would seem that you'd only be making use of half of ElastAlert 2's capabilities. If you look at the project you could say it's half detection and half alerting. The detection capabilities would be mostly unused since it would be up to the customers to ensure they have their own methodology for detecting an issue and creating a record in their alert index.