Manually verified to work by installing it like `helm install ~/charts/stable/heartbeat --name hb --namespace hb` and then reading logs:
```console
$ stern --namespace hb heart
+ hb-heartbeat-zljn2 › heartbeat
hb-heartbeat-zljn2 heartbeat 2018-05-25T09:07:17.531ZINFOinstance/beat.go:468Home path: [/usr/share/heartbeat] Config path: [/usr/share/heartbeat] Data path: [/usr/share/heartbeat/data] Logs path: [/usr/share/heartbeat/logs]
hb-heartbeat-zljn2 heartbeat 2018-05-25T09:07:17.532ZINFOinstance/beat.go:475Beat UUID: cc04f1e7-c1a2-4e9c-beca-009539becd87
hb-heartbeat-zljn2 heartbeat 2018-05-25T09:07:17.532ZINFOinstance/beat.go:213Setup Beat: heartbeat; Version: 6.2.4
hb-heartbeat-zljn2 heartbeat 2018-05-25T09:07:20.534ZINFOadd_cloud_metadata/add_cloud_metadata.go:297add_cloud_metadata: hosting provider type not detected.
hb-heartbeat-zljn2 heartbeat 2018-05-25T09:07:20.534ZINFOfileout/file.go:76Initialized file output. path=/usr/share/heartbeat/data/heartbeat max_size_bytes=10240000 max_backups=5 permissions=-rw-------
hb-heartbeat-zljn2 heartbeat 2018-05-25T09:07:20.535ZINFOpipeline/module.go:76Beat name: hb-heartbeat-zljn2
hb-heartbeat-zljn2 heartbeat 2018-05-25T09:07:20.535ZWARNbeater/heartbeat.go:24Beta: Heartbeat is beta software
hb-heartbeat-zljn2 heartbeat 2018-05-25T09:07:20.535ZINFObeater/manager.go:110Select (active) monitor icmp
hb-heartbeat-zljn2 heartbeat 2018-05-25T09:07:20.537ZINFO[monitoring]log/log.go:97Starting metrics logging every 30s
hb-heartbeat-zljn2 heartbeat 2018-05-25T09:07:20.538ZINFOinstance/beat.go:301heartbeat start running.
hb-heartbeat-zljn2 heartbeat 2018-05-25T09:07:20.538ZINFObeater/heartbeat.go:56heartbeat is running! Hit CTRL-C to stop it.
hb-heartbeat-zljn2 heartbeat 2018-05-25T09:07:50.538ZINFO[monitoring]log/log.go:124Non-zero metrics in the last 30s{"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":40,"time":40},"total":{"ticks":70,"time":74,"value":70},"user":{"ticks":30,"time":34}},"info":{"ephemeral_id":"23539714-a27c-40bb-a124-805b7e009958","uptime":{"ms":33026}},"memstats":{"gc_next":4194304,"memory_alloc":2423104,"memory_total":4047776,"rss":22454272}},"libbeat":{"config":{"module":{"running":0}},"output":{"events":{"acked":5,"batches":5,"total":5},"type":"file","write":{"bytes":2306}},"pipeline":{"clients":1,"events":{"active":1,"published":6,"total":6},"queue":{"acked":5}}},"system":{"cpu":{"cores":2},"load":{"1":0.75,"15":0.38,"5":0.55,"norm":{"1":0.375,"15":0.19,"5":0.275}}}}}}
```
Templates and values.yaml is mostly similar to stable/filebeat's.
The main difference is `config:` in values.yaml, which directly reflects heartbeat's own configuration file.
Other changelog:
- Include the configuration table in README
- Include the commented-out elasticsearch output to support common use-cases
heartbeat
heartbeat is a lightweight daemon that periodically check the status of your services and determine whether they are available.
Introduction
This chart deploys heartbeat agents to all the nodes in your cluster via a DaemonSet.
By default this chart only ships a single output to a file on the local system. Users should set config.output.file.enabled=false and configure their own outputs as documented
Prerequisites
- Kubernetes 1.9+
Installing the Chart
To install the chart with the release name my-release, run:
$ helm install --name my-release stable/heartbeat
After a few minutes, you should see service statuses being written to the configured output, which is a log file inside the heartbeat container.
Tip
: List all releases using
helm list
Uninstalling the Chart
To uninstall/delete the my-release deployment:
$ helm delete my-release
The command removes all the Kubernetes components associated with the chart and deletes the release.
Configuration
The following table lists the configurable parameters of the heartbeat chart and their default values.
| Parameter | Description | Default |
|---|---|---|
image.repository |
The image repository to pull from | docker.elastic.co/beats/heartbeat |
image.tag |
The image tag to pull | 6.2.4 |
image.pullPolicy |
Image pull policy | IfNotPresent |
rbac.create |
If true, create & use RBAC resources | true |
rbac.serviceAccount |
existing ServiceAccount to use (ignored if rbac.create=true) | default |
config |
The content of the configuration file consumed by heartbeat. See the heartbeat documentation for full details | |
plugins |
List of beat plugins | |
extraVars |
A map of additional environment variables | |
extraVolumes, extraVolumeMounts |
Additional volumes and mounts, for example to provide other configuration files | |
resources.requests.cpu |
CPU resource requests | |
resources.limits.cpu |
CPU resource limits | |
resources.requests.memory |
Memory resource requests | |
resources.limits.memory |
Memory resource limits |
Specify each parameter using the --set key=value[,key=value] argument to helm install. For example,
$ helm install --name my-release \
--set rbac.create=true \
stable/heartbeat
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
$ helm install --name my-release -f values.yaml stable/heartbeat
Tip
: You can use the default values.yaml