Add dell-exporter
Change-Id: I55877064e5ba72abae8037578b1b50f51a67e518
This commit is contained in:
parent
4ff3e37b8f
commit
8b7783f156
11
charts/dell-exporter/Chart.yaml
Normal file
11
charts/dell-exporter/Chart.yaml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
name: dell-exporter
|
||||||
|
version: 0.1.1
|
||||||
|
description: Dell exporter for Prometheus
|
||||||
|
home: https://github.com/vexxhost/helm-charts
|
||||||
|
maintainers:
|
||||||
|
- name: Mohammed Naser
|
||||||
|
email: mnaser@vexxhost.com
|
||||||
|
url: https://github.com/mnaser
|
||||||
|
appVersion: v1.4.0
|
45
charts/dell-exporter/templates/_helpers.tpl
Normal file
45
charts/dell-exporter/templates/_helpers.tpl
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
{{/* vim: set filetype=mustache: */}}
|
||||||
|
{{/*
|
||||||
|
Expand the name of the chart.
|
||||||
|
*/}}
|
||||||
|
{{- define "dell-exporter.name" -}}
|
||||||
|
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create a default fully qualified app name.
|
||||||
|
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||||
|
If release name contains chart name it will be used as a full name.
|
||||||
|
*/}}
|
||||||
|
{{- define "dell-exporter.fullname" -}}
|
||||||
|
{{- if .Values.fullnameOverride -}}
|
||||||
|
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||||
|
{{- if contains $name .Release.Name -}}
|
||||||
|
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Generate basic labels
|
||||||
|
*/}}
|
||||||
|
{{- define "dell-exporter.labels" }}
|
||||||
|
app.kubernetes.io/name: {{ include "dell-exporter.fullname" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/component: metrics
|
||||||
|
app.kubernetes.io/part-of: hardware
|
||||||
|
{{- if .Values.commonLabels }}
|
||||||
|
{{ toYaml .Values.commonLabels }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create chart name and version as used by the chart label.
|
||||||
|
*/}}
|
||||||
|
{{- define "dell-exporter.chart" -}}
|
||||||
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- end -}}
|
43
charts/dell-exporter/templates/daemonset.yaml
Normal file
43
charts/dell-exporter/templates/daemonset.yaml
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: DaemonSet
|
||||||
|
metadata:
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
name: {{ include "dell-exporter.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{ include "dell-exporter.labels" . | indent 4 }}
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{ include "dell-exporter.labels" . | indent 6 }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
{{ include "dell-exporter.labels" . | indent 8 }}
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: dell-exporter
|
||||||
|
image: {{ .Values.image }}
|
||||||
|
ports:
|
||||||
|
- name: metrics
|
||||||
|
containerPort: 9137
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 6000m
|
||||||
|
memory: 512Mi
|
||||||
|
requests:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 512Mi
|
||||||
|
securityContext:
|
||||||
|
privileged: true
|
||||||
|
{{- with $.Values.tolerations }}
|
||||||
|
tolerations:
|
||||||
|
{{ toYaml . | indent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with $.Values.nodeSelector }}
|
||||||
|
nodeSelector:
|
||||||
|
{{ toYaml . | indent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
updateStrategy:
|
||||||
|
rollingUpdate:
|
||||||
|
maxUnavailable: 10%
|
111
charts/dell-exporter/templates/prometheusrule.yaml
Normal file
111
charts/dell-exporter/templates/prometheusrule.yaml
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
---
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: PrometheusRule
|
||||||
|
metadata:
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
name: {{ include "dell-exporter.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{ include "dell-exporter.labels" . | indent 4 }}
|
||||||
|
spec:
|
||||||
|
groups:
|
||||||
|
- name: dell
|
||||||
|
rules:
|
||||||
|
- alert: DellSystemStatus
|
||||||
|
expr: |
|
||||||
|
dell_hw_system_status == 2
|
||||||
|
for: 1m
|
||||||
|
labels:
|
||||||
|
severity: P4
|
||||||
|
annotations:
|
||||||
|
summary: "[`{{`{{$labels.instance}}`}}`] System warning"
|
||||||
|
description: >
|
||||||
|
The host `{{`{{$labels.instance}}`}}` is reporting a non-critical status,
|
||||||
|
please investigate. If this is the only firing alert, please add
|
||||||
|
another one to handle the specific failure.
|
||||||
|
|
||||||
|
- alert: DellSystemStatus
|
||||||
|
expr: |
|
||||||
|
dell_hw_system_status == 1
|
||||||
|
for: 1m
|
||||||
|
labels:
|
||||||
|
severity: P3
|
||||||
|
annotations:
|
||||||
|
summary: "[`{{`{{$labels.instance}}`}}`] System failure"
|
||||||
|
description: >
|
||||||
|
The host `{{`{{$labels.instance}}`}}` is reporting a critical status,
|
||||||
|
please investigate. If this is the only firing alert, please add
|
||||||
|
another one to handle the specific failure.
|
||||||
|
|
||||||
|
- alert: DellFanFailure
|
||||||
|
expr: |
|
||||||
|
dell_hw_chassis_fan_status != 0
|
||||||
|
for: 1m
|
||||||
|
labels:
|
||||||
|
severity: P4
|
||||||
|
annotations:
|
||||||
|
summary: "[`{{`{{$labels.instance}}`}}`] Fan failure"
|
||||||
|
description: >
|
||||||
|
The `{{`{{$labels.fan}}`}}` on host `{{`{{$labels.instance}}`}}` is reporting
|
||||||
|
a failure, please replace it.
|
||||||
|
|
||||||
|
- alert: DellMemoryFailure
|
||||||
|
expr: |
|
||||||
|
dell_hw_chassis_memory_status != 0
|
||||||
|
for: 1m
|
||||||
|
labels:
|
||||||
|
severity: P4
|
||||||
|
annotations:
|
||||||
|
summary: "[`{{`{{$labels.instance}}`}}`] Memory failure"
|
||||||
|
description: >
|
||||||
|
The `{{`{{$labels.memory}}`}}` on host `{{`{{$labels.instance}}`}}` is reporting
|
||||||
|
a failure, please replace it.
|
||||||
|
|
||||||
|
- alert: DellPowerSupplyFailure
|
||||||
|
expr: |
|
||||||
|
dell_hw_ps_status != 0
|
||||||
|
for: 1m
|
||||||
|
labels:
|
||||||
|
severity: P3
|
||||||
|
annotations:
|
||||||
|
summary: "[`{{`{{$labels.instance}}`}}`] Power failure"
|
||||||
|
description: >
|
||||||
|
The PSU `{{`{{$labels.id}}`}}` on host `{{`{{$labels.instance}}`}}` is reporting
|
||||||
|
a failure, please investigate if power is lost or power supply
|
||||||
|
requires replacement.
|
||||||
|
|
||||||
|
- alert: DellHardwareStorageFailure
|
||||||
|
expr: |
|
||||||
|
dell_hw_storage_controller_status != 0
|
||||||
|
for: 1m
|
||||||
|
labels:
|
||||||
|
severity: P3
|
||||||
|
annotations:
|
||||||
|
summary: "[`{{`{{$labels.instance}}`}}`] Storage failure"
|
||||||
|
description: >
|
||||||
|
The storage controller `{{`{{$labels.id}}`}}` on host `{{`{{$labels.instance}}`}}`
|
||||||
|
is reporting a failure, please investigate inside the host and add the
|
||||||
|
appropriate alerting rules if no alerts except this one have fired.
|
||||||
|
|
||||||
|
- alert: DellChassisTemperature
|
||||||
|
expr: |
|
||||||
|
dell_hw_chassis_temps_reading > dell_hw_chassis_temps_max_warning
|
||||||
|
labels:
|
||||||
|
severity: P3
|
||||||
|
annotations:
|
||||||
|
summary: "[{{`{{$labels.instance}}`}}] {{`{{$labels.component}}`}}"
|
||||||
|
description: >
|
||||||
|
The component {{`{{$labels.component}}`}} is reporting temperatures
|
||||||
|
of {{`{{$value}}`}} which is above the critical reading for
|
||||||
|
{{`{{$labels.instance}}`}}.
|
||||||
|
|
||||||
|
- alert: DellChassisTemperature
|
||||||
|
expr: |
|
||||||
|
dell_hw_chassis_temps_reading > dell_hw_chassis_temps_max_warning
|
||||||
|
labels:
|
||||||
|
severity: P4
|
||||||
|
annotations:
|
||||||
|
summary: "[{{`{{$labels.instance}}`}}] {{`{{$labels.component}}`}}"
|
||||||
|
description: >
|
||||||
|
The component {{`{{$labels.component}}`}} is reporting temperatures
|
||||||
|
of {{`{{$value}}`}} which is above the warning reading for
|
||||||
|
{{`{{$labels.instance}}`}}.
|
16
charts/dell-exporter/templates/service.yaml
Normal file
16
charts/dell-exporter/templates/service.yaml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
name: {{ include "dell-exporter.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{ include "dell-exporter.labels" . | indent 4 }}
|
||||||
|
spec:
|
||||||
|
clusterIP: None
|
||||||
|
ports:
|
||||||
|
- name: metrics
|
||||||
|
port: 9137
|
||||||
|
targetPort: metrics
|
||||||
|
selector:
|
||||||
|
{{ include "dell-exporter.labels" . | indent 4 }}
|
25
charts/dell-exporter/templates/servicemonitor.yaml
Normal file
25
charts/dell-exporter/templates/servicemonitor.yaml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
---
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
name: {{ include "dell-exporter.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{ include "dell-exporter.labels" $ | indent 4 }}
|
||||||
|
spec:
|
||||||
|
endpoints:
|
||||||
|
- port: metrics
|
||||||
|
scrapeTimeout: 30s
|
||||||
|
relabelings:
|
||||||
|
- action: replace
|
||||||
|
regex: (.*)
|
||||||
|
replacment: $1
|
||||||
|
sourceLabels:
|
||||||
|
- __meta_kubernetes_pod_node_name
|
||||||
|
targetLabel: instance
|
||||||
|
- action: labeldrop
|
||||||
|
regex: '^(endpoint|namespace|pod|service)$'
|
||||||
|
jobLabel: jobLabel
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{ include "dell-exporter.labels" $ | indent 6 }}
|
2
charts/dell-exporter/values.yaml
Normal file
2
charts/dell-exporter/values.yaml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
---
|
||||||
|
image: galexrt/dellhw_exporter@sha256:09ce2b8459dcd30a2bfdb6f3b2764dd461d09844d18a893ca5eb273c39eadce4
|
Loading…
Reference in New Issue
Block a user