Giter VIP home page Giter VIP logo

Comments (11)

fourstepper avatar fourstepper commented on August 16, 2024 1

I wouldn't cover that for now, tbh

from osko.

weyert avatar weyert commented on August 16, 2024

I think it would make sense to convert a semantic severity to the Opsgenie or PagerDuty representation of the severity. E.g. always define it in critical, high, low etc. You could then map critical to SEV-1 for PagerDuty and P1 for OpsGenie

from osko.

fourstepper avatar fourstepper commented on August 16, 2024

That's an interesting idea, although I'm a bit worried about keeping OSKO up to date with all available providers and their severity levels.

To make it more clear for an outside perspective - we are trying to implement the multi-window, multi-burn-rate alerting here in an automatic fashion based on an existing SLO. In theory (and in our practice) having this as a config option would be good enough, but other usecases might differ.

from osko.

Hy3n4 avatar Hy3n4 commented on August 16, 2024

I would use the defaults as critical, high-fast, high-slow, low, and no_slo. This is taken from the SRE book from the alerting chapter. They are using it to sort the SLOs, but we can also use it as a default severities.

from osko.

Hy3n4 avatar Hy3n4 commented on August 16, 2024

Do we think we'll ever need to use more than one alerting tool at a time? 🤔

from osko.

fourstepper avatar fourstepper commented on August 16, 2024

The defaults are one thing, but how to configure these is a whole other thing that I think is the bigger issue here 🤔

Regarding your question, that's really hard to say. I would focus on supporting one at a time for now. If we can stay backwards compatible with supporting one, setting the various severities in the config, for example, we can always add an option of multiple ones down the line.

from osko.

Hy3n4 avatar Hy3n4 commented on August 16, 2024

something like this?

type AlertSeverities struct {
	Critical string
	HighFast string
	HighSlow string
	Low      string
	NoSlo    string
}

alertingTools := []AlertingTool{
    {
	    Name: "opsgenie",
	    SeverityMap: map[string]string{
		    "critical":  "P1",
		    "high-fast": "P2",
		    "high-slow": "P3",
		    "low":       "P4",
		    "no-slo":    "P5",
	    },
    },
    {
	    Name: "pagerduty",
	    SeverityMap: map[string]string{
		    "critical":  "SEV-1",
		    "high-fast": "SEV-2",
		    "high-slow": "SEV-3",
		    "low":       "SEV-4",
		    "no-slo":    "SEV-5",
	    },
    },
}

from osko.

fourstepper avatar fourstepper commented on August 16, 2024

Eh, I mean I guess we could do that :) Alternatively, we could just set this in the internal/config/config.go

from osko.

Hy3n4 avatar Hy3n4 commented on August 16, 2024

Yes, I copy-pasted it from that file :D

from osko.

fourstepper avatar fourstepper commented on August 16, 2024

Yeah, makes sense. Just not sure if we want to map these out directly.

Alternatively, we could have some "custom" type for those not using either of the ones we support (like opsgenie and pagerduty from the above example)

from osko.

Hy3n4 avatar Hy3n4 commented on August 16, 2024

we can allow configuring it through the env vars, but it would not cover the cases where there is a need for multiple alerting tools for one triggered alert.

from osko.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.