/hassio-telegraf

Primary LanguageShellMIT LicenseMIT

Telegraf Plugin for Hassio

GitHub Release License

Supports aarch64 Architecture Supports amd64 Architecture Supports armhf Architecture Supports armv7 Architecture Supports i386 Architecture

Travis Ci Github Activity

Please Note!

Upgrading to 0.5.0 although isn't nessaserily a breaking change, hte config has been adjusted and how it is interprited so please make sure you update the config too!

Notable mentions

I wanted to mention people/repos that i have borrowed code from to make this work and also who have helped me make this work.

First I wanted to say thanks to @pvizeli. He helped me with regard to building the image. and just the general work he does on a daily basis

Second I want to say thanks to @Frenck. He has helped me a lot on Discord getting this addon working when i was running into errors. His addon for influx db helped me migrate this from Alpine to ubuntu also.

Third I want to say thanks to @Daniel Welch. I looked at his script for travis builds, he did a write up here that helped me form a basis of my script.

All of these people are amazing!

Description

This is a very simple hassio plugin that ebnables you to run telegraf on your hassio system, I am still working on this so please bear with me, I am happy to accept PR's

Installation

To Install this addon simply go to: Hassio->Addon-store.

Then add https://github.com/Sabuto/hassio-repo in the add repository by URL box.

Scroll down to Rob's Repo and install Telegraf. Give it a few minutes to install and update.

Config

The config is simple but there are some things to consider,

custom_conf:
  enabled: false
  location: /share/telegraf.conf

This allows you to specify a custom configuration file so you can add things for yourself if this addon doesn't currently support it. Please note this must be a full telegraf config file not just parts.

hostname: ''

This allows you set your hostname to something easy

You must have a running influxDB instance (the hassio plugin works)

influxDB:
  enabled: true,
  url: 'http://a0d7b954-influxdb:8086'
  db: telegraf
  retention_policy: optional
  username: optional
  password: optional

This has been moved into it's own block as that made sense with the other options, some have been made optional (previous versions)

kernel:
  enabled: true

This monitors the kernel

swap:
  enabled: true

This monitors the swap usasge

docker:
  enabled: false
  timeout: 5s

This monitors the docker containers

smart_monitor:
  enabled: false
  timeout: 30s

This allows you to monitor the temperature of the hard drives

impi_sensor:
  enabled: false
  interval: 30s
  timeout: 20s
  server_user_id: user
  server_password: password
  server_protocol: lan
  server_ip: 192.168.1.2

This allows you to enable the impi settings.

influxDBv2:
  enabled: false
  url: 'http://127.0.0.1:9999'
  organization: ''
  token: ''
  bucket: ''

This allows you to use InfluxDBv2 if you have an instance running.

prometheus:
  enabled: false
  metrics_path: '/metrics'

This allows you to use the promethus output

Known issues

For some reason at the moment i have figured out how to communicate with the docker.sock therefore i cannot get the process' for docker contaisners. I will look into this and fix it when i can, if you have any idea please submit a PR

TO-DO

Add dev branch

Add images to installation steps

Add PR Template

Add Issue Template

Configure more options to edit for the inputs

Configure different outputs (so it doesn't have to be influxDB dependant, would appreciate it if people could reccomend ones they would find useful.)

License

MIT License

Copyright (c) 2019 Robert Dunne

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.