@@ -745,6 +745,62 @@ func TestObjective_Burnrates(t *testing.T) {
745
745
}, {
746
746
name : "apiserver-write-response-errors" ,
747
747
slo : objectiveAPIServerRatio (),
748
+ rules : monitoringv1.RuleGroup {
749
+ Name : "apiserver-write-response-errors" ,
750
+ Interval : monitoringDuration ("30s" ),
751
+ Rules : []monitoringv1.Rule {{
752
+ Record : "apiserver_request:burnrate3m" ,
753
+ Expr : intstr .FromString (`sum(rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[3m])) / sum(rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[3m]))` ),
754
+ Labels : map [string ]string {"job" : "apiserver" , "slo" : "apiserver-write-response-errors" },
755
+ }, {
756
+ Record : "apiserver_request:burnrate15m" ,
757
+ Expr : intstr .FromString (`sum(rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[15m])) / sum(rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[15m]))` ),
758
+ Labels : map [string ]string {"job" : "apiserver" , "slo" : "apiserver-write-response-errors" },
759
+ }, {
760
+ Record : "apiserver_request:burnrate30m" ,
761
+ Expr : intstr .FromString (`sum(rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[30m])) / sum(rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[30m]))` ),
762
+ Labels : map [string ]string {"job" : "apiserver" , "slo" : "apiserver-write-response-errors" },
763
+ }, {
764
+ Record : "apiserver_request:burnrate1h" ,
765
+ Expr : intstr .FromString (`sum(rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[1h])) / sum(rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[1h]))` ),
766
+ Labels : map [string ]string {"job" : "apiserver" , "slo" : "apiserver-write-response-errors" },
767
+ }, {
768
+ Record : "apiserver_request:burnrate3h" ,
769
+ Expr : intstr .FromString (`sum(rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[3h])) / sum(rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[3h]))` ),
770
+ Labels : map [string ]string {"job" : "apiserver" , "slo" : "apiserver-write-response-errors" },
771
+ }, {
772
+ Record : "apiserver_request:burnrate12h" ,
773
+ Expr : intstr .FromString (`sum(rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[12h])) / sum(rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[12h]))` ),
774
+ Labels : map [string ]string {"job" : "apiserver" , "slo" : "apiserver-write-response-errors" },
775
+ }, {
776
+ Record : "apiserver_request:burnrate2d" ,
777
+ Expr : intstr .FromString (`sum(rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[2d])) / sum(rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[2d]))` ),
778
+ Labels : map [string ]string {"job" : "apiserver" , "slo" : "apiserver-write-response-errors" },
779
+ }, {
780
+ Alert : "ErrorBudgetBurn" ,
781
+ Expr : intstr .FromString (`apiserver_request:burnrate3m{job="apiserver",slo="apiserver-write-response-errors"} > (14 * (1-0.99)) and apiserver_request:burnrate30m{job="apiserver",slo="apiserver-write-response-errors"} > (14 * (1-0.99))` ),
782
+ For : monitoringDuration ("1m0s" ),
783
+ Labels : map [string ]string {"severity" : "critical" , "long" : "30m" , "short" : "3m" , "job" : "apiserver" , "slo" : "apiserver-write-response-errors" , "exhaustion" : "1d" },
784
+ }, {
785
+ Alert : "ErrorBudgetBurn" ,
786
+ Expr : intstr .FromString (`apiserver_request:burnrate15m{job="apiserver",slo="apiserver-write-response-errors"} > (7 * (1-0.99)) and apiserver_request:burnrate3h{job="apiserver",slo="apiserver-write-response-errors"} > (7 * (1-0.99))` ),
787
+ For : monitoringDuration ("8m0s" ),
788
+ Labels : map [string ]string {"severity" : "critical" , "long" : "3h" , "short" : "15m" , "job" : "apiserver" , "slo" : "apiserver-write-response-errors" , "exhaustion" : "2d" },
789
+ }, {
790
+ Alert : "ErrorBudgetBurn" ,
791
+ Expr : intstr .FromString (`apiserver_request:burnrate1h{job="apiserver",slo="apiserver-write-response-errors"} > (2 * (1-0.99)) and apiserver_request:burnrate12h{job="apiserver",slo="apiserver-write-response-errors"} > (2 * (1-0.99))` ),
792
+ For : monitoringDuration ("30m0s" ),
793
+ Labels : map [string ]string {"severity" : "warning" , "long" : "12h" , "short" : "1h" , "job" : "apiserver" , "slo" : "apiserver-write-response-errors" , "exhaustion" : "1w" },
794
+ }, {
795
+ Alert : "ErrorBudgetBurn" ,
796
+ Expr : intstr .FromString (`apiserver_request:burnrate3h{job="apiserver",slo="apiserver-write-response-errors"} > (1 * (1-0.99)) and apiserver_request:burnrate2d{job="apiserver",slo="apiserver-write-response-errors"} > (1 * (1-0.99))` ),
797
+ For : monitoringDuration ("1h30m0s" ),
798
+ Labels : map [string ]string {"severity" : "warning" , "long" : "2d" , "short" : "3h" , "job" : "apiserver" , "slo" : "apiserver-write-response-errors" , "exhaustion" : "2w" },
799
+ }},
800
+ },
801
+ }, {
802
+ name : "apiserver-write-response-errors-grouping" ,
803
+ slo : objectiveAPIServerRatioGrouping (),
748
804
rules : monitoringv1.RuleGroup {
749
805
Name : "apiserver-write-response-errors" ,
750
806
Interval : monitoringDuration ("30s" ),
@@ -806,31 +862,31 @@ func TestObjective_Burnrates(t *testing.T) {
806
862
Interval : monitoringDuration ("30s" ),
807
863
Rules : []monitoringv1.Rule {{
808
864
Record : "apiserver_request:burnrate3m" ,
809
- Expr : intstr .FromString (`sum by (verb) ( rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[3m])) / sum by (verb) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[3m]))` ),
865
+ Expr : intstr .FromString (`sum( rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[3m])) / sum(rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[3m]))` ),
810
866
Labels : map [string ]string {"job" : "apiserver" , "slo" : "apiserver-write-response-errors" },
811
867
}, {
812
868
Record : "apiserver_request:burnrate15m" ,
813
- Expr : intstr .FromString (`sum by (verb) ( rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[15m])) / sum by (verb) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[15m]))` ),
869
+ Expr : intstr .FromString (`sum( rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[15m])) / sum(rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[15m]))` ),
814
870
Labels : map [string ]string {"job" : "apiserver" , "slo" : "apiserver-write-response-errors" },
815
871
}, {
816
872
Record : "apiserver_request:burnrate30m" ,
817
- Expr : intstr .FromString (`sum by (verb) ( rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[30m])) / sum by (verb) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[30m]))` ),
873
+ Expr : intstr .FromString (`sum( rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[30m])) / sum(rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[30m]))` ),
818
874
Labels : map [string ]string {"job" : "apiserver" , "slo" : "apiserver-write-response-errors" },
819
875
}, {
820
876
Record : "apiserver_request:burnrate1h" ,
821
- Expr : intstr .FromString (`sum by (verb) ( rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[1h])) / sum by (verb) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[1h]))` ),
877
+ Expr : intstr .FromString (`sum( rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[1h])) / sum(rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[1h]))` ),
822
878
Labels : map [string ]string {"job" : "apiserver" , "slo" : "apiserver-write-response-errors" },
823
879
}, {
824
880
Record : "apiserver_request:burnrate3h" ,
825
- Expr : intstr .FromString (`sum by (verb) ( rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[3h])) / sum by (verb) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[3h]))` ),
881
+ Expr : intstr .FromString (`sum( rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[3h])) / sum(rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[3h]))` ),
826
882
Labels : map [string ]string {"job" : "apiserver" , "slo" : "apiserver-write-response-errors" },
827
883
}, {
828
884
Record : "apiserver_request:burnrate12h" ,
829
- Expr : intstr .FromString (`sum by (verb) ( rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[12h])) / sum by (verb) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[12h]))` ),
885
+ Expr : intstr .FromString (`sum( rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[12h])) / sum(rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[12h]))` ),
830
886
Labels : map [string ]string {"job" : "apiserver" , "slo" : "apiserver-write-response-errors" },
831
887
}, {
832
888
Record : "apiserver_request:burnrate2d" ,
833
- Expr : intstr .FromString (`sum by (verb) ( rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[2d])) / sum by (verb) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[2d]))` ),
889
+ Expr : intstr .FromString (`sum( rate(apiserver_request_total{code=~"5..",job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[2d])) / sum(rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[2d]))` ),
834
890
Labels : map [string ]string {"job" : "apiserver" , "slo" : "apiserver-write-response-errors" },
835
891
}},
836
892
},
@@ -1096,7 +1152,7 @@ func TestObjective_Burnrates(t *testing.T) {
1096
1152
},
1097
1153
}}
1098
1154
1099
- require .Len (t , testcases , 20 )
1155
+ require .Len (t , testcases , 21 )
1100
1156
1101
1157
for _ , tc := range testcases {
1102
1158
t .Run (tc .name , func (t * testing.T ) {
0 commit comments