You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
One of the patterns that I think is making our startup process more difficult is how we specify the cloud provider and the specific metrics we want to scrape for the provider. Today we'd have something like:
./cloudcost-exporter -provider=${PROVIDER} [args]
The idea was to limit to a single cloud provider and then have arguments that were kind of specific to each one. However as the application has grown, I think this is fairly cumbersome both from the code perspective and using it. It means we can only target one CSP at any given time, and that's fine in production but can be cumbersome for local development. Ideally the application should run if it's able to.
When working with applications, you should aim for an exporter that requires no custom configuration by the user beyond telling it where the application is. You may also need to offer the ability to filter out certain metrics if they may be too granular and expensive on large setups, for example the HAProxy exporter allows filtering of per-server stats. Similarly, there may be expensive metrics that are disabled by default.
As such we should aim to simplify our configuration as much as possible.
The content you are editing has changed. Please copy your edits and refresh the page.
As part of my efforts to improve the exporter command, I've created a
config struct to handle accepted input from the users. This will enable
us to further simplify the way we instantiate providers in the future.
- refs #2
Signed-off-by: pokom <[email protected]>
One of the patterns that I think is making our startup process more difficult is how we specify the cloud provider and the specific metrics we want to scrape for the provider. Today we'd have something like:
The idea was to limit to a single cloud provider and then have arguments that were kind of specific to each one. However as the application has grown, I think this is fairly cumbersome both from the code perspective and using it. It means we can only target one CSP at any given time, and that's fine in production but can be cumbersome for local development. Ideally the application should run if it's able to.
Prometheus's instrumentating documentation provides a pretty good reference on what we should be aiming for:
As such we should aim to simplify our configuration as much as possible.
Tasks
The text was updated successfully, but these errors were encountered: