Turnkey Observium 14.1 Start Schwierigkeiten

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.476
Punkte für Reaktionen
359
Punkte
103
Link funktioniert folgendermaßen:
--link {container-name}:{alias}

Das was in der CLI {container-name} ist, hat Du über die ComboBox ausgewählt.
Das was in der CLI {alias} ist, musst du per Hand angeben.

In der Beschreibung war "mysql" (wieder ohne Anführungszeichen) angegeben.

Wichtig beim starten von mysql ist das Du ihn wirklich auf keinen Fall beim anlegen starten darfst,
da er sonst ohne die Umwelt-Variablen startet und dann die entsprechende Datenbank nicht anlegt!
Das passiert auch nur beim ersten Start!

Der Oberservium-Container sieht den DB-Container nicht, deshalb auch der Hinweis den Container zu löschen und im "default" Netzwerkmodus zu betreiben.
 

Swp2000

Benutzer
Mitglied seit
29. Nov 2013
Beiträge
1.991
Punkte für Reaktionen
29
Punkte
74
Ich hatte eben alle gelöscht. Dann die DB angelegt hier ist die Abfolge der Eingabe gleich den Bilder.Ich habe in der DB alles eingegeben und dann gestartet. Er fragt hier im Anschluss ob er den Container starten soll. Hier hatte ich die Umwelt-Variablen schon eingegeben! Heisst es gibt keinen speichern Button ich kann lediglich nach eingabe aller Werte den Container gleich starten oder ihn anlegen und dann manuell starten.
Im Anschluss als der DB-Container gestartet war hatte ich den Observium Container angelegt.
Also von der Abfolge stimmt das ja so oder?
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.476
Punkte für Reaktionen
359
Punkte
103
Du kannst die Umwelt-Variablen schon im Wizzard angeben? Das muss wohl neu sein, bei mir geht das nicht.
Ich müsste den Wizzard durchlaufen und beenden, den Container bearbeiten und die Umwelt-Variablen eingeben und dann starten.

Wenn Du die Umwelt-Variablen schon im Wizzard angeben kannst, dann kannst Du den Container auch direkt start.

Hast Du nach der Neuanlage vom mysql-Container nochmal den Link überprüft?
Hattest Du den Observium Container auch neu angelegt? Ich könnte mir vorstellen, dass er beim Erststart ohne den mysql-Server zu erreichen, irgendetwas "merkwürdiges" konfiguriert hat und das ab da gilt.

<update>
ich habe gerade mal eine docker-compose.yml Datei gebaut und schaue mal ob es prinzipiel funktioniert
</update>
 
Zuletzt bearbeitet:

Swp2000

Benutzer
Mitglied seit
29. Nov 2013
Beiträge
1.991
Punkte für Reaktionen
29
Punkte
74
Ich habe den Ablauf nun explizit befolgt so wie du beschrieben hast, vorher speichern, dann wieder aufrufen und Umwelt-Variablen nachtragen. Leider ohne Erfolg. Immer noch die Fehlermeldung

EDIT: Ja habe ich alles nochmal gelöscht und neu angelegt. Fehlermeldung:

*** Running /etc/my_init.d/init.sh...

Waiting for database server to accept connectionsCreated directory: /var/lib/snmp/mib_indexes

WARNING. Direct call to this script is no longer supported, please use './discovery.php -u' from main observium directory.

Setting up Observium for firstrun.

DB Error 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

warning: commands will be executed using /bin/sh

job 1 at Sat Mar 18 15:00:00 2017

warning: commands will be executed using /bin/sh

job 2 at Sat Mar 18 15:01:00 2017

*** Running /etc/rc.local...

*** Booting runit daemon...

*** Runit started as PID 36

Mar 18 14:59:26 seti-observium1 syslog-ng[44]: syslog-ng starting up; version='3.5.3'
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.476
Punkte für Reaktionen
359
Punkte
103
In Docker-Compose bekomme ich folgende Fehlermeldung:
observium_1 | *** Running /etc/my_init.d/init.sh...
observium_1 | ERROR:
observium_1 | Please configure the database connection.
observium_1 | Cannot continue without a database. Aborting...
observium_1 | *** /etc/my_init.d/init.sh failed with status 1
observium_1 |
observium_1 | *** Killing all processes...

Da stimmt etwas im Zusammenspiel mit der Datenbank nicht.
 

Swp2000

Benutzer
Mitglied seit
29. Nov 2013
Beiträge
1.991
Punkte für Reaktionen
29
Punkte
74
Also in der DB habe ich weder im Terminal noch unter Protokolle eine Fehlermeldung abgelegt!
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.476
Punkte für Reaktionen
359
Punkte
103
Leider scheint etwas mit dem Image nicht zu stimmen...

Das innerhalb des Containers keine symlinks angelegt werden können ist ein Anzeichen dafür...

In den nächsten Stunden komme ich nicht dazu mir das anzuschauen.. Family und so.
 

Swp2000

Benutzer
Mitglied seit
29. Nov 2013
Beiträge
1.991
Punkte für Reaktionen
29
Punkte
74
Mhh....was mache ich nun? Anderes Image wählen?
Oder meinst du das es an dem Datenbank Image liegt. Dann könnte ich mal ein anderes versuchen?
 

Swp2000

Benutzer
Mitglied seit
29. Nov 2013
Beiträge
1.991
Punkte für Reaktionen
29
Punkte
74

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.476
Punkte für Reaktionen
359
Punkte
103
Lösung gefunden! Die im Container enthaltene init.sh muss aktuallisiert werden, die Änderungen an der config.php greifen nicht (mehr) richtig.
Dazu habe ich das git Projekt ausgecheckt und die init.sh so angepasst, dass die Regexp wieder greifen.

Ich habe jetzt rausgefunden, wie man Anhänge anhängt.

Zusätzlich habe ich auch nochmal eine docker-compose.yml erzeugt.

docker-compose.yml:
Code:
version: '2.0'

services:
  observium-db:
    restart: always
    image: sameersbn/mysql:latest
    volumes:
    - /volume1/docker/haydibe/observium/mysql:/var/lib/mysql:Z
    environment:
    - USERMAP_UID=1026
    - USERMAP_GID=65536
    - DB_USER=observium
    - DB_PASS=observiumpwd
    - DB_NAME=observium

  observium:
    restart: always
    image: seti/observium
    depends_on:
    - observium-db
    ports:
    - "8080:80"
    volumes:
    - /volume1/docker/haydibe/observium/data:/data:Z
    - /volume1/docker/haydibe/observium/init.txt:/etc/my_init.d/init.sh
    environment:
    - TZ=Europe/Berlin
    - POLLER=24
    - DB_USER=observium
    - DB_PASS=observiumpwd
    - DB_NAME=observium
    - DB_TYPE=mysql
    - DB_HOST=observium-db

Im Observium Container müssen (warum auch immer?!) auch die Variablen für die Datenbank hinzugefügt sein. Diese sollten eigentlich über den Link reinkommen und sowohl TYPE, als auch HOST sollten eigentlich selbständig "gefunden" werden. Aber leider funktioniert das finden nicht wie es sollte.

Sprich: ergänze mal bitte alle DB_* Variablen von oben in deinen Umwelt-Variablen.
Zusätzlich bitte die Datei aus dem Anhang in dein observium Verzeichnis kopieren und als File-Volume in den Container unter /etc/my_init.d/init.sh einbinden.

Dann läuft es!
 

Anhänge

  • init.txt
    5,1 KB · Aufrufe: 8
Zuletzt bearbeitet:

Swp2000

Benutzer
Mitglied seit
29. Nov 2013
Beiträge
1.991
Punkte für Reaktionen
29
Punkte
74
Ich hoffe ich habe dich richtig verstanden.

Schritt 1: Die Variablen in der DB ergänzen (Type, Host)
Schritt 2: die init.txt in das observium Verzeichnis kopieren, soweit habe ich es verstanden, und weiter? Nochmal für mich auf deutsch?;)
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.476
Punkte für Reaktionen
359
Punkte
103
Schritt1: alle DB Variablen aus dem docker-compose.yml in den Observium-Container als Umwelt-Variable aufnehmen, nicht nur Type und Host
Nach Schritt2: im Oberservium-Container ein Datei-Volume einbinden, hier wählst Du die init.txt Datei aus. Als Host-Pfad gibst Du dann "/etc/my_init.d/init.sh" ein.

Das bewirkt Schritt1: Variablen hinzufügen die das init-Skript erwartet, aber aus einem mir noch unklaren Grund nicht bekommt, respektive nicht selber ermittelt.
Das bewirkt Schritt2: Wir ersetzen die fehlerhafte init.sh, indem wir aus dem lokalen Dateisystem die geänderte init.txt in den Container unter /etc/my_init.d/ als init.sh einblenden.

Es kann sein, dass Du bei DB_HOST den Namen eingeben must, der bei im Reiter "Link" aus der Combobox ausgewählt werden konnte oder den Alias. Einfach beides mal ausprobieren.

Ich selber habe es nur über docker-compose gemacht, weil ich wenig Lust habe in dem UI rumzuklicken (mit dem docker-compose.yml ist das eine Sache von Sekunden).
 
Zuletzt bearbeitet:

Swp2000

Benutzer
Mitglied seit
29. Nov 2013
Beiträge
1.991
Punkte für Reaktionen
29
Punkte
74
Die Datenbank habe ich jetzt so gefüttert:
db.JPG

Der Download für das Seti läuft, hatte es gelöscht. Werde ich aber gleich auch füttern und berichten. D.h. im Observium Container brauche ich die "Links" Angabe zur Datenbank dann nicht mehr setzen?
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.476
Punkte für Reaktionen
359
Punkte
103
Doch, Link setzen.

Ich hatte die USERMAP-Variablen gesetzt in der Hoffnung das auch dieses sammersbn-Image die Möglichkeit bietet hat die Berechtigungen zu fixen (bei Gitlab/postgres funktioniert das).
Leider wird es hier nicht unterstützt, so dass du die beiden USERMAP Variablen wieder entfernen kannst.

Entferne die beiden USERMAP Variable bei der DB, dann sind die 3 DB_* Variablen richtig.

Füge die 5 DB_* Variablen in den Observium-Container (nicht der Datenbank!) hinzu.

Bei mir ist die Struktur:
/volumex/docker/{username}/observium/init.txt
/volumex/docker/{username}/observium/mysql
/volumex/docker/{username}/observium/data

Im Grunde ist es egal wo Du die init.txt hinpackst. Ich würde sie nur nicht innerhalb eines anderen Volums (bspw. data) legen.
 

Swp2000

Benutzer
Mitglied seit
29. Nov 2013
Beiträge
1.991
Punkte für Reaktionen
29
Punkte
74
Habe nun:
ob1.JPG
ob2.JPG
ob3.JPG

Das Protokoll von Observium sagt folgendes:
*** Running /etc/my_init.d/init.sh...

Waiting for database server to accept connectionsCreated directory: /var/lib/snmp/mib_indexes

WARNING. Direct call to this script is no longer supported, please use './discovery.php -u' from main observium directory.

Setting up Observium for firstrun.

DB schema not installed, first install it.

warning: commands will be executed using /bin/sh

job 1 at Sat Mar 18 19:36:00 2017

warning: commands will be executed using /bin/sh

job 2 at Sat Mar 18 19:37:00 2017

*** Running /etc/rc.local...

*** Booting runit daemon...

*** Runit started as PID 37

Mar 18 19:35:18 seti-observium1 syslog-ng[44]: syslog-ng starting up; version='3.5.3'

Hier sollte ich den Wert DB_Host evtl von mysql in observium-db ändern meintest du?

<<Update>>
Auf den Observium Screen komme ich jedoch!!! Er verlangt aber Benutzername und Passwort., muss ich hier erst eines definieren? Anmelden mit observium und Passwort: observiumpwd klappt jedoch nicht!
 
Zuletzt bearbeitet:

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.476
Punkte für Reaktionen
359
Punkte
103
Gratulation, nun passt es mit der Konfiguration.

Das war nur ein Hinweis, dass das DB-Schema noch nicht vorlag. Es wurde danach erstellt.

Das Initalpassword musst Du wohl auf Dockerhost oder der Observium Webseite nachlesen.
 

Swp2000

Benutzer
Mitglied seit
29. Nov 2013
Beiträge
1.991
Punkte für Reaktionen
29
Punkte
74
Moment, ich hatte nun mit dem DB_Host etwas herumgespielt wegen mysql oder doch observium. Jedenfalls habe ich nun alles wieder so eingestellt wie die Screens, leider bekomme ich nun das:
*** Running /etc/my_init.d/init.sh...

ln: failed to create symbolic link ‘/opt/observium/config.php’: File exists

ln: failed to create symbolic link ‘/opt/observium/rrd/rrd’: File exists

Waiting for database server to accept connectionsWARNING. Direct call to this script is no longer supported, please use './discovery.php -u' from main observium directory.

warning: commands will be executed using /bin/sh

job 9 at Sat Mar 18 19:57:00 2017

warning: commands will be executed using /bin/sh

job 10 at Sat Mar 18 19:58:00 2017

*** Running /etc/rc.local...

*** Booting runit daemon...

*** Runit started as PID 53

Mar 18 19:56:05 seti-observium1 syslog-ng[59]: syslog-ng starting up; version='3.5.3'
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat