raspberry:odroid_hc1_influx_db_grafana
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
raspberry:odroid_hc1_influx_db_grafana [2018/11/27 09:44] – [HC1 in Betrieb nehmen] gpipperr | raspberry:odroid_hc1_influx_db_grafana [2019/03/29 10:14] (aktuell) – [HC1 in Betrieb nehmen] gpipperr | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | =====Odroid HC1 Monitoring Appliance mit InfluxDB und Grafana===== | ||
+ | |||
+ | **Januar 2018 ** | ||
+ | **Dezember 2018 Upgrade OS** | ||
+ | |||
+ | |||
+ | <fc # | ||
+ | |||
+ | Alle Daten meine Heizungsanlage, | ||
+ | |||
+ | Dazu kommt als ARM basierende Kleinrechner ein [[http:// | ||
+ | |||
+ | Mehr zum HC1 in diesem Mini Review => [[https:// | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Die Konfiguration wurde zuvor unter Windows getestet => [[prod: | ||
+ | |||
+ | |||
+ | <note important> | ||
+ | |||
+ | ===Material Odroid HC1 === | ||
+ | |||
+ | - Ordroid HC1 ( https:// | ||
+ | - Netzteil 5v (https:// | ||
+ | - 128 GB SSD Disk Intenso 128 GB | ||
+ | - microSD Karte 16GB Toschiba | ||
+ | |||
+ | ===Ablauf=== | ||
+ | |||
+ | * microSD Karte mit Linux System versehen | ||
+ | * HC1 mit SD Karte booten und Linux konfigurieren (IP Adresse, NTP, SSD einbinden etc.) | ||
+ | * Influx DB aufsetzen und konfigurieren, | ||
+ | * Graphana aus der Source aufbauen, konfigurieren, | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Installation Arch Linux ==== | ||
+ | Auf die schnelle leider kein Image für eine microSD Karte gefunden, daher wie über => https:// | ||
+ | |||
+ | Mein Notebook läuft unter Windows10, daher eine vorhandene VM mit Linux dazu verwendet. Dazu wie hier beschrieben die SD Karte in die VM einbinden => [[vmware: | ||
+ | |||
+ | Nun kann die SD Karte entsprechend unter Linux vorbreitet werden: | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | # nochmals genau prüfen das auch das richtige Device erkannt wurde! | ||
+ | lsblk | ||
+ | |||
+ | # SD Karten Anfang mit 000 auffüllen | ||
+ | dd if=/ | ||
+ | 8+0 records in | ||
+ | 8+0 records out | ||
+ | 8388608 bytes (8.4 MB) copied, 3.6569 s, 2.3 MB/s | ||
+ | |||
+ | # Partition anlegen | ||
+ | fdisk /dev/sda | ||
+ | |||
+ | o | ||
+ | p | ||
+ | n | ||
+ | p | ||
+ | 1 | ||
+ | 4096 | ||
+ | < | ||
+ | p | ||
+ | w | ||
+ | |||
+ | # ein ext4 filesystem anlegen | ||
+ | |||
+ | mkfs.ext4 /dev/sda1 | ||
+ | |||
+ | # SD Karte mounten | ||
+ | |||
+ | mkdir /srv/sdcard | ||
+ | |||
+ | mount /dev/sda1 /srv/sdcard | ||
+ | |||
+ | # Image herunterladen | ||
+ | cd srv | ||
+ | wget http:// | ||
+ | |||
+ | # MD5 Hash des Images prüfen | ||
+ | # MD5 Hash des Images überprüfen c049b088101e3f1675175367b6ad61a7 | ||
+ | |||
+ | c049b088101e3f1675175367b6ad61a7 | ||
+ | |||
+ | # passt sogar .-) | ||
+ | |||
+ | tar -xpf ArchLinuxARM-odroid-xu3-latest.tar.gz -C /srv/sdcard | ||
+ | |||
+ | # Problem : tar: Ignoring unknown extended header keyword `SCHILY.fflags' | ||
+ | # kann ignoriert werden, wurde wohl unter BDS oder MAC angelegt, GNU Tar kennt das nicht | ||
+ | |||
+ | # check | ||
+ | |||
+ | cd /srv/sdcard | ||
+ | ls -la | ||
+ | |||
+ | # sieht so aus als wäre was drauf .-) | ||
+ | |||
+ | |||
+ | # boot Loader auf die SD Karte schreiben | ||
+ | # dauert etwas | ||
+ | # als ROOT! | ||
+ | |||
+ | cd / | ||
+ | |||
+ | # hier wieder auf den richtig device ID achten !! | ||
+ | |||
+ | sh sd_fusing.sh /dev/sda | ||
+ | |||
+ | |||
+ | /dev/sda reader is identified. | ||
+ | BL1 fusing | ||
+ | |||
+ | |||
+ | 30+0 records in | ||
+ | 30+0 records out | ||
+ | 15360 bytes (15 kB) copied, 134.532 s, 0.1 kB/s | ||
+ | BL2 fusing | ||
+ | 28+1 records in | ||
+ | 28+1 records out | ||
+ | 14592 bytes (15 kB) copied, 0.241498 s, 60.4 kB/s | ||
+ | u-boot fusing | ||
+ | 1075+1 records in | ||
+ | 1075+1 records out | ||
+ | 550830 bytes (551 kB) copied, 4.73449 s, 116 kB/s | ||
+ | TrustZone S/W fusing | ||
+ | 512+0 records in | ||
+ | 512+0 records out | ||
+ | 262144 bytes (262 kB) copied, 2.91927 s, 89.8 kB/s | ||
+ | U-boot image is fused successfully. | ||
+ | |||
+ | |||
+ | #SD Karte unmounten | ||
+ | |||
+ | cd / | ||
+ | umount /srv/sdcard | ||
+ | |||
+ | </ | ||
+ | |||
+ | Nun kann die SD Karte aus dem Reader entnommen und in den HC1 gesteckt werden. | ||
+ | |||
+ | |||
+ | ---- | ||
+ | ---- | ||
+ | |||
+ | ==== HC1 in Betrieb nehmen ==== | ||
+ | |||
+ | |||
+ | * SD Karte in den Slot neben dem Stromstecker | ||
+ | * Netzwerk Kabel anstecken | ||
+ | * Spannungsversorgung anstecken | ||
+ | |||
+ | Über den DHCP Server ermitteln welche IP Adresse vergeben wurde und per SSH anmelden (Default User alarm , Passwort alarm. The Default root Passwort ist root) | ||
+ | |||
+ | |||
+ | ==System konfigurieren== | ||
+ | |||
+ | * Password Default user alarm ändern (passwd) | ||
+ | * Password root User ändern (passwd) | ||
+ | * Hostnamen der Maschine setzen, in meinen Fall auf srvinfluxdb01 <code bash> | ||
+ | hostnamectl set-hostname srvinfluxdb01 | ||
+ | vi / | ||
+ | srvinfluxdb01 | ||
+ | </ | ||
+ | * Upgrade auf letzte Version und Tools installieren< | ||
+ | pacman -S lsof | ||
+ | pacman -S wget | ||
+ | pacman -Syu | ||
+ | # testen ob es geklappt hat | ||
+ | reboot | ||
+ | # wenn nun das System startet, Glück gehabt, es kann weitergehen | ||
+ | </ | ||
+ | |||
+ | Jetzt ist ein guter erster Zeitpunkt für eine Sicherungskopie der SD Karte, der HC1 hat ja eine Monitor Anschluss, geht etwas schief bei der Netzwerk Konfiguration kann wieder von vorn begonnen werden. | ||
+ | * Sauber herunterfahren mit <code bash> | ||
+ | * Karte entfernen | ||
+ | * Unter Windows nun die Karte als Image ablegen => mit [[http:// | ||
+ | * Karte wieder einlegen und HC1 wieder starten | ||
+ | |||
+ | Bei Bedarf eine größere SD Karte verwenden | ||
+ | ! Online ist das normalerweise nicht so recht supported! Und hat dann auch nicht geklappt! Das dann über einen zweiten Rechner offline (nicht gemounted!) durchgeführt! | ||
+ | * Falls eine größere / andere | ||
+ | * mit " | ||
+ | * parted siehe https:// | ||
+ | * Vergrößern mit parted | ||
+ | * parted / | ||
+ | * Filesystem mit " resize2fs / | ||
+ | * reboot, damit wir uns sicher sind das es auch wirklich geklappt hat! | ||
+ | |||
+ | Nun kann weiter gebastelt werden: | ||
+ | |||
+ | * Statische IP Adresse vergeben <code bash> | ||
+ | |||
+ | # Interface name mit ifconfig oder ip link ermitteln | ||
+ | ifconfig | ||
+ | eth0: flags=4163< | ||
+ | ... | ||
+ | # prüfen wie überhaupt und was hier in dem System für das Netzwerk Management zuständig ist! | ||
+ | # in meinen Fall systemd-networkd ! | ||
+ | systemctl list-unit-files | grep net | ||
+ | systemctl list-unit-files | grep dhcp | ||
+ | systemctl status systemd-networkd | ||
+ | |||
+ | # D-h. es muss der systemd dienst entsprechend angepasst werden! | ||
+ | # Im Internet gibt es auch Anleitung für netctl! Diese würde auch funktionieren, | ||
+ | |||
+ | #systemd konfigurieren | ||
+ | |||
+ | cd / | ||
+ | |||
+ | # sicherheitskopie | ||
+ | cp eth0.network ./~ | ||
+ | |||
+ | vi eth0.network | ||
+ | |||
+ | [Match] | ||
+ | Name=eth0 | ||
+ | |||
+ | [Network] | ||
+ | Address=192.168.1.212/ | ||
+ | Gateway=192.168.1.1 | ||
+ | DNS=192.168.1.1 | ||
+ | DNS=8.8.8.8 | ||
+ | |||
+ | # neu starten | ||
+ | | ||
+ | systemctl restart systemd-networkd | ||
+ | |||
+ | |||
+ | |||
+ | </ | ||
+ | | ||
+ | | ||
+ | == SSD einbinden == | ||
+ | |||
+ | **Update 12.2018 nach Upgarde von OS auf 6.3** | ||
+ | |||
+ | Nach Problem mit f2fs (Filesystem inconsistent) wollte ich die Platte neu portionieren, | ||
+ | |||
+ | |||
+ | Nachdem das Basis System im groben läuft kann nun die eigentliche SSD eingebunden werden: | ||
+ | |||
+ | * Anzeigen lassen <code bash> | ||
+ | lsblk | ||
+ | NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT | ||
+ | sda | ||
+ | mmcblk1 | ||
+ | `-mmcblk1p1 179:1 0 14.4G 0 part / | ||
+ | |||
+ | </ | ||
+ | * partitonieren <code bash> | ||
+ | fdisk /dev/sda | ||
+ | p | ||
+ | n | ||
+ | p | ||
+ | 1 | ||
+ | < | ||
+ | < | ||
+ | p | ||
+ | w | ||
+ | </ | ||
+ | * Filesystem anlegen, aber nur welches? [[https:// | ||
+ | pacman -S f2fs-tools | ||
+ | # nach ärgerlichen Problemen nicht wieder eingesetzt! | ||
+ | #mkfs.f2fs -l datadisk /dev/sda1 | ||
+ | # nachdem alle Daten weg waren nun auf eine neues mit ext4 | ||
+ | mkfs.ext4 /dev/sda1 | ||
+ | |||
+ | </ | ||
+ | * Dateisystem einbinden, z.b. als data <code bash> | ||
+ | cd / | ||
+ | mkdir data | ||
+ | chmod 777 data | ||
+ | |||
+ | |||
+ | # in der fstab für den reboot einbinden | ||
+ | vi /etc/fstab | ||
+ | # <file system> <dir> < | ||
+ | #/ | ||
+ | / | ||
+ | |||
+ | # test mount über die fstab! | ||
+ | mount /data | ||
+ | df -h | ||
+ | |||
+ | </ | ||
+ | * Speed test siehe auch https:// | ||
+ | < | ||
+ | |||
+ | #speed test | ||
+ | # INTENSO | ||
+ | dd if=/ | ||
+ | .. | ||
+ | 2122317824 bytes (2.1 GB, 2.0 GiB) copied, 13.8598 s, 153 MB/s | ||
+ | |||
+ | #WD BLUEWDS250GB2BOA | ||
+ | 2122317824 bytes (2.1 GB, 2.0 GiB) copied, 8.86838 s, 239 MB/s | ||
+ | |||
+ | </ | ||
+ | * reboot test | ||
+ | |||
+ | |||
+ | |||
+ | === Kleine Probleme bei der Installation === | ||
+ | |||
+ | == Ping ping: socket: Operation not permitted als none root user== | ||
+ | |||
+ | User alarm: | ||
+ | <code bash> | ||
+ | ping www.heise.de | ||
+ | ping: socket: Operation not permitted | ||
+ | |||
+ | ls -la / | ||
+ | |||
+ | -rwxr-xr-x 1 root root 55820 Apr 25 2017 / | ||
+ | |||
+ | S-Bit fehlt! | ||
+ | |||
+ | </ | ||
+ | Setzen als user root mit: | ||
+ | <code bash> | ||
+ | chmod 4755 / | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== UART Debugging einrichten ==== | ||
+ | |||
+ | Wir brauchen dazu: | ||
+ | |||
+ | * USB-UART board with CP2104 => http:// | ||
+ | * 4pin wire harness to connect to ODROID-X | ||
+ | |||
+ | < | ||
+ | _____UART____ | ||
+ | |Pin 4 - GND| | ||
+ | |Pin 3 - RXD| | ||
+ | |Pin 2 - TXD| | ||
+ | |Pin 1 - VCC| | ||
+ | \___________| | ||
+ | |||
+ | 1.8V LVTTL for ODROID-U3/ | ||
+ | 3.3V LVTTL for ODROID-C1/ | ||
+ | |||
+ | RxD pin is input and TxD pin is output. | ||
+ | |||
+ | </ | ||
+ | |||
+ | siehe auch https:// | ||
+ | |||
+ | Habe ich natürlich nicht gerade zur Hand, nehme was aus der Bastel Kiste, Ftdi Adapter klappt mal nicht, da heißt es doch das Original besorgen. Selbstbau ist leider auch nicht so einfach. | ||
+ | |||
+ | Bei Polin kann nun der Adapter auch erworben werden => https:// | ||
+ | |||
+ | |||
+ | * Im ersten Schritt den Treiber installieren => https:// | ||
+ | * Im Gerätemanager auf dem Treiber Settings die Baud Rate auf 115200 stellen und den Com Port merken | ||
+ | * Auf den Com Port mit dem Putty verbinden | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | ==== Influx Datenbank aufsetzen==== | ||
+ | |||
+ | Ablauf: | ||
+ | * User anlegen | ||
+ | * Tar file entpacken | ||
+ | * Autostart einrichten | ||
+ | |||
+ | Die Software wird jeweils einfach ausgepackt und über einen Links auf diese aktuelle Version verwiesen, | ||
+ | |||
+ | ===DB User === | ||
+ | |||
+ | <code bash> | ||
+ | groupadd -g 1100 dba | ||
+ | useradd -u 1101 -g dba influx | ||
+ | |||
+ | mkdir / | ||
+ | chown -R influx:dba / | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===Software für die Influx DB Umgebung === | ||
+ | |||
+ | |||
+ | <code bash> | ||
+ | |||
+ | pacman -S wget | ||
+ | |||
+ | cd /srv | ||
+ | |||
+ | wget https:// | ||
+ | tar xvfz influxdb-1.4.2_linux_armhf.tar.gz | ||
+ | |||
+ | |||
+ | wget https:// | ||
+ | tar xvfz chronograf-1.4.0.0_linux_armhf.tar.gz | ||
+ | |||
+ | ln -s / | ||
+ | ln -s / | ||
+ | |||
+ | |||
+ | chown -R influx:dba / | ||
+ | chown -R influx:dba / | ||
+ | |||
+ | mkdir install | ||
+ | mv *.gz install/ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | DB anlegen | ||
+ | <code bash> | ||
+ | |||
+ | #Influx DB Verzeichniss anlegen | ||
+ | # alle beweglichen Daten sollen auf die /data Platte gelegt werden | ||
+ | |||
+ | mkdir / | ||
+ | mkdir / | ||
+ | mkdir / | ||
+ | mkdir / | ||
+ | |||
+ | chown -R influx:dba / | ||
+ | |||
+ | # die weitere Konfiguration erfolgt nun unter dem User unter dem später auch die DB laufen soll | ||
+ | # | ||
+ | |||
+ | su - influx | ||
+ | |||
+ | cd / | ||
+ | |||
+ | vi influxdb.conf | ||
+ | |||
+ | |||
+ | ... | ||
+ | [meta] | ||
+ | # Where the metadata/ | ||
+ | dir = "/ | ||
+ | ... | ||
+ | [data] | ||
+ | # The directory where the TSM storage engine stores TSM files. | ||
+ | dir = "/ | ||
+ | |||
+ | # The directory where the TSM storage engine stores WAL files. | ||
+ | wal-dir = "/ | ||
+ | | ||
+ | [http] | ||
+ | # Determines whether HTTP endpoint is enabled. | ||
+ | enabled = true | ||
+ | # The bind address used by the HTTP service. | ||
+ | bind-address = " | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | Starten: | ||
+ | |||
+ | <code bash> | ||
+ | [influx@srvinfluxdb01 bin]$ ./influxd -config / | ||
+ | |||
+ | </ | ||
+ | |||
+ | === Influx Autostart einrichten === | ||
+ | |||
+ | Bei der Tar Version sind die Skripte unter / | ||
+ | |||
+ | Vorbereitung, | ||
+ | <code bash> | ||
+ | |||
+ | touch / | ||
+ | |||
+ | mkdir / | ||
+ | |||
+ | ln -s / | ||
+ | ln -s / | ||
+ | |||
+ | chmod 764 / | ||
+ | |||
+ | </ | ||
+ | |||
+ | == Start Service anlegen == | ||
+ | |||
+ | Das influxdb.service Script auf die verwendeten User anpassen: | ||
+ | |||
+ | <code bash> | ||
+ | .. | ||
+ | [Service] | ||
+ | User=influx | ||
+ | Group=dba | ||
+ | .. | ||
+ | </ | ||
+ | |||
+ | Datei "/ | ||
+ | |||
+ | <code bash> | ||
+ | cp / | ||
+ | </ | ||
+ | |||
+ | |||
+ | Link anlegen: | ||
+ | <code bash> | ||
+ | ln -s / | ||
+ | </ | ||
+ | |||
+ | Reload systemd | ||
+ | <code bash> | ||
+ | systemctl daemon-reload | ||
+ | </ | ||
+ | |||
+ | |||
+ | Starten und einschalten des Service: | ||
+ | <code bash> | ||
+ | #Starten | ||
+ | systemctl start influxdb.service | ||
+ | |||
+ | #Auto Start aktivieren | ||
+ | systemctl enable influxdb.service | ||
+ | |||
+ | #Status prüfen | ||
+ | |||
+ | systemctl status influxdb.service -l | ||
+ | |||
+ | |||
+ | #Stoppen | ||
+ | |||
+ | systemctl stop influxdb.service | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | prüfen ob die Reichenfolge auch passt: | ||
+ | <code bash> | ||
+ | systemd-analyze critical-chain influxdb.service | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Chronograf Oberfläche ==== | ||
+ | |||
+ | |||
+ | Um die Datenbank abzufragen und auch um die Datenbank zu verwalten ist die Chronograf Oberfläche | ||
+ | |||
+ | |||
+ | ===Setup== | ||
+ | |||
+ | |||
+ | Software: | ||
+ | <code bash> | ||
+ | |||
+ | cd srv | ||
+ | |||
+ | wget https:// | ||
+ | |||
+ | tar xvfz chronograf-1.4.0.0_linux_armhf.tar.gz | ||
+ | |||
+ | ln -s / | ||
+ | |||
+ | chown -R influx:dba / | ||
+ | |||
+ | </ | ||
+ | |||
+ | Die Konfigration erfolgt über Übergabe Parameter beim Autostart Skript. | ||
+ | |||
+ | |||
+ | |||
+ | === chronograf Autostart === | ||
+ | |||
+ | |||
+ | Vorbereitung, | ||
+ | <code bash> | ||
+ | |||
+ | touch / | ||
+ | |||
+ | ln -s / | ||
+ | |||
+ | chmod 764 / | ||
+ | |||
+ | mkdir / | ||
+ | |||
+ | chown -R influx:dba / | ||
+ | |||
+ | </ | ||
+ | |||
+ | Das chronograf.service | ||
+ | |||
+ | <code bash> | ||
+ | .. | ||
+ | [Service] | ||
+ | User=influx | ||
+ | Group=dba | ||
+ | .. | ||
+ | |||
+ | ExecStart=/ | ||
+ | |||
+ | </ | ||
+ | |||
+ | Datei "/ | ||
+ | |||
+ | <code bash> | ||
+ | cp / | ||
+ | </ | ||
+ | |||
+ | |||
+ | Link anlegen: | ||
+ | <code bash> | ||
+ | ln -s / | ||
+ | </ | ||
+ | |||
+ | Reload systemd | ||
+ | <code bash> | ||
+ | systemctl daemon-reload | ||
+ | </ | ||
+ | |||
+ | |||
+ | Starten und einschalten des Service: | ||
+ | <code bash> | ||
+ | #Starten | ||
+ | systemctl start chronograf.service | ||
+ | |||
+ | #Auto Start aktivieren | ||
+ | systemctl enable chronograf.service | ||
+ | |||
+ | #Status prüfen | ||
+ | |||
+ | systemctl status chronograf.service -l | ||
+ | |||
+ | |||
+ | #Stoppen | ||
+ | |||
+ | systemctl stop chronograf.service | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | prüfen ob die Reichenfolge auch passt: | ||
+ | <code bash> | ||
+ | systemd-analyze critical-chain chronograf.service | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | ==== Grafana ===== | ||
+ | |||
+ | Für Odroid und Arch Linux gibt es wenig, nur für den Pi und Debian Style sind fertige Pakete verfügbar. | ||
+ | |||
+ | Das heißt hier dann selber bauen mit => http:// | ||
+ | |||
+ | |||
+ | <code bash> | ||
+ | |||
+ | # als root die notwendigen Packages/ | ||
+ | |||
+ | pacman -S gcc make | ||
+ | pacman -S go | ||
+ | pacman -S git | ||
+ | pacman -S nodejs | ||
+ | pacman -S python2 | ||
+ | pacman -S npm | ||
+ | pacman -S phantomjs | ||
+ | |||
+ | #node-gyp installieren | ||
+ | |||
+ | npm install -g node-gyp | ||
+ | |||
+ | # die eigentliche Software herunterladen | ||
+ | |||
+ | mkdir / | ||
+ | |||
+ | cd / | ||
+ | |||
+ | |||
+ | export GOPATH=`pwd` | ||
+ | go get github.com/ | ||
+ | |||
+ | |||
+ | cd / | ||
+ | |||
+ | go run build.go setup | ||
+ | go run build.go build | ||
+ | |||
+ | </ | ||
+ | |||
+ | Nun die Frontend Packages zusammen stellen. | ||
+ | <code bash> | ||
+ | cd / | ||
+ | |||
+ | npm install -g yarn | ||
+ | yarn install --pure-lockfile | ||
+ | npm run build | ||
+ | |||
+ | |||
+ | cp -r bin / | ||
+ | cp -r conf / | ||
+ | cp -r data / | ||
+ | cp -r public / | ||
+ | cp -r scripts / | ||
+ | cp -r vendor / | ||
+ | cp ./ | ||
+ | |||
+ | cd / | ||
+ | |||
+ | mkdir / | ||
+ | mv data/ / | ||
+ | chown -R influx:dba / | ||
+ | ln -s / | ||
+ | |||
+ | </ | ||
+ | |||
+ | Testweise starten mit: | ||
+ | <code bash> | ||
+ | cd / | ||
+ | ./ | ||
+ | |||
+ | </ | ||
+ | |||
+ | Anmelden mit admin/admin | ||
+ | |||
+ | === Autostart einrichten === | ||
+ | |||
+ | |||
+ | Vorlage unter => / | ||
+ | |||
+ | |||
+ | Vorbereitung, | ||
+ | <code bash> | ||
+ | |||
+ | # um auf der sicheren Seite zu sein das später auch alles unter dem User funktioniert! | ||
+ | chown -R influx: | ||
+ | |||
+ | #Link | ||
+ | |||
+ | ln -s / | ||
+ | |||
+ | |||
+ | cd / | ||
+ | |||
+ | cp grafana-server / | ||
+ | |||
+ | vi / | ||
+ | |||
+ | GRAFANA_USER=influx | ||
+ | GRAFANA_GROUP=dba | ||
+ | GRAFANA_HOME=/ | ||
+ | LOG_DIR=/ | ||
+ | DATA_DIR=/ | ||
+ | MAX_OPEN_FILES=10000 | ||
+ | CONF_DIR=/ | ||
+ | CONF_FILE=/ | ||
+ | RESTART_ON_UPGRADE=true | ||
+ | PLUGINS_DIR=/ | ||
+ | PROVISIONING_CFG_DIR=/ | ||
+ | # Only used on systemd systems | ||
+ | PID_FILE_DIR=/ | ||
+ | |||
+ | cp / | ||
+ | |||
+ | </ | ||
+ | |||
+ | Das grafana.service Skript auf die verwendeten User und Verzeichnisse anpassen: | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | cd / | ||
+ | |||
+ | vi grafana-server.service | ||
+ | .. | ||
+ | [Service] | ||
+ | EnvironmentFile=/ | ||
+ | User=influx | ||
+ | Group=dba | ||
+ | Type=notify | ||
+ | Restart=on-failure | ||
+ | WorkingDirectory=/ | ||
+ | RuntimeDirectory=grafana | ||
+ | |||
+ | .. | ||
+ | |||
+ | </ | ||
+ | |||
+ | Datei "/ | ||
+ | |||
+ | <code bash> | ||
+ | cp grafana-server.service | ||
+ | </ | ||
+ | |||
+ | |||
+ | Link anlegen: | ||
+ | <code bash> | ||
+ | ln -s / | ||
+ | </ | ||
+ | |||
+ | Reload systemd | ||
+ | <code bash> | ||
+ | systemctl daemon-reload | ||
+ | </ | ||
+ | |||
+ | |||
+ | Starten und einschalten des Service: | ||
+ | <code bash> | ||
+ | #Starten | ||
+ | systemctl start grafana.service | ||
+ | |||
+ | #Auto Start aktivieren | ||
+ | systemctl enable grafana.service | ||
+ | |||
+ | #Status prüfen | ||
+ | |||
+ | systemctl status grafana.service -l | ||
+ | |||
+ | |||
+ | #Stoppen | ||
+ | |||
+ | systemctl stop grafana.service | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | prüfen ob die Reichenfolge auch passt: | ||
+ | <code bash> | ||
+ | systemd-analyze critical-chain grafana.service | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | ==== Firewall Rules hinterlegen=== | ||
+ | |||
+ | * Influx | ||
+ | * Cronograph 8888 | ||
+ | * Grafana | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Backup der Umgebung einrichten ==== | ||
+ | |||
+ | Nach dem ersten Erfolg muss natürlich das ganze auch gesichert werden. | ||
+ | |||
+ | Aber wie? siehe https:// | ||
+ | |||
+ | Demnächst mehr | ||
+ | |||
+ | |||
+ | <code bash> | ||
+ | |||
+ | mkdir / | ||
+ | |||
+ | chown -R influx:dba / | ||
+ | |||
+ | |||
+ | su - influx | ||
+ | |||
+ | |||
+ | cd / | ||
+ | |||
+ | |||
+ | # Katalog sicheren | ||
+ | |||
+ | influxd backup / | ||
+ | 2018/01/03 11:07:02 backing up metastore to / | ||
+ | 2018/01/03 11:07:02 backup complete | ||
+ | |||
+ | |||
+ | # Eine Datenbank + Katalog sichern | ||
+ | |||
+ | influxd backup -database JBR / | ||
+ | 2018/01/03 11:07:50 backing up db=JBR since 0001-01-01 00:00:00 +0000 UTC | ||
+ | 2018/01/03 11:07:50 backing up metastore to / | ||
+ | 2018/01/03 11:07:50 backing up db=JBR rp=autogen shard=5 to / | ||
+ | |||
+ | .... | ||
+ | |||
+ | 2018/01/03 11:07:50 backing up db=JBR rp=autogen shard=12 to / | ||
+ | 2018/01/03 11:07:50 backup complete | ||
+ | |||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Upgrade der Umgebung ==== | ||
+ | |||
+ | <note warning> | ||
+ | |||
+ | <note warning> | ||
+ | </ | ||
+ | |||
+ | Vor dem OS Update prüfen ob phantomjs wieder in der aktuellen Arch Linux Variante zur Verfügung steht! | ||
+ | |||
+ | Schlechte Idee - Hätte vor dem Upgarde die SSD testen und sichern sollen .. durch Reboot nach dem Upgrade hat sich herausgestellt das das Filesystem defekt ist ... alle Daten weg .... :-? | ||
+ | |||
+ | |||
+ | ===OS Update=== | ||
+ | |||
+ | Mit pacman: | ||
+ | <code bash> | ||
+ | pacman -Syu | ||
+ | |||
+ | Fehler: | ||
+ | error: failed to commit transaction (conflicting files) | ||
+ | node-gyp: / | ||
+ | |||
+ | |||
+ | # | ||
+ | |||
+ | mv / | ||
+ | |||
+ | # erneut gestartet | ||
+ | pacman -Syu | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | <fc # | ||
+ | |||
+ | Lösung: Schlüssel neu einlesen: | ||
+ | <code bash> | ||
+ | |||
+ | pacman-key --init | ||
+ | pacman-key --init | ||
+ | pacman-key --populate archlinuxarm | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===Influx DB=== | ||
+ | |||
+ | Upgrade von 1.4 auf 1.7 | ||
+ | |||
+ | Siehe auch => https:// | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | |||
+ | cd /srv | ||
+ | |||
+ | wget https:// | ||
+ | |||
+ | tar xvfz influxdb-1.7.1_linux_armhf.tar.gz | ||
+ | |||
+ | chown -R influx:dba / | ||
+ | |||
+ | # | ||
+ | |||
+ | #als user influx! | ||
+ | |||
+ | cp / | ||
+ | |||
+ | #uncomment index-version = " | ||
+ | |||
+ | #DB Stoppen | ||
+ | systemctl stop influxdb | ||
+ | |||
+ | # Link löschen und neu auf das neue Home | ||
+ | rm / | ||
+ | ln -s / | ||
+ | |||
+ | #DB Starten | ||
+ | |||
+ | systemctl start influxdb | ||
+ | |||
+ | # pürfen: | ||
+ | |||
+ | / | ||
+ | InfluxDB v1.7.1 (git: 1.7 cb03c542a4054f0f4d3dc13919d31c456bdb5c39) | ||
+ | |||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===Grafana=== | ||
+ | |||
+ | |||
+ | <fc # | ||
+ | |||
+ | Grafana erneut geladen und neu übersetzt als root: | ||
+ | <code bash> | ||
+ | |||
+ | cd /srv/ | ||
+ | |||
+ | mkdir grafana5.3 | ||
+ | |||
+ | cd grafana5.3 | ||
+ | |||
+ | export GOPATH=`pwd` | ||
+ | |||
+ | go get github.com/ | ||
+ | |||
+ | #package github.com/ | ||
+ | |||
+ | |||
+ | cd $GOPATH/ | ||
+ | |||
+ | go run build.go setup | ||
+ | go run build.go build | ||
+ | |||
+ | |||
+ | #Frontend aufsetzten | ||
+ | npm install -g yarn | ||
+ | npm i webpack -g | ||
+ | yarn install --pure-lockfile | ||
+ | yarn watch | ||
+ | |||
+ | =>>> | ||
+ | phantomjs -version | ||
+ | phantomjs: error while loading shared libraries: libicui18n.so.60: | ||
+ | |||
+ | # Ein Verlinken auf die neuen Libs führt auch nicht zum Erfolg, passen nicht mehr zusammen ... | ||
+ | |||
+ | #Upgarde nicht möglich!!!! | ||
+ | |||
+ | #So wäre es weiter gegangen | ||
+ | #Alte Umgebung stoppen | ||
+ | #systemctl stop influxdb | ||
+ | # Verzeichnisstruktur umhängen | ||
+ | #cd /srv | ||
+ | #mv grafana grafana5.0 | ||
+ | #ls -s / | ||
+ | |||
+ | </ | ||
+ | |||
+ | Da sich phantomjs nicht auf so einem kleinen Rechner übersetzen läßt, ist nun guter Rat teuer, leider aus Platzgründen die alten Cache Dateien von Arch Linux gelöscht, sonst hätte man von dort evlt. die passenden | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Quellen ==== | ||
+ | |||
+ | |||
+ | ArchLinux | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | |||
+ | Odroid | ||
+ | |||
+ | * http:// | ||
raspberry/odroid_hc1_influx_db_grafana.txt · Zuletzt geändert: 2019/03/29 10:14 von gpipperr