forked from RemoteSync/librnms-helm-charts
LibreNMS
TL;DR
$ helm repo add librenms https://www.librenms.org/helm-charts
$ helm install my-release librenms/librenms --set appkey=<LibreNMS Application key>
Prerequisites
- This chart has only been tested on Kubernetes 1.18+, but should work on 1.14+
- Recent versions of Helm 3 are supported
Installing the Chart
To install the chart with the release name my-release
and default configuration:
$ helm repo add librenms https://www.librenms.org/helm-charts
$ helm install my-release librenms/librenms --set appkey=<LibreNMS Application key>
Values
Check the values.yaml file for the available settings for this chart and its dependencies.
Required values:
librenms:
appkey:
This should be filled with a laravel appkey, this can be generated using the laravel artisan command:
php artisan key:generate
The value should look like:
librenms:
appkey: base64:RTMmh+i10E2RMcDxookMu47BTzJQy87hOU+k/zcuPnA=
Recommendations
librenms.poller.replicas
: Depending on the scale of your installation, the amount of poller pods needs to b scaled up. Use the poller page in the LibreNMS interface to check for scaling issues.
Available values
The following table lists the main configurable parameters of the librenms chart v3.12.0 and their default values. Please, refer to values.yaml for the full list of configurable parameters.
Values
Key | Type | Default | Description |
---|---|---|---|
ingress | object | {"annotations":{},"className":"","enabled":false,"hosts":[{"host":"chart-example.local","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}],"tls":[]} |
LibreNMS ingress configuration |
ingress.annotations | object | {} |
Ingress annotations |
ingress.className | string | "" |
Ingress class name |
ingress.enabled | bool | false |
Enable or disable ingress |
ingress.hosts | list | [{"host":"chart-example.local","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}] |
Ingress ingress rules |
librenms.appkey | string | nil |
Laravel appkey used by LibreNMS, this should be generated by you and is a required setting. See the README for more information |
librenms.configuration | string | "$config['distributed_poller_group'] = '0';\n$config['distributed_poller'] = true;\n" |
Custom configuration options for LibreNMS. Fore more infomation on options in this file check the following link: https://docs.librenms.org/Support/Configuration/ |
librenms.extraEnvs | object | {} |
LibreNMS frontend extra envs |
librenms.frontend.readinessProbe.httpGet.path | string | "/login" |
Check endpoint path |
librenms.frontend.readinessProbe.httpGet.port | int | 8000 |
Check endpoint port |
librenms.frontend.readinessProbe.initialDelaySeconds | int | 30 |
|
librenms.frontend.readinessProbe.periodSeconds | int | 60 |
|
librenms.frontend.readinessProbe.timeoutSeconds | int | 10 |
|
librenms.frontend.replicas | int | 1 |
Frontend replicas |
librenms.frontend.resources | object | {} |
resources defines the computing resources (CPU and memory) that are allocated to the containers running within the Pod. |
librenms.image.repository | string | "librenms/librenms" |
repository is the image repository to pull from. |
librenms.image.tag | string | "24.5.0" |
tag is image tag to pull. |
librenms.poller.replicas | int | 2 |
Poller replicas |
librenms.poller.resources | object | {} |
resources defines the computing resources (CPU and memory) that are allocated to the containers running within the Pod. |
librenms.rrdcached | object | {"envs":[{"name":"TZ","value":"Europe/Amsterdam"},{"name":"WRITE_JITTER","value":"1800"},{"name":"WRITE_TIMEOUT","value":"1800"}],"extraEnvs":{},"image":{"repository":"crazymax/rrdcached","tag":"1.8.0"},"livenessProbe":{"initialDelaySeconds":15,"periodSeconds":20,"tcpSocket":{"port":42217}},"persistence":{"enabled":true,"journal":{"size":"1Gi"},"rrdcached":{"size":"10Gi"}},"resources":{}} |
RRD cached is the tool that allows for distributed polling and is mandatory in this LibreNMS helm chart. See the rrdcached documentation for more information: https://oss.oetiker.ch/rrdtool/doc/rrdcached.en.html |
librenms.rrdcached.envs[0] | object | {"name":"TZ","value":"Europe/Amsterdam"} |
env variables RRD Cached |
librenms.rrdcached.extraEnvs | object | {} |
Extra environment variable for RRDCACHED container |
librenms.rrdcached.image.repository | string | "crazymax/rrdcached" |
repository is the image repository to pull from. |
librenms.rrdcached.image.tag | string | "1.8.0" |
tag is image tag to pull. |
librenms.rrdcached.livenessProbe.tcpSocket | object | {"port":42217} |
RRD cached liveness probe |
librenms.rrdcached.persistence.enabled | bool | true |
RRDCached persistent volume enabled |
librenms.rrdcached.persistence.journal.size | string | "1Gi" |
RRDCached journal PV size |
librenms.rrdcached.persistence.rrdcached.size | string | "10Gi" |
RRDCached RRD storage PV size |
librenms.rrdcached.resources | object | {} |
resources defines the computing resources (CPU and memory) that are allocated to the containers running within the Pod. |
librenms.snmp_scanner | object | {"cron":"15 * * * *","enabled":false,"extraEnvs":{},"resources":{}} |
SNMP network discovery scanner cron job. This job is optional and only use when having snmp network discovery enabled. For this to work either set the 'nets' confifuration in the custom config on in the admin interface See the following link for more information: https://docs.librenms.org/Extensions/Auto-Discovery/ |
librenms.snmp_scanner.cron | string | "15 * * * *" |
SNMP scanner cornjob syntac interval |
librenms.snmp_scanner.enabled | bool | false |
SNMP scanner enabled |
librenms.snmp_scanner.extraEnvs | object | {} |
SNMP scanner extra envs |
librenms.snmp_scanner.resources | object | {} |
resources defines the computing resources (CPU and memory) that are allocated to the containers running within the Pod. |
librenms.timezone | string | "UTC" |
Timezone used by librenms for communication with RRD cached |
mysql | object | {"auth":{"database":"librenms","username":"librenms"},"enabled":true} |
Configuration for MySQL dependency chart by Bitnami. See their chart for more information: https://github.com/bitnami/charts/tree/master/bitnami/mysql |
redis | object | {"architecture":"standalone","auth":{"enabled":false,"sentinel":false},"enabled":true,"master":{"disableCommands":[]},"sentinel":{"enabled":false}} |
Configuration for redis dependency chart by Bitnami. See their chart for more information: https://github.com/bitnami/charts/tree/master/bitnami/redis |
Uninstalling the Chart
To delete the chart:
$ helm delete my-release
Requirements
Repository | Name | Version |
---|---|---|
https://charts.bitnami.com/bitnami | mysql | ~11.1.0 |
https://charts.bitnami.com/bitnami | redis | ~19.6.0 |
Maintainers
Name | Url | |
---|---|---|
TheChef23 | https://github.com/TheChef23 |
Autogenerated from chart metadata using helm-docs v1.14.2