-
Notifications
You must be signed in to change notification settings - Fork 3
Grafana Alloy integration #126
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
base: main
Are you sure you want to change the base?
Conversation
ac01daf to
6302009
Compare
6302009 to
5f4224e
Compare
nelsonkopliku
left a comment
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.
@balanza thanks a lot for this! Great job!
I left some comments, the most concerning one is about reachability and authentication of the prometheus write url
| %endif | ||
| ---- | ||
|
|
||
| NOTE: The `sle_version` macro is provided by OBS and contains the SLES version as an integer (e.g., `150000` for SLES 15, `160000` for SLES 16). The `configure-alloy.sh` script is only installed on SLES 16 and later. |
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.
praise: great finding! Would you mind sharing the reference to where this is documented please?
| Wants=alloy.service | ||
| After=alloy.service |
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.
thought:
currently agent spec defines
Recommends: golang-github-prometheus-node_exporterhttps://github.com/trento-project/agent/blob/main/packaging/suse/trento-agent.spec#L33
Would it make sense to have a conditional reccomendation based on SLES version?
if sles < 16
recommends exporter
else if sles >= 16
recommends alloy
| chmod 640 "${ALLOY_CONFIG_FILE}" | ||
|
|
||
| # Reload Alloy to pick up the new configuration | ||
| systemctl reload alloy |
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.
issue: if the configure-alloy.sh script is going to be executed in ExecStartPre we need to be mindful about the fact that alloy service might not be available and systemctl reload alloy would fail, right?
| facts-service-url: amqp://guest:guest@localhost:5672 | ||
|
|
||
| # Alloy configuration options | ||
| prometheus-url: https://trento.example.com/api/v1/write |
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.
question:
If I get it right /api/v1/write is what a <prometheus-instance> exposes.
How should the prometheus write api be reachable by alloy?
- directly via the
<prometheus-instance>address? - via trento proxy (nginx/ingress)
Asking because it might have implications for the authentication and I am wondering to what extent trento should be responsible for that authentication.
This RFC should serve as a blueprint for integrating system metrics with Prometheus on Grafana Alloy-based system.
The integration is needed because SLES >= 16 does not ship
node_expoteranymore; instead, the default collector tool is Grafana Alloy.The main goal of the RFC is to reach feature parity with the current solution both in terms of collected metrics and user experience.