Troubleshooting bei Inbetriebnahme des neuen Backends

Grad nur ganz kurz drüber geflogen über euer ansible.
Du brauchst nur eine statistics VM. Wir haben nur 2 wegen der riesigen Datenmenge bei uns.
Die VM sollte nicht genauso heißen wie das Playbook. (statistics) besser stats oder so…
Die VM bekommt 2 DNS Einträge. Einen für Grafana und einen für Graphite. Anhand der URL unterscheidet der Nginx Proxy welche Seite er dir liefert. Graphite und Grafana laufen auf ein und der selben VM. Collectd auf den Gateways bzw. das node stats script auf dem Kartenserver (für das es noch keine ansible rolle gibt) lässt du dann gegen die graphite URL pushen.

Nimm am besten diese host_vars als Vorlage und streiche Zeile 11-13 zu dem Cluster Server raus.

Wie Matthias schon sagte kann ich das aber gern Mal demonstrieren auf nem Mittwoch oder so. Diesen Mittwoch kann ich leider nicht in MS sein aber ich denke da findet sich nen Termin wenn gewünscht.

1 „Gefällt mir“

Danke für das Angebot, aber ich habe etwas anderes vor. Ich habe auf dem Mapserver jetzt den aktuellen Meshviewer installiert.

https://karte.freifunk-lippe.de

Im Moment versuche ich gerade, die von unserem Grafana erzeugten Grafiken dort einzubinden.

Eine Frage hätte ich dennoch: wie bringe ich py-respondd auf dem Gateways bei, ihren Hostname mitzusenden? Bisher passiert das scheinbar nicht, da der Meshviewer Nodes ohne Hostname nicht anzeigt.

Das tut es bereits. Wie schon gesagt Meshviewer wird ohne Anpassungen an diversen stellen nicht gehen. Stichwort Site-Code und Domain-Code z.B.
yanic erkennt die Gateways aus irgendwelchen gründen nicht als solche an. Hab ich mich aber auch noch nicht näher mit beschäftigt…

1 „Gefällt mir“

Ich habe erst einmal wieder den Hopglass ausgerollt. Du hast recht, beim Meshviewer sind noch zu viele Anpassungen nötig.

Jetzt habe ich wie oben beschrieben den Statistikserver mit Graphite und Grafana ausgerollt, habe aber noch Probleme.

Ich kann nicht auf das Webinterface von Graphite zugreifen. Das gibt nur eine 502 - Bad Gateway-Meldung.

https://graphite-stats.freifunk-lippe.de
https://grafana-stats.freifunk-lippe.de

Für Grafana fehlen mir allerdings Zugangsdaten zum Einloggen.

Ich habe andere DNS-Namen als die vorgegebenen benutzt, weil ich momentan noch ein zweites Backend parallel fahre (bis zum Umzug), Das sollte aber eigentlich kein Problem darstellen.

Wenn du schauen magst, Keys sind hinterlegt.

in der /etc/nginx/nginx.conf fehlte die zeile:

