Giter Club home page Giter Club logo

Comments (3)

slok avatar slok commented on July 21, 2024 3

Hi @b0nete!

I think that I know whats happening, your resulting rules don't have the matching rules required by the prom operator like the issue you pointed in #125

This is because you mixed Kubernetes labels and Prometheus labels. Check it:

From this:

apiVersion: sloth.slok.dev/v1
kind: PrometheusServiceLevel
metadata:
  name: sloth-slo-grafana
  namespace: kube-prometheus-stack
spec:
  service: "kube-prometheus-stack-grafana"
  labels:
    app: "kube-prometheus-stack"
    release: "kube-prometheus-stack"
    owner: "myteam"
    repo: "myorg/myservice"
    tier: "2"
  slos:
    - name: "requests-availability"
      objective: 99.9
      description: "Common SLO based on availability for HTTP request responses."
      sli:
        events:
          errorQuery: sum(rate(grafana_http_request_duration_seconds_count{job="kube-prometheus-stack-grafana",status_code=~"(5..|4..)"}[{{.window}}]))
          totalQuery: sum(rate(grafana_http_request_duration_seconds_count{job="kube-prometheus-stack-grafana"}[{{.window}}]))
      alerting:
        name: MyServiceHighErrorRate
        labels:
          category: "availability"
        annotations:
          summary: "High error rate on 'myservice' requests responses"
        pageAlert:
          labels:
            severity: pageteam
            routing_key: myteam
        ticketAlert:
          labels:
            severity: "slack"
            slack_channel: "#alerts-myteam"

To

apiVersion: sloth.slok.dev/v1
kind: PrometheusServiceLevel
metadata:
  name: sloth-slo-grafana
  namespace: kube-prometheus-stack
  labels:
    app: "kube-prometheus-stack"
    release: "kube-prometheus-stack"
spec:
  service: "kube-prometheus-stack-grafana"
  labels:
    owner: "myteam"
    repo: "myorg/myservice"
    tier: "2"
  slos:
    - name: "requests-availability"
      objective: 99.9
      description: "Common SLO based on availability for HTTP request responses."
      sli:
        events:
          errorQuery: sum(rate(grafana_http_request_duration_seconds_count{job="kube-prometheus-stack-grafana",status_code=~"(5..|4..)"}[{{.window}}]))
          totalQuery: sum(rate(grafana_http_request_duration_seconds_count{job="kube-prometheus-stack-grafana"}[{{.window}}]))
      alerting:
        name: MyServiceHighErrorRate
        labels:
          category: "availability"
        annotations:
          summary: "High error rate on 'myservice' requests responses"
        pageAlert:
          labels:
            severity: pageteam
            routing_key: myteam
        ticketAlert:
          labels:
            severity: "slack"
            slack_channel: "#alerts-myteam"

Hope this helps and solves the problem!

from sloth.

slok avatar slok commented on July 21, 2024

👋 Closing due to inactivity, I'll assume it's already solved, if you continue having problems, open the issue again.

from sloth.

b0nete avatar b0nete commented on July 21, 2024

👋 Closing due to inactivity, I'll assume it's already solved, if you continue having problems, open the issue again.

Sorry for the delay!, this works fine, thanks you!
I apologize for mi confusion.

from sloth.

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.