Pinned Bloonix Next Generation, Python Rewrite, FAQ

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Bloonix Next Generation, Python Rewrite, FAQ

    Huhu zusammen,

    da der Eine oder Andere Fragen zum neuen Bloonix hat, hab ich mal diesen Thread geöffnet. Hier könnt Ihr Fragen stellen. Die Antworten sind ohne Gewähr, am Ende können sich Dinge doch noch ändern :)

    Fragen, die es vorab gab....

    Frage: Wann wird das neue Bloonix fertig sein?
    Antwort: Schwer zu sagen. Ich bin auf jeden Fall dran :)

    Frage: Welches Backend wird es für die Time Series Data geben?
    Antwort: Es wird zumindest kein Elasticsearch mehr geben. Elasticsearch hat mir in den letzten Jahren zu oft Probleme bereitet. Auch die Breaking Changes alle paar Monate können echt ätzend sein. Es wird im neuen Bloonix auch nicht mehr 1 Datastore geben, sondern verschiedene Anbindungen. Im Moment ist MySQL/PostgreSQL mit Partitionen und TimescaleDB geplant.

    Frage: Wird es weiterhin Perl Plugins geben?
    Antwort: Die Plugins werden in Python 3 neu entwickelt, alle. Ich möchte Perl entgültig loswerden. Es gibt einfach viel zu viele Abhängigkeiten diverser Module und da das Pluginsystem eh neue Features erhält und ich in jedem einzelnen Plugin Anpassungen machen müsste, kann ich die auch neu schreiben. Zudem wird die langläufige Rückwärtskompabilität für alte Linuxsysteme nicht mehr benötigt, denn die Linux-Distros, die kein Python 3 im Repo haben, sind meines Wissens auch allesamt EOL. Ich möchte diese Systeme nicht supporten. Wer trotzdem noch Uraltsysteme hat, muss die halt über SNMP überwachen.

    Frage: Wird es einen Konverter oder eine Upgrademöglichkeit von v1 zu v2 geben?
    Antwort: Puh, schwer zu sagen. "Comapnies" sind im neuen Bloonix komplett rausgeflogen. Es gibt nur noch Gruppen. Zudem hat sich die gesamte Tabellestruktur geändert, es gibt neue Spalten, viele wurden umbenannt oder der Datentyp wurde geändert. Man kann also nicht mit einem einfachen Dump+Import alles hinbiegen. Auch ein "alter table..." ist viel zu aufwendig. Da ich aber selbst eine Bloonix Instanz mit mehreren tausend Hosts+Services habe, komme ich wohl nicht drum herum irgendein Migrationsskript zu entwickeln und das werde ich natürlich mit Euch sharen.

    Frage: Warum wird Bloonix neu entwickelt?
    Antwort: Vor etwas längerer Zeit habe ich mal meinen Unmut über die Programmiersprache Perl ausgedrückt: blog.bloonix-monitoring.org/bl…-wohin-geht-die-reise-81/. Mit ein paar anderen Faktoren, die dazu kamen, habe ich mich dann irgendwann entschlossen Bloonix in einer anderen Sprache neu zu entwickeln. Ab einem gewissen Entwicklungsstand habe ich dann die Perl Version eingefroren, denn jedes neue Feature, was ich da einbauen würde, müsste ich auch in die neue Version einbauen. Das ist aus meiner Sicht Zeitverschwendung.

    Frage: Wird es eine mobile App geben?
    Antwort: Nein. Ich werde Bloonix schlicht responsive bauen, so dass man die Bloonix WebGUI auch im Browser auf mobilen Geräten bedienen kann.

    Frage: Wird die neue Version kostenpflichtig sein?
    Antwort: Nein, Bloonix ist und bleibt immer OpenSource und kostenfrei. Es wird für Unternehmen lediglich die Möglichkeit geben, Enterprise Support zu kaufen oder einen Cloud Server mit Bloonix zu mieten.

    Frage: Was wird sich alles in der neuen Version ändern?
    Antwort: Die Antwort auf diese Frage passt nicht auf diese Seite :) Aber hier mal ein kleiner Ausschnitt: Bloonix behält vieles von der alten Struktur, es wird aber auch genauso viel verbessert, vereinfacht. Die Bedienung soll einfacher gestaltet werden. Das Design ändert sich stark. Es gibt nur noch User-defined Dashboards als Oberfläche. In der oberen Navigationsleiste gibt es zum Beispiel nur noch "Dashboards" und "Configuration". Die Dashboards sind mit dem Tool gridstackjs.com/ gebaut. Alles ist beweglich, austauschbar. Es können beliebig viele Dashboards erstellt werden.

    Frage: Ist eine Active Directory Anbindung geplant?
    Antwort: Nein.

    Frage: Sind andere Authentifizierungsmechanismen wie AD, LDAP oder Radius geplant.
    Antwort: Nein, es sind erstmal keine externen Authentifizierungsmechanismen geplant. Kann gerne auf die Feature Liste, hat aber zunächst keine erhöhte Priorität.

    Frage: Wird es eine Autodiscovery Funktion geben.
    Antwort: Ja, siehe auch hier: Bloonix Next Generation, Python Rewrite, FAQ

    Frage: Wird es vor dem offiziellen Start von "Bloonix Next Generation" eine "Beta-Version" geben die man vorab schon testen kann?
    Antwort: Ich glaube nein. Beide Versionen (alt+neu) werden zunächst parallel existieren. Das alte Bloonix wird halt nur nicht mehr weiterentwickelt. Jeder hat somit genügend Zeit zu wechseln.

    Gibt es weitere Fragen? Ich beantworte keine Fragen, die in den FAQs schon beantwortet wurden. Sollte sich etwas ändern, werde ich die entsprechende Antwort in den FAQs aktualisieren.

    Viele Grüße
    Jonny
  • Hey Marvin,

    nein, die Funktion ist nicht von der Liste geflogen und nach wie vor ein wichtiger Teil.

    Ich weiß schon, wie das ganze funktionieren soll, aber es ist diebezüglich noch nichts entwickelt. Bin grad noch an der WebGUI dran. Erst wenn die WebGUI fertig ist, kann ich mich an das Autodiscovery ran machen. Autodiscovery läuft zwar auf dem Zielsystem, wo der Agent installiert ist, aber der Agent registriert sich nach wie vor über die API der WebGUI. In der WebGUI ist die Logik verwurzelt, deshalb muss die zuerst fertig gestellt werden.

    Hier ein kurzer Einblick, wie Autodiscovery funktionieren soll:

    Der Agent prüft über diverse Mechanismen, was auf dem Zielsystem läuft. Zum Beispiel einen lokalen Port Scan (3306 MySQL, 5432 PostgreSQL, 6379 Redis, ...) und über netstat bekommt ja zusätzlich noch das Programm (PID) heraus. Dann kann man noch in die Prozessliste schauen oder den Paketmanger fragen, was installiert ist. Gibt es zu all diesen Dingen ein Bloonix Plugin, wird der Dienst notiert. Nach dem Autodiscovery übersendet der Agent die Info mit der Registrierung des Hosts zur WebGUI in der Form:

    services: mysql, redis, memcached, dev-a, dev-b, if-eth0, if-eth1, usw.

    Im Webinterface werden dann die Tags auf Templates gematched. Das heißt es gibt vordefinierte Templates, die man selbst noch anpassen kann. Es gibt dann zum Beispiel ein Template, welches den Tag "mysql" hat. Der Host wird dann automatisch der Templategruppe zugeordnet. In dem Template sind dann verschiedene Services vorkonfiguriert, zum Beispiel ein MySQL Check, ein Netstat Port Check 3306 und der Admin kann eventuell noch ein MySQL Backup Check in das Template nachträglich einbauen.

    Es wird auch im neuen Bloonix alles über Templates laufen, da Templates einfach die angenehmste Methode ist, tausende Hosts+Services analog zu administrieren.

    Soweit zu meiner Vorstellung. Wie es letztendlich aussehen wird, werden wir sehen :)

    VG
    Jonny