4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# File 'modules/profile/manifests/pyrra/filesystem/slos/observability.pp', line 4
class profile::pyrra::filesystem::slos::observability {
#lint:ignore:arrow_alignment
['eqiad', 'codfw'].each | $datacenter | {
# Logstash Requests SLO - please see wikitech for details
# https://wikitech.wikimedia.org/wiki/SLO/logstash
pyrra::filesystem::config { "logstash-requests-${datacenter}.yaml":
content => to_yaml( {
'apiVersion' => 'pyrra.dev/v1alpha1',
'kind' => 'ServiceLevelObjective',
'metadata' => {
'name' => 'logstash-requests-pilot-v2',
'namespace' => 'pyrra-o11y-pilot',
'labels' => {
'pyrra.dev/team' => 'o11y',
'pyrra.dev/service' => 'logging',
'pyrra.dev/site' => "${datacenter}", #lint:ignore:only_variable_string
},
},
'spec' => {
'alerting' => {
'burnrates' => true
},
'target' => '99.5',
'window' => '4w',
'indicator' => {
'ratio' => {
'errors' => {
'metric' => "log_dead_letters_hits{site=\"${datacenter}\"}",
},
'total' => {
'metric' => "logstash_node_plugin_events_out_total{plugin_id=\"output/opensearch/logstash\",site=\"${datacenter}\"}",
},
},
},
},
})
}
# Logstash Availability SLO - please see wikitech for details
# https://wikitech.wikimedia.org/wiki/SLO/logstash
pyrra::filesystem::config { "logstash-availability-${datacenter}.yaml":
content => to_yaml( {
'apiVersion' => 'pyrra.dev/v1alpha1',
'kind' => 'ServiceLevelObjective',
'metadata' => {
'name' => 'logstash-availability',
'namespace' => 'pyrra-o11y',
'labels' => {
'pyrra.dev/team' => 'o11y',
'pyrra.dev/service' => 'logging',
'pyrra.dev/site' => "${datacenter}", #lint:ignore:only_variable_string
},
},
'spec' => {
'alerting' => {
'burnrates' => true
},
'target' => '99.95',
'window' => '4w',
'indicator' => {
'bool_gauge' => {
'metric' => "logstash_sli_availability:bool{site=\"${datacenter}\"}",
},
},
},
})
}
}
#lint:endignore
}
|