-
Notifications
You must be signed in to change notification settings - Fork 642
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update keepalived config generation #773
Conversation
* updated `KEEPALIVED-MIB` and `VRRP-MIB` MIB URLs to latest version from upstream * added support for `VRRPv3-MIB` MIB from upstream (new `vrrpv3StatisticsTable` walk) * regenerated `keepalived` section in `snmp.yml` using the above changes Signed-off-by: Hugo Hromic <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, thanks.
Do you think it would be useful to use type: EnumAsStateSet
for vrrpv3StatisticsNewMasterReason
?
The mixin error is likely unrelated to this. |
Happy to contribute to the project!
I'm definitively not an expert on SNMP data and its exposure as Prometheus metrics. In fact, keepalived is the only application I needed to use the SNMP exporter because it doesn't have a native Prometheus exporter. That being said, it looks like For that reason, perhaps that would be better suited in another PR? Especially from someone with more experience than me? Btw, a slightly off-topic question, is there a new version of the SNMP exporter planned in the near future that could include this change and other updates to the |
Yes, it's fine to make that a separate PR. There is no reason you need to wait for a new release to use these changes. You don't need to build a new image to change the file. For Docker, you only need to use a volume mount to map in a custom config file. |
Sounds good! Thanks!
Yes, we are well aware of Docker basic functionality such as volume mounts. However, we use the SNMP exporter inside a cluster with an orchestrator (Swarm mode in our case), not a simple Docker container. This means that mounting a file into a service is quite cumbersome and requires either keeping the file in all nodes or pinning the container to a specific node. Sadly, none of these options is a good idea for maintainability and/or high availability. The alternative would be to deploy the file as a configuration in the orchestrator and then reference it into the stack compose file. However, the Therefore, the only feasible alternative for us (and probably others that run the SNMP exporter in an orchestrator) is to create a custom image with the updated Hope the above helps the argument of releasing a new version of the official image at least with the |
I wasn't aware that Swarm clusters had such limitations. Either way, no, we it doesn't really change our release plans. The included generator.yml / snmp.yml is mostly meant as an example config. Not something meant for general production use. We cut releases for code/binary changes. |
No problem! Your release policy makes sense. And thanks for all the work you guys do in Prometheus et al. It is much appreciated. |
This PR refreshes the Keepalived config generation, i.e. MIB files from upstream (latest stable version
2.2.7
).Summary of changes:
KEEPALIVED-MIB
andVRRP-MIB
MIB URLs to latest version from upstreamVRRPv3-MIB
MIB from upstream (newvrrpv3StatisticsTable
walk)keepalived
section insnmp.yml
using the above changesThese changes were tested with a production instance of Keepalived exposing SNMP metrics.
Changes for
KEEPALIVED-MIB
:Changes for
VRRP-MIB
: unchanged from upstream