Benutzer-Werkzeuge

Webseiten-Werkzeuge


raspberry:odroid_hc1_influx_db_grafana

Odroid HC1 Monitoring Appliance mit InfluxDB und Grafana

Januar 2018 Dezember 2018 Upgrade OS

Ziel:

Alle Daten meine Heizungsanlage, das Wetter und ähnliche Datenquellen sollen zentral auf in einer Time Serien Datenbank möglichst Energie sparend gespeichert werden.

Dazu kommt als ARM basierende Kleinrechner ein ODROID-HC1 mit einer SSD zum Einsatz. Als Betriebssystem wird Arch Linux eingesetzt. Als Datenbank wird InfluxDB eingesetzt, Grafana für die Visualisierung. Da sich das Arch Linux Package für den HC1 sich etwas als „zickig“ herausstellt, ist dringend auch ein USB to Serial Adapter zu empfehlen!

Mehr zum HC1 in diesem Mini Review ⇒ ODROID HC1 / HC2

 Odroid hc1 with InfluxDB and Grahana

Die Konfiguration wurde zuvor unter Windows getestet ⇒ Timeseries darstellen - Erste Erfahrungen mit InfluxDB / Telegraf / Chronograf / Grafana

Dezember 2018 - Bei Arch Linux 6.3 fehlt das „phantomjs“ Package und einzeln installierten „phantomjs“ Builds fehlen wichtige Libraries in der richtigen Version ! ⇒ Grafana kann nicht installiert werden!

Material Odroid HC1

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, Autostart einrichten
  • Graphana aus der Source aufbauen, konfigurieren, Autostart


Installation Arch Linux

Auf die schnelle leider kein Image für eine microSD Karte gefunden, daher wie über ⇒ https://archlinuxarm.org/platforms/armv7/samsung/odroid-xu4 beschreiben die SD Karte zuvor mit dem Betriebssystem über ein anderes Linux System vorbereitet.

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 ⇒ Unter VMware Workstation eine SD Karte in eine Linux VM einbinden

Nun kann die SD Karte entsprechend unter Linux vorbreitet werden:

# nochmals genau prüfen das auch das richtige Device erkannt wurde!
lsblk
 
# SD Karten Anfang mit 000 auffüllen  um den DOS Header etc. loss zu werden
dd if=/dev/zero of=/dev/sda bs=1M count=8
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
<return>
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://os.archlinuxarm.org/os/ArchLinuxARM-odroid-xu3-latest.tar.gz
 
# MD5 Hash des Images prüfen
# MD5 Hash des Images überprüfen c049b088101e3f1675175367b6ad61a7  siehe  http://os.archlinuxarm.org/os/
 
c049b088101e3f1675175367b6ad61a7  ArchLinuxARM-odroid-xu3-latest.tar.gz
 
# 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 /srv/sdcard/boot
 
# 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
    hostnamectl set-hostname srvinfluxdb01
    vi /etc/hostname
    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
    shutdown -h now
  • Karte entfernen
  • Unter Windows nun die Karte als Image ablegen ⇒ mit win32diskimager für das Schreiben des Images der SD Karte auf Platte
  • 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 SD Karte nun verwendet werden soll:
    • mit „pacman -S parted“ installieren
    • Vergrößern mit parted im Kommando Mode
      • parted /dev/mmcblk1 , Anzeigen was frei ist (parted) print free, (parted)resizepart 1 (bis auf Größe von free)
      • Filesystem mit „ resize2fs /dev/mmcblk1p1“ auf die volle Größe der Partition vergrößern, testen mit df -h
      • reboot, damit wir uns sicher sind das es auch wirklich geklappt hat!

Nun kann weiter gebastelt werden:

  • Statische IP Adresse vergeben
    # Interface name mit ifconfig oder ip link ermitteln
    ifconfig
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
          ...
    # 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, dann muss aber dieser systemd-networkd deaktiviert werden!
     
    #systemd konfigurieren
     
    cd /etc/systemd/network
     
    # sicherheitskopie
    cp eth0.network ./~
     
    vi eth0.network
     
    [Match]
    Name=eth0
     
    [Network]
    Address=192.168.1.212/24
    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, konnte aber das f2fs Filesystem nicht mehr entfernen, weder ließ sich die Partition mit fdisk löschen, noch die Platte mit dd überschreiben oder gar ein ext4 Filessystem darauf anlegen. Die Platte hat sich verhalten, als ob die Platte schreibgeschützt wäre. Dann nochmals als f2fs formatiert, plötzlich ist das Filesystem wieder inkl. der Daten wieder da und die Platte läßt sich wieder mounten. Die gute Frage ist jetzt ist die Platte defekt oder ist das irgendeine Magic von f2fs? Oder der Kernel Treiber? Werde diese Platte wohl bald möglichst gegen eine Samsung tauschen.

Nachdem das Basis System im groben läuft kann nun die eigentliche SSD eingebunden werden:

  • Anzeigen lassen
    lsblk
    NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda           8:0    0  118G  0 disk
    mmcblk1     179:0    0 14.4G  0 disk
    `-mmcblk1p1 179:1    0 14.4G  0 part /
  • partitonieren
    fdisk /dev/sda
    p
    n
    p
    1
    <return>
    <return>
    p
    w
  • Filesystem anlegen, aber nur welches? F2FS wird hier gewählt da es sich um eine SSD handelt, ist das eine gute Idee? Wird sich zeigen … leider hat es sich nicht bewährt, Filesystem ist ausgefallen und ließ sich nicht mehr reparieren
    pacman -S f2fs-tools
    #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
    cd /
    mkdir data
    chmod 777 data
     
     
    # in der fstab für den reboot einbinden
    vi /etc/fstab
    # <file system> <dir> <type> <options> <dump> <pass>
    /dev/sda1  /data  f2fs rw,acl,active_logs=6,background_gc=on,user_xattr 0 1
     
    # test mount über die fstab!
    mount /data
    df -h
#speed test
dd if=/dev/zero of=/data/testSpeedFile bs=1M count=2024
..
2122317824 bytes (2.1 GB, 2.0 GiB) copied, 13.8598 s, 153 MB/s
  • reboot test

Kleine Probleme bei der Installation

Ping ping: socket: Operation not permitted als none root user

User alarm:

 ping www.heise.de
ping: socket: Operation not permitted
 
ls -la /usr/bin/ping
 
-rwxr-xr-x 1 root root 55820 Apr 25  2017 /usr/bin/ping
 
S-Bit fehlt!

Setzen als user root mit:

 chmod 4755 /usr/bin/ping

UART Debugging einrichten

Wir brauchen dazu:

_____UART____
|Pin 4 - GND|
|Pin 3 - RXD|
|Pin 2 - TXD|
|Pin 1 - VCC|
\___________|

1.8V LVTTL for ODROID-U3/XU3/XU4/X2/X
3.3V LVTTL for ODROID-C1/C1+/C0/C2/W

RxD pin is input and TxD pin is output.

siehe auch https://wiki.odroid.com/accessory/development/usb_uart_kit und http://www.hardkernel.com/main/products/prdt_info.php?g_code=G134111883934&tab_idx=1

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://www.pollin.de/p/odroid-usb-uart-module-schnittstellenkarte-810326



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, alle Start und Konfigurationsdateien arbeiten mit dem Link, bei einen Software Update muss dann nur der Link auf die neue Version angepasst werden!

DB User

groupadd -g 1100 dba
useradd -u 1101 -g dba influx
 
mkdir /home/influx
chown -R influx:dba /home/influx

Software für die Influx DB Umgebung

pacman -S wget
 
cd /srv
 
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.4.2_linux_armhf.tar.gz
tar xvfz influxdb-1.4.2_linux_armhf.tar.gz
 
 
wget https://dl.influxdata.com/chronograf/releases/chronograf-1.4.0.0_linux_armhf.tar.gz
tar xvfz chronograf-1.4.0.0_linux_armhf.tar.gz
 
ln -s /srv/chronograf-1.4.0.0-1  /srv/chronograf
ln -s /srv/influxdb-1.4.2-1  /srv/influxdb
 
 
chown -R influx:dba /srv/influxdb-1.4.2-1
chown -R influx:dba /srv/chronograf-1.4.0.0-1
 
mkdir install
mv *.gz install/

DB anlegen

#Influx DB Verzeichniss anlegen
# alle beweglichen Daten sollen auf die /data Platte gelegt werden
 
mkdir /data/influxdb
mkdir /data/influxdb/meta
mkdir /data/influxdb/data
mkdir /data/influxdb/wal
 
chown -R influx:dba /data/influxdb
 
# die weitere Konfiguration erfolgt nun unter dem User unter dem später auch die DB laufen soll
#
 
su - influx
 
cd /srv/influxdb/etc/influxdb
 
vi influxdb.conf
 
 
...
[meta]
  # Where the metadata/raft database is stored
  dir = "/data/influxdb/meta"
...
[data]
  # The directory where the TSM storage engine stores TSM files.
  dir = "/data/influxdb/data"
 
  # The directory where the TSM storage engine stores WAL files.
  wal-dir = "/data/influxdb/wal"
 
[http]
  # Determines whether HTTP endpoint is enabled.
  enabled = true
  # The bind address used by the HTTP service.
  bind-address = "192.168.1.212:8086"

Starten:

[influx@srvinfluxdb01 bin]$ ./influxd -config /srv/influxdb/etc/influxdb/influxdb.conf &

Influx Autostart einrichten

Bei der Tar Version sind die Skripte unter /srv/influxdb/usr/lib/influxdb/scripts zu finden bzw im Netz ⇒ https://github.com/influxdata/influxdb/tree/master/scripts

Vorbereitung, gleiche Struktur wie in den Skripten vorbereiten:

touch /etc/default/influxdb
 
mkdir /etc/influxdb
 
ln -s /srv/influxdb/etc/influxdb/influxdb.conf /etc/influxdb/influxdb.conf
ln -s /srv/influxdb/usr/bin/influxd /usr/bin/influxd
 
chmod 764 /srv/influxdb/usr/lib/influxdb/scripts/init.sh
Start Service anlegen

Das influxdb.service Script auf die verwendeten User anpassen:

..
[Service]
User=influx
Group=dba
..

Datei „/lib/systemd/system/influxdb.service“ kopieren:

cp /srv/influxdb/usr/lib/influxdb/scripts/influxdb.service /lib/systemd/system/influxdb.service

Link anlegen:

 ln -s /lib/systemd/system/influxdb.service /etc/systemd/system/influxdb.service

Reload systemd

systemctl daemon-reload

Starten und einschalten des Service:

#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:

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 ganz nützlich.

Setup

Software:

cd srv
 
wget https://dl.influxdata.com/chronograf/releases/chronograf-1.4.0.0_linux_armhf.tar.gz
 
tar xvfz chronograf-1.4.0.0_linux_armhf.tar.gz
 
ln -s /srv/chronograf-1.4.0.0-1 srv/chronograf
 
chown -R influx:dba /srv/chronograf-1.4.0.0-1

Die Konfigration erfolgt über Übergabe Parameter beim Autostart Skript.

chronograf Autostart

Vorbereitung, gleiche Struktur wie in den Skripten vorbereiten:

touch /etc/default/chronograf
 
ln -s /srv/chronograf/usr/bin/chronograf /usr/bin/chronograf
 
chmod 764 /srv/chronograf/usr/lib/chronograf/scripts/init.sh
 
mkdir /data/chronograf/
 
chown -R influx:dba /data/chronograf/

Das chronograf.service Script auf die verwendeten User und Verzeichnisse anpassen:

..
[Service]
User=influx
Group=dba
..
 
ExecStart=/usr/bin/chronograf --host 192.168.1.212 --port 8888 -b /data/chronograf/chronograf-v1.db -c /data/chronograf/canned $CHRONOGRAF_OPTS

Datei „/lib/systemd/system/chronograf.service“ kopieren:

cp /srv/chronograf/usr/lib/chronograf/scripts/chronograf.service /lib/systemd/system/chronograf.service

Link anlegen:

 ln -s /lib/systemd/system/chronograf.service /etc/systemd/system/chronograf.service

Reload systemd

systemctl daemon-reload

Starten und einschalten des Service:

#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:

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://docs.grafana.org/project/building_from_source/

# als root die notwendigen Packages/Libraries zuvor installieren 
 
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 /srv/grafana/build_grafana
 
cd /srv/grafana/build_grafana
 
 
export GOPATH=`pwd`
go get github.com/grafana/grafana
 
 
cd /srv/grafana/build_grafana/src/github.com/grafana/grafana
 
go run build.go setup
go run build.go build

Nun die Frontend Packages zusammen stellen.

cd /srv/grafana/build_grafana/src/github.com/grafana/grafana
 
npm install -g yarn
yarn install --pure-lockfile
npm run build
 
 
cp -r bin /srv/grafana
cp -r conf /srv/grafana
cp -r data /srv/grafana
cp -r public /srv/grafana
cp -r scripts /srv/grafana
cp -r vendor /srv/grafana
cp ./docs/VERSION LICENSE.md NOTICE.md README.md /srv/grafana
 
cd /srv/grafana
 
mkdir /data/grafana
mv data/ /data/grafana
chown -R influx:dba /data/grafana/
ln -s /data/grafana/data/ /srv/grafana/data

Testweise starten mit:

cd /srv/grafana
./bin/grafana-server

Anmelden mit admin/admin

Autostart einrichten

Vorlage unter ⇒ /srv/grafana/build_grafana/src/github.com/grafana/grafana/packaging/rpm/systemd

Vorbereitung, gleiche Struktur wie in den Skripten vorbereiten:

# um auf der sicheren Seite zu sein das später auch alles unter dem User funktioniert!
chown -R influx:dba  /data/grafana
 
#Link
 
ln -s /srv/grafana/bin/grafana-server /usr/sbin/grafana-server
 
 
cd /srv/grafana/build_grafana/src/github.com/grafana/grafana/packaging/rpm/sysconfig
 
cp grafana-server /etc/default/grafana-server
 
vi /etc/default/grafana-server
 
GRAFANA_USER=influx
GRAFANA_GROUP=dba
GRAFANA_HOME=/srv/grafana
LOG_DIR=/var/log/grafana
DATA_DIR=/data/grafana/data
MAX_OPEN_FILES=10000
CONF_DIR=/srv/grafana/conf
CONF_FILE=/srv/grafana/conf/grafana.ini
RESTART_ON_UPGRADE=true
PLUGINS_DIR=/srv/grafana/plugins
PROVISIONING_CFG_DIR=/etc/grafana/provisioning
# Only used on systemd systems
PID_FILE_DIR=/var/run/grafana
 
cp /srv/grafana/conf/defaults.ini /srv/grafana/conf/grafana.ini

Das grafana.service Skript auf die verwendeten User und Verzeichnisse anpassen:

cd /srv/grafana/build_grafana/src/github.com/grafana/grafana/packaging/rpm/systemd
 
vi grafana-server.service
..
[Service]
EnvironmentFile=/etc/default/grafana-server
User=influx
Group=dba
Type=notify
Restart=on-failure
WorkingDirectory=/srv/grafana
RuntimeDirectory=grafana
 
..

Datei „/lib/systemd/system/grafana-server.service“ kopieren:

cp grafana-server.service  /lib/systemd/system/grafana.service

Link anlegen:

 ln -s /lib/systemd/system/grafana.service /etc/systemd/system/grafana.service

Reload systemd

systemctl daemon-reload

Starten und einschalten des Service:

#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:

systemd-analyze critical-chain grafana.service

Firewall Rules hinterlegen

  • Influx 8086
  • Cronograph 8888
  • Grafana 3000

Backup der Umgebung einrichten

Nach dem ersten Erfolg muss natürlich das ganze auch gesichert werden.

Aber wie? siehe https://docs.influxdata.com/influxdb/v1.4/administration/backup_and_restore/

Demnächst mehr

mkdir /data/backup
 
chown -R influx:dba /data/backup/
 
 
su - influx
 
 
cd /srv/influxdb/usr/bin
 
 
# Katalog sicheren
 
influxd backup /data/backup/
2018/01/03 11:07:02 backing up metastore to /data/backup/meta.00
2018/01/03 11:07:02 backup complete
 
 
# Eine Datenbank + Katalog sichern
 
influxd backup -database JBR /data/backup/
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 /data/backup/meta.01
2018/01/03 11:07:50 backing up db=JBR rp=autogen shard=5 to /data/backup/JBR.autogen.00005.00 since 0001-01-01 00:00:00 +0000 UTC
 
....
 
2018/01/03 11:07:50 backing up db=JBR rp=autogen shard=12 to /data/backup/JBR.autogen.00012.00 since 0001-01-01 00:00:00 +0000 UTC
2018/01/03 11:07:50 backup complete

Upgrade der Umgebung

!!!Backup erstellen von der Datenbank und den Grafana Workbooks erstellen!!!!
Achtung! Nach OS Upgrade auf 6.3 steht das phantomjs package nicht mehr zur Verfügung und die Libraris fehlen ⇒ Grafana läßt sich nicht mehr installieren! Ärgerlich !

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:

pacman -Syu
 
Fehler:
error: failed to commit transaction (conflicting files)
node-gyp: /usr/lib/node_modules/node-gyp/.jshintrc exists in filesystem
 
 
#Verzeichnis Umbenannt
 
mv /usr/lib/node_modules/node-gyp /usr/lib/node_modules/_node-gyp
 
# erneut gestartet
pacman -Syu

Problem: error: : signature from „Arch Linux ARM Build System builder@archlinuxarm.org“ is unknown trust„ beim Nachinstallieren von Packeten nach dem Update

Lösung: Schlüssel neu einlesen:

pacman-key --init
pacman-key --init
pacman-key --populate archlinuxarm

Influx DB

Upgrade von 1.4 auf 1.7

Siehe auch ⇒ https://docs.influxdata.com/influxdb/v1.7/administration/upgrading/

 
cd /srv
 
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.1_linux_armhf.tar.gz
 
tar xvfz influxdb-1.7.1_linux_armhf.tar.gz
 
chown -R influx:dba /srv/influxdb-1.7.1-1/
 
#Configurationsdatei aus alten Home kopieren 
 
#als user influx!
 
cp /srv/influxdb-1.4.2-1/etc/influxdb/influxdb.conf  /srv/influxdb-1.7.1-1/etc/influxdb/influxdb.conf 
 
#uncomment index-version = "inmem"' and change the value totsi1`.
 
#DB Stoppen
systemctl stop influxdb
 
# Link löschen und neu auf das neue Home 
rm /srv/influxdb
ln -s /srv/influxdb-1.7.1-1  /srv/influxdb
 
#DB Starten
 
systemctl start influxdb
 
# pürfen:
 
/usr/bin/influxd version
InfluxDB v1.7.1 (git: 1.7 cb03c542a4054f0f4d3dc13919d31c456bdb5c39)

Grafana

Mit Arch Linux 6.3 ist mir das aufgrund von Fehlern mit „phantomjs“ nicht gelungen!

Grafana erneut geladen und neu übersetzt als root:

cd /srv/
 
mkdir grafana5.3
 
cd grafana5.3
 
export GOPATH=`pwd`
 
go get github.com/grafana/grafana
 
#package github.com/grafana/grafana: build constraints exclude all Go files in #/srv/grafana5.3/src/github.com/grafana/grafana
 
 
cd $GOPATH/src/github.com/grafana/grafana
 
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
 
=>>> Fehler mit phantomjs !!!!!
phantomjs -version
phantomjs: error while loading shared libraries: libicui18n.so.60: cannot open shared object file: No such file or directory
 
# 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 /srv/grafana5.3 /srv/grafana

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 libicui18n libs ziehen können.


Quellen

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
"Autor: Gunther Pipperr"
raspberry/odroid_hc1_influx_db_grafana.txt · Zuletzt geändert: 2018/11/27 09:44 von Gunther Pippèrr