|
| 1 | +# stiebeleltron-exporter |
| 2 | + |
| 3 | +  |
| 4 | + |
| 5 | +Prometheus Exporter for Stiebel Eltron heat pump ISG |
| 6 | + |
| 7 | +**Homepage:** <https://github.com/ccremer/stiebeleltron-exporter> |
| 8 | + |
| 9 | +## Installation |
| 10 | + |
| 11 | +```bash |
| 12 | +helm repo add ccremer https://ccremer.github.io/charts |
| 13 | +helm install stiebeleltron-exporter ccremer/stiebeleltron-exporter |
| 14 | +``` |
| 15 | + |
| 16 | +## Prometheus Operator |
| 17 | + |
| 18 | +This chart features templates for [Prometheus Operator][prometheus-operator] if desired. |
| 19 | +If you'd like to add additional Prometheus labels to all metrics, you could make use of relabelings: |
| 20 | + |
| 21 | +```yaml |
| 22 | +serviceMonitor: |
| 23 | + enabled: true |
| 24 | + metricRelabelings: |
| 25 | + - targetLabel: site |
| 26 | + replacement: my-home |
| 27 | +``` |
| 28 | +
|
| 29 | +<!--- |
| 30 | +Common/Useful Link references from values.yaml |
| 31 | +--> |
| 32 | +[resource-units]: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#resource-units-in-kubernetes |
| 33 | +[prometheus-operator]: https://github.com/coreos/prometheus-operator |
| 34 | +[prom-relabel-config]: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#relabelconfig |
| 35 | +
|
| 36 | +## Source Code |
| 37 | +
|
| 38 | +* <https://github.com/ccremer/stiebeleltron-exporter> |
| 39 | +
|
| 40 | +## Values |
| 41 | +
|
| 42 | +| Key | Type | Default | Description | |
| 43 | +|-----|------|---------|-------------| |
| 44 | +| affinity | object | `{}` | | |
| 45 | +| exporter.additionalArgs | list | `[]` | Provide additional CLI flags via string array | |
| 46 | +| exporter.isgUrl | string | `"http://isg.ip.or.hostname"` | Target URL of Stiebel Eltron ISG device. **Required** | |
| 47 | +| exporter.timeoutSeconds | int | `5` | Time after which collecting may time out. Should not be higher than the Prometheus scrape interval. | |
| 48 | +| fullnameOverride | string | `""` | | |
| 49 | +| hostAliases | object | `{}` | A dict with `{ip, hostnames array}` to configure custom entries in /etc/hosts. See [values.yaml](./values.yaml) for an example. | |
| 50 | +| image.pullPolicy | string | `"IfNotPresent"` | | |
| 51 | +| image.registry | string | `"ghcr.io"` | Container image registry | |
| 52 | +| image.repository | string | `"ccremer/stiebeleltron-exporter"` | Location of the container image | |
| 53 | +| image.tag | string | `"v0.1.0"` | Container image tag | |
| 54 | +| imagePullSecrets | list | `[]` | List of image pull secrets if you use a privately hosted image | |
| 55 | +| ingress.annotations | object | `{}` | Additional annotations for the Ingress object | |
| 56 | +| ingress.enabled | bool | `false` | Useful if your Prometheus is outside of the cluster | |
| 57 | +| ingress.hosts | list | `[]` | See Kubernetes Docs for a guide to setup Ingress hosts | |
| 58 | +| ingress.tls | list | `[]` | See Kubernetes Docs for a guide to setup TLS on Ingress | |
| 59 | +| nameOverride | string | `""` | | |
| 60 | +| nodeSelector | object | `{}` | | |
| 61 | +| podAnnotations | object | `{}` | | |
| 62 | +| podSecurityContext | object | `{}` | | |
| 63 | +| replicaCount | int | `1` | Usually `1` is fine | |
| 64 | +| resources.limits.memory | string | `"64Mi"` | | |
| 65 | +| resources.requests.cpu | string | `"20m"` | | |
| 66 | +| resources.requests.memory | string | `"32Mi"` | | |
| 67 | +| securityContext | object | `{}` | | |
| 68 | +| service.nodePort | int | `0` | Node port number if `type` is `NodePort` | |
| 69 | +| service.port | int | `8080` | Service port number | |
| 70 | +| service.type | string | `"ClusterIP"` | Service type | |
| 71 | +| serviceAccount.annotations | object | `{}` | Annotations to add to the service account | |
| 72 | +| serviceAccount.create | bool | `true` | Specifies whether a service account should be created | |
| 73 | +| serviceAccount.name | string | `""` | The name of the service account to use. If not set and `create` is `true`, a name is generated using the fullname template | |
| 74 | +| serviceMonitor.additionalLabels | object | `{}` | Add custom labels to the ServiceMonitor object | |
| 75 | +| serviceMonitor.enabled | bool | `false` | Deploy a ServiceMonitor object for Prometheus. Requires an installed [Prometheus Operator][prometheus-operator]. | |
| 76 | +| serviceMonitor.metricRelabelings | list | `[]` | Add relabeling configs before ingestion, see [RelabelConfig][prom-relabel-config]. | |
| 77 | +| serviceMonitor.namespace | string | `""` | Namespace in which to deploy the ServiceMonitor, defaults to release namespace. | |
| 78 | +| serviceMonitor.scrapeInterval | string | `""` | Override default scrape interval from Prometheus | |
| 79 | +| telegraf.enabled | bool | `false` | Whether to enable Telegraf sidecar for Influxdb | |
| 80 | +| telegraf.globalTags | object | `{}` | A dict with `key: value` to add to `global_tags` config | |
| 81 | +| telegraf.image.registry | string | `"docker.io"` | | |
| 82 | +| telegraf.image.repository | string | `"library/telegraf"` | Telegraf image location | |
| 83 | +| telegraf.image.tag | string | `"1.20-alpine"` | Telegraf image tag | |
| 84 | +| telegraf.influxdb.bucket | string | `"stiebeleltron"` | Bucket to write metrics into | |
| 85 | +| telegraf.influxdb.organization | string | `"stiebeleltron"` | Organization where the bucket belongs to | |
| 86 | +| telegraf.influxdb.token | string | `""` | Token used to authenticate to InfluxDB | |
| 87 | +| telegraf.influxdb.url | string | `"http://influxdb2"` | URL of an InfluxDB 2 instance | |
| 88 | +| telegraf.interval | string | `"30s"` | Go-style interval in which metrics are pushed to InfluxDB | |
| 89 | +| tolerations | list | `[]` | | |
0 commit comments