include /etc/nginx/sites-enabled/*;

das ist wohl nen Bug in der Debian version oder so… Wir setzten abseits der Gateways mittlerweile zu 90% auf Ubuntu.

Debian ist da auch der Grund warum die Graphite config DB nicht angelegt wurde.

hier wird erwartet das das OS entweder Ubuntu 16.04 oder 18.04 ist. Hab ich wohl nicht bedacht das jemand ein Debian verwenden könnte :grin:

Ausserdem lief der Nginx als User Nginx und nicht als www-data was dazu führte das der Nginx nicht auf das Socket von Graphite zugreifen durfte.

Zum Krönenden Abschluss gibt es auch noch ein Rechte Problem bei der Graphite Installation das wir noch nicht näher ergründen konnten. (das Problem taucht bei uns und anderen auch immer mal wieder auf. Egal ob Ubuntu 16/18 oder debian) Nach jedem Reboot muss man folgende Zeile ausführen um Graphite in den Hintern zu treten.

chown -R www-data:www-data /var/log/graphite/ && chown -R www-data:www-data /var/lib/graphite/search_index && chown -R www-data:www-data /var/log/carbon/ && systemctl restart uwsgi && systemctl restart nginx

ich hab sie mal in die /etc/rc.local eingetragen…

Kommt per PN.

Vielen Dank! Ist das auch so ein Debian-Problem, dass der Tiles-Cache von Luftbilder NRW nicht funktioniert?

Wäre es vielleicht besser, wenn ich die VM nochmal mit Ubuntu 18.04 neu aufsetze?

gut möglich…

Wie gesagt wir setzen abseits der Gateways auf Ubuntu… Die Rollen für Karte und Statistik sollten auch Problemlos auf 18.04 laufen. Ich würde es alleine schon deswegen machen weil ich es dann nicht in ein paar Monaten anpacken muss um das OS upzudaten wenn es keine Updates mehr gibt oder so…

Wenn das Kernel Problem mit dem Tunneldigger gelöst ist bin ich auch der erste der nen Ubuntu 18.04 Gateway bei uns bauen wird… :wink:

PS:
Bei Ubuntu 18.04 unbedingt dieses Netplan gedönse abdrehen (Deaktivieren › Netplan › Wiki › ubuntuusers.de) und die Interfacenamen wieder auf den alten Standard (eth#) umstellen.

Ok, dann versuche ich das. Wie ich Netplan deaktiviere, hast du ja schon verlinkt. Weißt du auch, wie ich den Interfacenamen zuverlässig umstelle? Da finde ich zwar Anleitungen, aber keine funktioniert.

in der /etc/default/grub

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

bzw. im fall von Netplan + Ifnamen

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0 netcfg/do_not_use_netplan=true"

setzen.

update-grub

ausführen und in der /etc/network/interfaces die Konfiguration für eth0 anlegen. Dann Reboot.

1 „Gefällt mir“

DANKE!

Welchen Backports-Kernel muss ich installieren? Unter Ubuntu 18.04 will Ansible den nicht installieren.

Der Kernel ist da egal… das ist nur auf den Gateways relevant.

Problem ist, dass Ansible einen Fehler schmeißt:

fatal: [karte]: FAILED! => {“changed”: true, “cmd”: “dkms add -m batman-adv -v 2017.4 && dkms build -m batman-adv -v 2017.4 && dkms install -m batman-adv -v 2017.4”, “delta”: “0:00:00.047804”, “end”: “2018-09-19 12:08:00.865296”, “msg”: “non-zero return code”, “rc”: 3, “start”: “2018-09-19 12:08:00.817492”, “stderr”: “Error! DKMS tree already contains: batman-adv-2017.4\nYou cannot add the same module/version combo more than once.”, “stderr_lines”: [“Error! DKMS tree already contains: batman-adv-2017.4”, “You cannot add the same module/version combo more than once.”], “stdout”: “”, “stdout_lines”: []}

Ich habe das Kernel-Modul mit

dkms remove -m batman-adv -v 2017.4 --all

entfernen können. Wenn ich dann neu ausrolle, kommt dieser Fehler:

https://pastebin.com/90EtTV1X

Das hatte ich unter Debian 8, als der BPO-Kernel noch nicht geladen war.

"Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel"

:wink:

Ok, nachinstalliert. Nächster Fehler:

So, habe jetzt Ubuntu 16.04 als Basis. Damit läuft alles ohne Probleme.
Ich danke dir nochmals für dene Hilfe!

Noch eine Frage: wenn nach Stunden keine Statistikdaten im Graphite ankommen (die Node-IDs schon) - was mag das sein?

@corny456, könntest du bitte einmal schauen, warum die Daten nicht ankommen?

Weil du das alte Script verwendet hast. Deswegen ist die Rolle mapserver_stats in der mapserver.yml auch auskommentiert.

Du brauchst das hier:

und den passenden cronjob dazu.

* * * * * /opt/node-stats-glass-link/main.py -g http://127.0.0.1:4000/raw.json -c /opt/node-stats-glass-link/config.json

und siehe da es kommen auch Daten an :slight_smile:

Ah jetzt ja… Das soll man wissen…

Ich danke dir!

Wird das wieder überschrieben, falls ich den Mapserver neu ausrolle? Was muss ich auf Ansible-Seite ändern, damit es funktioniert?

Die “Luftbilder NRW” tun es nicht. Waqs kann da schieflaufen?