helm collabora kubernetes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

163 lines
6.0 KiB

  1. {{- if and ( .Values.prometheus.rules.enabled ) ( .Capabilities.APIVersions.Has "monitoring.coreos.com/v1" ) }}
  2. apiVersion: monitoring.coreos.com/v1
  3. kind: PrometheusRule
  4. metadata:
  5. name: {{ include "collabora-online.fullname" . }}
  6. {{- with .Values.prometheus.rules.namespace }}
  7. namespace: {{ . | quote }}
  8. {{- end }}
  9. labels:
  10. {{- include "collabora-online.labels" . | nindent 4 }}
  11. {{- toYaml .Values.prometheus.rules.additionalLabels | nindent 4 }}
  12. spec:
  13. groups:
  14. {{- if .Values.prometheus.rules.defaults.enabled }}
  15. - name: {{ template "collabora-online.name" . }}-Defaults
  16. rules:
  17. - alert: "Collabora NoProcess"
  18. expr: 'coolwsd_count < 1'
  19. for: "1m"
  20. labels:
  21. severity: "critical"
  22. {{`
  23. annotations:
  24. summary: "no coolwsd process running: in namespace {{ $labels.namespace }}"
  25. `}}
  26. {{- range $key, $value := .Values.prometheus.rules.defaults.docs.pod }}
  27. - alert: "Collabora Open Docs by Pod"
  28. expr: 'kit_assigned_count > {{ $value }}'
  29. for: "1m"
  30. labels:
  31. severity: "{{ $key }}"
  32. {{`
  33. annotations:
  34. summary: "Too many Docs are open on a pod in namespace: {{ $labels.namespace }}"
  35. `}}
  36. {{- end }}
  37. {{- range $key, $value := .Values.prometheus.rules.defaults.docs.sum }}
  38. - alert: "Collabora Open Docs by Namespace"
  39. expr: 'sum(kit_assigned_count) without (instance, pod) > {{ $value }}'
  40. for: "1m"
  41. labels:
  42. severity: "{{ $key }}"
  43. {{`
  44. annotations:
  45. summary: "Too many Docs are open on namespace"
  46. `}}
  47. {{- end }}
  48. {{- range $key, $value := .Values.prometheus.rules.defaults.viewers.pod }}
  49. - alert: "Collabora Viewers by Pod"
  50. expr: 'document_active_views_active_count_total > {{ $value }}'
  51. for: "1m"
  52. labels:
  53. severity: "{{ $key }}"
  54. {{`
  55. annotations:
  56. summary: "Too many Viewers on a pod in namespace: {{ $labels.namespace }}"
  57. `}}
  58. {{- end }}
  59. {{- range $key, $value := .Values.prometheus.rules.defaults.viewers.doc }}
  60. - alert: "Collabora Viewers by Document"
  61. expr: 'doc_views_active > {{ $value }}'
  62. for: "1m"
  63. labels:
  64. severity: "{{ $key }}"
  65. {{`
  66. annotations:
  67. summary: "Too many Viewers on a document in namespace: {{ $labels.namespace }}"
  68. `}}
  69. {{- end }}
  70. {{- range $key, $value := .Values.prometheus.rules.defaults.viewers.sum }}
  71. - alert: "Collabora Viewers by Namespace"
  72. expr: 'sum(document_active_views_active_count_total) without (instance, pod) > {{ $value }}'
  73. for: "1m"
  74. labels:
  75. severity: "{{ $key }}"
  76. {{`
  77. annotations:
  78. summary: "Too many Viewers on namespace"
  79. `}}
  80. {{- end }}
  81. - alert: "Collabora same Document open Multiple time"
  82. expr: 'count(doc_pid) by (key) > 1'
  83. labels:
  84. severity: "warning"
  85. {{`
  86. annotations:
  87. summary: "a key/document is open multiple times in namespace: {{ $labels.namespace }}"
  88. `}}
  89. - alert: "Collabora same Document open Multiple time"
  90. expr: 'count(count(doc_pid)by(key)>1) > {{ .Values.prometheus.rules.defaults.docs.duplicated }}'
  91. labels:
  92. severity: "critical"
  93. {{`
  94. annotations:
  95. summary: "too many document are open multiple times in namespace: {{ $labels.namespace }}"
  96. `}}
  97. - alert: "Collabora Error StorageSpaceLow"
  98. expr: 'increase(error_storage_space_low[1m]) > 0'
  99. labels:
  100. severity: "warning"
  101. {{`
  102. annotations:
  103. summary: "local storage space too low to operate in namespace: {{ $labels.namespace }}"
  104. `}}
  105. {{- range $key, $value := .Values.prometheus.rules.defaults.errorStorageConnections }}
  106. - alert: "Collabora Error StorageConnection"
  107. expr: 'increase(error_storage_connection[1m]) > {{ $value }}'
  108. labels:
  109. severity: "{{ $key }}"
  110. {{`
  111. annotations:
  112. summary: "unable to connect to storage in namespace {{ $labels.namespace }} on pod {{ $labels.pod }}."
  113. `}}
  114. {{- end }}
  115. - alert: "Collabora Error BadRequest"
  116. expr: 'increase(error_bad_request[1m]) > 0'
  117. labels:
  118. severity: "warning"
  119. {{`
  120. annotations:
  121. summary: "we returned an HTTP bad request to a caller in namespace: {{ $labels.namespace }}"
  122. `}}
  123. - alert: "Collabora Error BadArgument"
  124. expr: 'increase(error_bad_argument[1m]) > 0'
  125. labels:
  126. severity: "warning"
  127. {{`
  128. annotations:
  129. summary: "we returned an HTTP bad argument to a caller in namespace: {{ $labels.namespace }}"
  130. `}}
  131. - alert: "Collabora Error UnauthorizedRequest"
  132. expr: 'increase(error_unauthorized_request[1m]) > 0'
  133. labels:
  134. severity: "warning"
  135. {{`
  136. annotations:
  137. summary: "an authorization exception usually on CheckFileInfo in namespace: {{ $labels.namespace }}"
  138. `}}
  139. {{- range $key, $value := .Values.prometheus.rules.defaults.errorServiceUnavailable }}
  140. - alert: "Collabora Error ServiceUnavailable"
  141. expr: 'increase(error_service_unavailable[1m]) > {{ $value }}'
  142. labels:
  143. severity: "{{ $key }}"
  144. {{`
  145. annotations:
  146. summary: "internal error, service is unavailable in namespace {{ $labels.namespace }} on pod {{ $labels.pod }}."
  147. `}}
  148. {{- end }}
  149. - alert: "Collabora Error ParseError"
  150. expr: 'increase(error_parse_error[1m]) > 0'
  151. labels:
  152. severity: "warning"
  153. {{`
  154. annotations:
  155. summary: "badly formed data provided for us to parse in namespace: {{ $labels.namespace }}"
  156. `}}
  157. {{- end }}
  158. {{- if .Values.prometheus.rules.additionalRules }}
  159. - name: {{ template "collabora-online.name" . }}-Additional
  160. rules: {{- toYaml .Values.prometheus.rules.additionalRules | nindent 4 }}
  161. {{- end }}
  162. {{- end }}