Skip to content
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

Add support for new receivers tied to rebased monitoring to upstream version 50.x #10838

Open
gaktive opened this issue Apr 18, 2024 · 9 comments
Labels
JIRA kind/enhancement QA/dev-automation Issues that engineers have written automation around so QA doesn't have look at this
Milestone

Comments

@gaktive
Copy link
Member

gaktive commented Apr 18, 2024

Observability is working on rancher/rancher#44614 to rebase monitoring to a newer upstream version; in this case 50.x.

There will be new CRDs for alerting, so UI needs to look at it as well. Details TK.

Internal reference: SURE-7884

@gaktive gaktive added this to the v2.9.0 milestone Apr 18, 2024
@github-actions github-actions bot added [zube]: To Triage QA/dev-automation Issues that engineers have written automation around so QA doesn't have look at this labels Apr 18, 2024
@joshmeranda
Copy link

UI Differences

Here is a description of the things that would need to be chagned in in the UI, thanks for your patience!

Pod and Service Monitors

The crds for these resources have changes somewhat. I am not 100% sure how we get the initial yaml for the Create from YAML for the pod and service monitors, so let me know if / what you need from me to get those working.

Alerting Receivers

The main difference here is some new receivers. Shouldn't be anything super new, just different fields but all the same primitive types as the other receivers.

Discord

# Whether to notify about resolved alerts.
[ send_resolved: <boolean> | default = true ]

# The Discord webhook URL.
# webhook_url and webhook_url_file are mutually exclusive.
webhook_url: <secret>
webhook_url_file: <filepath>

# Message title template.
[ title: <tmpl_string> | default = '{{ template "discord.default.title" . }}' ]

# Message body template.
[ message: <tmpl_string> | default = '{{ template "discord.default.message" . }}' ]

# The HTTP client's configuration.
[ http_config: <http_config> | default = global.http_config ]

MSteams

# Whether to notify about resolved alerts.
[ send_resolved: <boolean> | default = true ]

# The incoming webhook URL.
# webhook_url and webhook_url_file are mutually exclusive.
[ webhook_url: <secret> ]
[ webhook_url_file: <filepath> ]

# Message title template.
[ title: <tmpl_string> | default = '{{ template "msteams.default.title" . }}' ]

# Message summary template.
[ summary: <tmpl_string> | default = '{{ template "msteams.default.summary" . }}' ]

# Message body template.
[ text: <tmpl_string> | default = '{{ template "msteams.default.text" . }}' ]

# The HTTP client's configuration.
[ http_config: <http_config> | default = global.http_config ]

Webex

# Whether to notify about resolved alerts.
[ send_resolved: <boolean> | default = true ]

# The Webex Teams API URL i.e. https://webexapis.com/v1/messages
# If not specified, default API URL will be used.
[ api_url: <string> | default = global.webex_api_url ]

# ID of the Webex Teams room where to send the messages.
room_id: <string>

# Message template.
[ message: <tmpl_string> default = '{{ template "webex.default.message" .}}' ]

# The HTTP client's configuration. You must use this configuration to supply the bot token as part of the HTTP `Authorization` header. 
[ http_config: <http_config> | default = global.http_config ]

@gaktive
Copy link
Member Author

gaktive commented Apr 22, 2024

@joshmeranda is there a test build that UI can work off of? And are there example receivers for the 3 new ones to connect to?

@nwmac
Copy link
Member

nwmac commented Apr 22, 2024

We may not need to make any changes - the yaml for the monitors comes from the backend, so as long as that is all good, that should "just work".

For the new alerting destinations, users can use the existing 'custom' option and provider yaml.

^ FYI @gaktive

@gaktive
Copy link
Member Author

gaktive commented Apr 22, 2024

Cool. @nwmac is this ready for pointing then for an upcoming sprint?

@nwmac
Copy link
Member

nwmac commented Apr 25, 2024

Suggestion:

  • Break out Teams and SMS from Webhook and have as top-level
  • Change Webhook to Generic Webhook
  • Add Discord
  • Add Webex

@joshmeranda
Copy link

Sorry for the delay!

We do not have a workable test build as of now I'll let you know once we get something that could work for this. Unfortunately, we also don't have any test receivers fro you to send stuff off to.

@gaktive gaktive changed the title UI connections for rebased monitoring to upstream version 50.x Add support for new receivers tied to rebased monitoring to upstream version 50.x May 10, 2024
@edenhernandez-suse
Copy link

Hi @joshmeranda, I'm checking the specs of the new receivers and they all have a HTTP client's configuration field. In the Webhook -> MS Teams example we currently have a SSL section and an Auth field:

image

image

Is that HTTP client's configuration related to any or both of them?

@gaktive gaktive modified the milestones: v2.9.0, v2.10.0 May 31, 2024
@edenhernandez-suse
Copy link

We want to take this opportunity to fix some issues. We should have a sub-task only for that, not sure how to link it with this one.

The designs are here: Adobe Xd Prototype

@nwmac nwmac modified the milestones: v2.10.0, v2.11.0 Jul 4, 2024
@gaktive gaktive modified the milestones: v2.11.0, v2.10.0 Jul 4, 2024
@nwmac nwmac modified the milestones: v2.10.0, v2.11.0 Sep 26, 2024
@gaktive
Copy link
Member Author

gaktive commented Oct 2, 2024

For reference, rancher/rancher did implement something for 2.9.0 and there's a manual way to use it in the UI as commented above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
JIRA kind/enhancement QA/dev-automation Issues that engineers have written automation around so QA doesn't have look at this
Projects
None yet
Development

No branches or pull requests

4 participants