40 lines
1.7 KiB
Markdown
40 lines
1.7 KiB
Markdown
# docker-observation
|
|
|
|
Various tools to monitor Docker containers
|
|
|
|
## Services
|
|
|
|
### [Telegraf](https://www.influxdata.com/time-series-platform/telegraf/) - [Docker plugin](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/docker/README.md)
|
|
|
|
> Telegraf is the open source server agent to help you collect metrics from your stacks, sensors, and systems.
|
|
|
|
### Grafana [Promtail](https://grafana.com/docs/loki/latest/send-data/promtail/)
|
|
|
|
> Promtail is an agent which ships the contents of local logs to a private Grafana Loki instance or Grafana Cloud. It is usually deployed to every machine that runs applications which need to be monitored.
|
|
|
|
#### Pipline Stages
|
|
|
|
- appdaemon
|
|
- labels `date`. `time`, `level`, `app`, and `msg`
|
|
- zigbee2mqtt
|
|
- labels `MQTT publish` - `device` and `payload`
|
|
- categorizes `occupancy` or `contact`
|
|
|
|
## Environment Variables
|
|
|
|
| Environment Variable | Description |
|
|
| -------------------------- | ----------------------------------------------- |
|
|
| `HOSTNAME` | Hostname for identifying log lines |
|
|
| `DOCKER_GUID` | Group ID number for the `docker` user group |
|
|
| `DOCKER_INFLUXDB_INIT_ORG` | Organization name for InfluxDB |
|
|
| `INFLUX_WRITE_TOKEN` | InfluxDB write token |
|
|
| `INFLUX_HOST` | Hostname or IP address of the InfluxDB instance |
|
|
| `LOKI_HOST` | Hostname or IP address of the Loki instance |
|
|
|
|
## Setup
|
|
|
|
Set the `DOCKER_GUID` so the container has permission to access the socket. This ensures that the telegraf container will have read access on the Docker socket.
|
|
|
|
```shell
|
|
export DOCKER_GUID=$(getent group docker | awk -F ':' '{print $3}')
|
|
``` |