Új hozzászólás Aktív témák

  • szpeti40

    addikt

    UPS monitorozása Grafanával, hogy ilyen szép grafikonjaink legyenek:

    Források:
    https://blog.linuxserver.io/2017/11/25/how-to-monitor-your-server-using-grafana-influxdb-and-telegraf/
    https://github.com/vkorobov/ups-telegraf
    https://grafana.com/grafana/dashboards/10482

    Programok:
    NUT - UPS kezelése USB-n keresztül
    Telegraf - adatok megszerzése
    InfluxDB - szerzett adatok tárolása
    Grafana - szerzett adatok megjelenítése

    InfluxDB Docker install:

    influxdb: image: influxdb:latest container_name: influxdb ports: - 8086:8086 volumes: - /opt/appdata/influxdb:/var/lib/influxdb restart: always

    Grafana Docker install:

    grafana: image: grafana/grafana container_name: grafana ports: - 3001:3000 volumes: - /opt/appdata/grafana:/var/lib/grafana restart: always

    Telegraf telepítés OMV cli (érdemes ssh-n csinálni, a kódok másolása miatt):

    1.
    curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
    2.
    echo "deb https://repos.influxdata.com/debian stretch stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
    3.
    sudo apt update && sudo apt install telegraf

    Telegraf futásának ellenőrzése:

    systemctl status telegraf -l

    Létrehozzuk a getUpsData.py filet EZ alapján. Én a /etc/nut mappában hoztam létre. Csak ctrl + c, ctrl + v a linkről. Ő fogja a nut adatait InfluxDB által emészthető formára hozni.
    Csak a cmd="upsc ups" sort kell módosítani a saját UPS-ünk elérési nevére, amit az upsc -l paranccsal kapsz meg. Nálam ez így néz ki:

    root@PetiNas:/# upsc -l
    Init SSL without certificate database
    eaton5e

    Szóval nálam így néz ki az a sor: cmd="upsc eaton5e"

    Futási jog adása a file-nak: chmod a+x getUpsData.py
    Teszt gyanánt futtassuk a mappán belül: ./getUpsData.py
    Itt látjuk az adatokat kiírva InfluxDB formában.

    Kiegészítjük a Telegraf konfig végét (/etc/telegraf/telegraf.conf) a következő sorral értelemszerűen behelyettesítve:

    [[inputs.exec]] commands = ["/path/to/getUpsData.py"] timeout = "5s" data_format = "influx"

    Nálam ugye így néz ki:

    [[inputs.exec]] commands = ["/etc/nut/getUpsData.py"] timeout = "5s" data_format = "influx"

    Telegraf újraindítás és futás ellenőrzés:

    systemctl restart telegraf systemctl status telegraf -l

    Grafanába belépünk böngészőből a http://nasip:3000 -es címen admin/admin párossal.
    Majd: Settings -> Data Sources -> Add data source, kiválasztjuk az InfluxDB-t és beállítjuk így:

    InfluxDB felhasználó/jelszó: root/root
    És mentünk.

    Majd Grafana -> Plusz jel -> Import, és ha az ITT található 10482 ID-t adjuk meg, akkor néhány adat nem jelenik meg egyáltalán, de ha készítünk az asztalon egy valami.JSON filet amibe bemásoljuk ezt: https://pastebin.com/c3bYL5DH, és aztán ezt a file-t importáljuk Grafanában, akkor már helyesen fognak az adatok megjelenni az első képen látható módon.

Új hozzászólás Aktív témák