pixel
Seite wählen

NETWAYS Blog

Hier erfährst Du alles was uns bewegt. Technology, Hardware, das Leben bei NETWAYS, Events, Schulungen und vieles mehr.

check_influxdb ist jetzt öffentlich verfügbar!

InfluxDB ist eine Zeitreihendatenbank, die gerne für Performance Monitoring genutzt wird. Zusammen mit dem Telegraf Agenten, kann man so ziemlich alle vorstellbaren Formate einliefern und diese in Metriken oder Logs transformieren. Hat man die Daten einmal in der...

check_influxdb ist jetzt öffentlich verfügbar!

InfluxDB ist eine Zeitreihendatenbank, die gerne für Performance Monitoring genutzt wird. Zusammen mit dem Telegraf Agenten, kann man so ziemlich alle vorstellbaren Formate einliefern und diese in Metriken oder Logs transformieren. Hat man die Daten einmal in der...

check_influxdb ist jetzt öffentlich verfügbar!

check_influxdb ist jetzt öffentlich verfügbar!

InfluxDB ist eine Zeitreihendatenbank, die gerne für Performance Monitoring genutzt wird. Zusammen mit dem Telegraf Agenten, kann man so ziemlich alle vorstellbaren Formate einliefern und diese in Metriken oder Logs transformieren. Hat man die Daten einmal in der...

stackconf 2023 | Recap Day 2

stackconf 2023 | Recap Day 2

After a fun evening event filled with drinks, socializing, and even some roulette, hopefully everyone got some rest. Once that first cup of coffee kicked in, the attendees were ready to dive into the second day's talks at stackconf 2023.   Let the Talks get...

stackconf 2023 – Recap Day 1

stackconf 2023 – Recap Day 1

We're back again with two exciting days of knowledge-sharing, networking, and insightful conversations. This year, stackconf found its home in the vibrant city of Berlin, and it's a pleasure to be back! Bernd set the tone for the event by extending a warm welcome to...

Lösungen & Technology

check_prometheus ist jetzt öffentlich verfügbar!

check_prometheus ist jetzt öffentlich verfügbar!

Monitoring ist komplex, das wissen wir hier bei NETWAYS leider zu gut. Deswegen laufen in der Infrastruktur auch mal gerne mehrere Tools für die Überwachung. Zwei gern gesehene Kandidaten sind dabei Icinga und Prometheus. Icinga und Prometheus erfüllen...

NETWAYS RAID-Rechner

NETWAYS RAID-Rechner

In einer zunehmend digitalen Welt, in der Hochverfügbarkeit und Datensicherheit von größter Bedeutung sind, wird die Implementierung von RAID-Systemen immer wichtiger. Die für deinen Use Case passende Konfiguration eines RAID-Systems spielt deshalb eine nicht zu...

MVC – Was ist das und wofür wird es benutzt

MVC – Was ist das und wofür wird es benutzt

Im Rahmen der letzten Azubi-Schulung haben wir das Konzept des Model-View-Controller (MVC) behandelt. MVC ist ein bewährtes architektonisches Muster, das robuste, skalierbare und wartbare Anwendungen ermöglicht. In diesem Beitrag möchte ich das gewonnene Wissen mit...

Events & Trainings

stackconf 2023 | Recap Day 2

After a fun evening event filled with drinks, socializing, and even some roulette, hopefully everyone got some rest. Once that first cup of coffee kicked in, the attendees were ready to dive into the second day's talks at stackconf 2023.   Let the Talks get...

stackconf 2023 | Recap Day 2

After a fun evening event filled with drinks, socializing, and even some roulette, hopefully everyone got some rest. Once that first cup of coffee kicked in, the attendees were ready to dive into the second day's talks at stackconf 2023.   Let the Talks get...

stackconf 2023 | Recap Day 2

stackconf 2023 | Recap Day 2

After a fun evening event filled with drinks, socializing, and even some roulette, hopefully everyone got some rest. Once that first cup of coffee kicked in, the attendees were ready to dive into the second day's talks at stackconf 2023.   Let the Talks get...

Get Ready for stackconf 2023!

Get Ready for stackconf 2023!

The countdown for stackconf 2023 has officially begun! In just two weeks, from September 13-14, we will finally meet in Berlin. stackconf is more than just a conference – it's an opportunity to immerse yourself in the latest trends, breakthroughs, and ideas that are...

OSMC 2023 | The Line-Up is Set!

OSMC 2023 | The Line-Up is Set!

Our First Speakers Since our Call for Papers ran out last week, we’re super happy to already announce some of our first confirmed OSMC speakers today! We have an incredible line-up with many international top-level speakers talking about the latest trends in open...

Web Services

New at NWS: Managed OpenSearch

We’re happy to announce our brand new product Managed OpenSearch, which we are offering due to our new partnership with Eliatra Suite. Eliatra is your go-to company for OpenSearch, the Elastic Stack and Big Data Solutions based on specialised IT security knowledge....

New at NWS: Managed OpenSearch

We’re happy to announce our brand new product Managed OpenSearch, which we are offering due to our new partnership with Eliatra Suite. Eliatra is your go-to company for OpenSearch, the Elastic Stack and Big Data Solutions based on specialised IT security knowledge....

New at NWS: Managed OpenSearch

New at NWS: Managed OpenSearch

We’re happy to announce our brand new product Managed OpenSearch, which we are offering due to our new partnership with Eliatra Suite. Eliatra is your go-to company for OpenSearch, the Elastic Stack and Big Data Solutions based on specialised IT security knowledge....

Was NWS Docs ist und wozu es dient

Was NWS Docs ist und wozu es dient

Vor zwei Wochen haben wir unser neues NWS ID realeasd und vorgestellt - heute möchten wir Dir noch etwas neues vorstellen: das NWS Docs. Es soll Dir dabei helfen, bei Fragen rund um Dein Costumer Interface oder sämtlichen Anwendungen, den richtigen Lösungsweg und...

NETWAYS Cloud – IT Infrastruktur nach Maß

NETWAYS Cloud – IT Infrastruktur nach Maß

Im heutigen Blog möchte ich auf die Vorteile unserer NETWAYS Cloud eingehen. Das dürfte für alle interessant sein, die gerade vor der Entscheidung stehen in neue Hardware zu investieren, weil mal wieder der Speicherplatz zur Neige geht oder neue Services im...

Unternehmen

check_influxdb ist jetzt öffentlich verfügbar!

InfluxDB ist eine Zeitreihendatenbank, die gerne für Performance Monitoring genutzt wird. Zusammen mit dem Telegraf Agenten, kann man so ziemlich alle vorstellbaren Formate einliefern und diese in Metriken oder Logs transformieren. Hat man die Daten einmal in der...

check_influxdb ist jetzt öffentlich verfügbar!

InfluxDB ist eine Zeitreihendatenbank, die gerne für Performance Monitoring genutzt wird. Zusammen mit dem Telegraf Agenten, kann man so ziemlich alle vorstellbaren Formate einliefern und diese in Metriken oder Logs transformieren. Hat man die Daten einmal in der...

check_influxdb ist jetzt öffentlich verfügbar!

check_influxdb ist jetzt öffentlich verfügbar!

InfluxDB ist eine Zeitreihendatenbank, die gerne für Performance Monitoring genutzt wird. Zusammen mit dem Telegraf Agenten, kann man so ziemlich alle vorstellbaren Formate einliefern und diese in Metriken oder Logs transformieren. Hat man die Daten einmal in der...

stackconf 2023 – Recap Day 1

stackconf 2023 – Recap Day 1

We're back again with two exciting days of knowledge-sharing, networking, and insightful conversations. This year, stackconf found its home in the vibrant city of Berlin, and it's a pleasure to be back! Bernd set the tone for the event by extending a warm welcome to...

Blogroll

Da hast Du einiges zu lesen …

stackconf 2023 | Recap Day 2

After a fun evening event filled with drinks, socializing, and even some roulette, hopefully everyone got some rest. Once that first cup of coffee kicked in, the attendees were ready to dive into the second day’s talks at stackconf 2023.

 

Let the Talks get started!

The first session in room Friedrichshain III of the hotel „NH Berlin Alexanderplatz“ was held by Nicolas Fränkel, who works for Apache APISIX. He introduced the audience to the fundamentals of Observability in distributed microservice systems, which build on the three pillars of logging, metrics, and tracing. He showcased the OpenTelemetry framework, which has become a standard in the industry. As an example, he ran a webshop application programmed in Kotlin and showed the traces of HTTP requests visualized in Jaeger. He also briefly addressed how the OpenTelemetry libraries can be used in other programming languages like Rust or PHP.

Next up was Andrei Pokhilko of Komodor. He talked about the different network protocols used in microservice architecture and how to tune them for better performance. He mentioned some shortcomings of old, established protocols like HTTP/1.1 and the advantages of HTTP/2 or even the brand new HTTP/3. He showed some compelling results from comparisons of different protocols.

After that, Sayan Mondal of Harness took the stage. He is one of the maintainers of the CNCF incubating project LitmusChaos which he presented in a nice demo. LitmusChaos is a chaos enginneering platform that you can use to make your systems more resilient. The web interface is very intuitive. Check it out at https://litmuschaos.io/.

The last talk before the lunch break was held by Phil Williams of Canonical. He made an estimation of the cost of a  Ceph cluster running in a public cloud compared to a ceph cluster running on premise on your own hardware. The on-premise cluster costs 50% less in this estimation. At least for big ceph clusters (more than 1 Petabyte), Phil recommended running them on your own hardware.

Then the conference attendees sat down in the dining room to enjoy lunch. As on the first day, there were interesting ignite talks right after the lunch break. At the time of the writing of this blogpost the last talks were held, and the attendees were preparing to make their way back home.

 

It was a Blast!

As stackconf 2023 comes to a close, we’re grateful for the engaging talks and discussions on day two. We hope you leave with new insights and connections.

Thanks for being a part of stackconf 2023. Safe travels to all visitors, stay curious, and we’ll see you next year!

 

Dominik Seidel
Dominik Seidel
Systems Engineer

Dominik hat seine Ausbildung zum Fachinformatiker bei NETWAYS im Jahr 2021 abgeschlossen und arbeitet seitdem im Team "Web Services". Dort ist er mit der Betreuung und Weiterentwicklung der Plattform NETWAYS Web Services beschäftigt. In seiner Freizeit geht er gerne Wandern, macht Sport oder spielt Gitarre.

stackconf 2023 – Recap Day 1

We’re back again with two exciting days of knowledge-sharing, networking, and insightful conversations. This year, stackconf found its home in the vibrant city of Berlin, and it’s a pleasure to be back! Bernd set the tone for the event by extending a warm welcome to our eager attendees, ready to dive into the thought-provoking talks lined up for the conference. With both familiar faces and newcomers among our speakers, this year’s event promises fresh perspectives and engaging discussions.

Here are a few of the talks that stood out for me today. You can find the other presentations from our speakers and their profiles on our homepage or in the event app.

 

Scaling a Collaboration Service like Nextcloud to 20 Million users with Frank Karlitschek.

The day began with a captivating talk by Frank on the exciting world of Nextcloud AI. Frank gave us a sneak peek into the next update, highlighting the seamless integration of AI tools. What’s unique about this integration is that it’s localized on your server, keeping your data secure. Frank’s talk covered a range of applications, from writing headlines and summarizing emails to generating images and transcribing speech to text. The promise of a Nextcloud assistant AI on the horizon adds to the anticipation of what’s to come.

 

Open-Source: Open Choice – A DevOps Guide for OSS Adoption with Hila Fish

The second talk addressed a common challenge for many, selecting the right open-source project for their environment. Hila shed light on the DevOps perspective of open-source, emphasizing the importance of aligning an OSS project with your specific needs and pain points. With practical advice and insights, the talk guided attendees on how to evaluate key indicators and make informed choices, saving valuable time and resources.

 

Acknowledging Our Sponsors

Before we continue, we’d like to extend our heartfelt gratitude to our generous sponsors. Their support has been instrumental in making this conference possible. We truly appreciate their contributions, and their commitment to our community is invaluable. Thank you!

 

GitOps in Kubernetes with Alex Soco.

Alex’s presentation talked about a popular open-source GitOps Kubernetes Operator, ArgoCD. He explained how ArgoCD leverages the GitOps pattern to define application states through Git repositories. This simplifies Kubernetes management by automatically syncing Kubernetes manifests to target clusters, ensuring they remain in the desired state. It’s a valuable tool for streamlining Kubernetes operations.

 

Conclusion

As the day drew to a close, attendees not only had their minds enriched with knowledge but also their appetites satisfied with sumptuous food. The quality of the speakers left everyone looking forward to the rest of the conference. But that’s not all; the evening event promises to be a memorable one, featuring our renowned party with roulette—a fantastic opportunity for networking, relaxation, and fun.

 

In Berlin, we’re not just about sharing insights; we’re also about creating lasting memories. Stay tuned for more updates from the Berlin conference as we continue our journey of discovery, learning, and celebration.

 

 

Andrew Constant
Andrew Constant
Systems Engineer

Andrew ist der NETWAYS Familie 2020 beigetreten und hat seine Ausbildung zum Fachinformatiker für Systemintegration im Bereich der NETWAYS Web Services erfolgreich abgeschlossen. Der ehemalige Fremdsprachenkorrespondent und aus Northamptonshire stammende Engländer besticht durch seinen Humor und ergänzt das Team sehr gut. Er liebt es, in verschiedene Bereiche einzutauchen und dabei neue Dinge zu lernen. Eine seiner Lieblingsbeschäftigungen ist das Kochen, denn dabei kann er kreativ sein und mit verschiedenen Geschmacksrichtungen und Zutaten experimentieren. Außerdem reist er gerne und arbeitet daran, fließend Spanisch zu sprechen. Andrew versteht sich selbst als lebenslang Lernenden.

stackconf 2023 | Excitement is in the Air!

Are you ready to dive headfirst into the world of cutting-edge cloud native infrastructure solutions? The wait is finally over as the highly anticipated stackconf 2023 is set to begin tomorrow!

Hello Berlin!

Yesterday, Katja and Lukas took their packed car and drove to the venue of stackconf 2023. After a long, sunny and safe journey they arrived in Berlin. Their excitement is at its peak as they can’t wait for the event to finally start. So, they relaxed and enjoyed the summer evening before starting to set up the conference tomorrow.

 

 

Don’t be shy and say Hi!

The first step to an amazing stackconf experience is checking in. We’ve opened our counter in the afternoon and were thrilled about the big amount of attendees that have already checked-in and said „Hello“. We also look forward to welcoming the rest of our participants tomorrow morning from 8 – 9 AM! So, make sure to check-in and grab your badge before the welcoming session starts at 9 AM! PS: You can visit our booth at any time in case you have any questions – or want some sweets. 😉

 

 

The Welcome Dinner

Some of our attendees are already enjoying our wonderful Welcome Dinner at the conference venue. It’s time for good food and even better conversations before the conference will start tomorrow. It’s a fantastic opportunity to meet like-minded attendees, network and socialize.

In case you will arrive tomorrow, you can look forward to our Evening Event where you can wind down the evening of the first conference day in a relaxed atmosphere after a day full of interesting talks and discussions.

 

 

Last Chance for Tickets!

You don’t live far away or even come from Berlin and you’d like to also join us at stackconf from tomorrow on? Great! Our tickets are still on sale and you can grab yours today and attend the event spontaneously. Just check out our ticket website. The price includes attendance at all presentations, refreshments during the morning and afternoon breaks, lunch on both conference days incl. softdrinks, dinner & drinks event on the first conference day.

 

 

Katja Kotschenreuther
Katja Kotschenreuther
Manager Marketing

Katja ist seit Oktober 2020 Teil des Marketing Teams. Als Manager Marketing kümmert sie sich hauptsächlich um das Marketing für die Konferenzen stackconf und OSMC sowie unsere Trainings. Zudem unterstützt sie das Icinga Team mit verschiedenen Social Media Kampagnen und der Bewerbung der Icinga Camps. Sie ist SEO-Verantwortliche für all unsere Websites und sehr viel in unserem Blog unterwegs. In ihrer Freizeit reist sie gerne, bastelt, backt und engagiert sich bei Foodsharing. Im Sommer kümmert sie sich außerdem um ihren viel zu großen Gemüseanbau.

Datensicherheit mit OpenSearch Machine Learning

This entry is part 5 of 5 in the series OpenSearch Security

OpenSearch bringt von Haus aus die Möglichkeit mit, Machine Learning zu nutzen und hierfür pre-trained aber auch untrained Modelle zu nutzen. Den Status deiner Modelle kannst du bequem in OpenSearch Dashboards sehen.

Wie du OpenSearch Machine Learning zum Laufen bringst, zeige ich dir in diesem Blogbeitrag. Wie bei vielen neuen und sich schnell weiterentwickelnden Projekten kann es jedoch sein, dass bis zum Release dieses Blogposts der ganze Prozess noch einmal einfacher geworden ist.

Der Prozess, um OpenSearch für Machine Learning vorzubereiten, besteht aus diesen Bausteinen:

  • Vorbereitung
  • Upload des Modells
  • Modell-Gruppe erstellen
  • Model auf die Gruppe registrieren
  • Deployment
  • Machine Learning nutzen.

Ursprünglich bin ich dieser Anleitung gefolgt. Du arbeitest am bequemsten direkt unter den Developer Tools (Management-> Dev Tools), kannst deine Befehle aber wie immer auch einfach via curl gegen die API senden:

Vorbereitung von Open Search auf Machine Learning

Zunächst habe ich für alle in meinem Beispiel genutzten Modelle URL-Registrierung zugelassen:

PUT _cluster/settings
{
    "persistent" : {
        "plugins.ml_commons.allow_registering_model_via_url" : true
    }
}

Außerdem habe ich das Zeitintervall der Synchronisation erhöht.
Denn „ML Commons will run a regular sync up job to sync up newly loaded or unloaded models on each node“:

PUT /_cluster/settings
{
    "persistent": {
        "plugins.ml_commons.sync_up_job_interval_in_seconds": 600
    }
}

Ab hier musst du einige Python-Libraries laden. Viele Modelle basieren auf der Pytorch-Library. So auch Sentence-Transformers, welches für einige der OpenSearch Modelle benötigt wird.

pip install -U sentence-transformers

Prinzipiell werden ML-Tasks nur auf den eigens dafür zugewiesenen OpenSearch Knoten ausgeführt und hierfür habe ich in meiner opensearch.yml folgende Einträge gesetzt:

node.roles: [ data, cluster_manager,  ml ]
plugins.security.restapi.roles_enabled: ["all_access","ml", "security_rest_api_access"]

Machine Learning Modell bereitstellen

Vorab: Über Task-IDs checkt man, ob die vorherigen Schritte durchgingen und besorgt sich notwendige Informationen zum weiter zuordnen.

Um Machine Learning Modelle in OpenSearch bereitzustellen, legt man einfach eine Gruppe an. Anschließend lädt man das Modell, fügt das Modell der Gruppe hinzu, deployt es über die Modell-ID an die gewünschten Knoten und hat anschließend die Möglichkeit, Machine Learning zu nutzen. Diese einzelnen Schritte zeige ich dir jetzt aber noch einmal detailliert.

Schritt 1: Modell Gruppe hinzufügen.

Bevor Modelle einer Gruppe hinzugefügt werden können, muss eine solche Gruppe angelegt werden. In meinem Beispiel habe ich sie „my-ml-group“ genannt. Am einfachsten werden die Gruppen per API-Call hinzugefügt:

POST /_plugins/_ml/model_groups/_register
{
    "name": "my-ml-group",
    "description": "This is a public model group"
}

Es wird Success/Fail-Status sowie Gruppen-ID zurückgegeben, die benötigt wird: z.B. gprKIYoBmWoi9V5-T2Pb

Schritt 2: Das Modell wird von Huggingface geladen. (In meinem Beispiel verwende ich das Modell „all-MiniLM-L12-v2“)

POST /_plugins/_ml/models/_upload
{
  "name": "huggingface/sentence-transformers/all-MiniLM-L12-v2",
  "version": "1.0.1",
  "model_format": "TORCH_SCRIPT"
}

Schritt 3: Das all-MiniLM-L12-v2 Modell wird auf die vorherige Gruppen-ID meiner my-ml-group registriert:

POST /_plugins/_ml/models/_register
{
"name": "huggingface/sentence-transformers/all-MiniLM-L12-v2",
"version": "1.0.1",
"model_format": "TORCH_SCRIPT",
"model_group_id": "gprKIYoBmWoi9V5-T2Pb"
}

Hier bekommt man wieder den Success/Error-State, sowie eine Task ID zurück. In meinem Beispiel ist das die MprLIYoBmWoi9V5-o5Ix.

Schritt 4: Model-ID besorgen

Nutzt man die Task-ID vom registrierten Modell, sieht man Modell ID sowie Error-State:

GET /_plugins/_ml/tasks/MprLIYoBmWoi9V5-o5Ix
{
  "model_id": "RJrLIYoBmWoi9V5-o5LW",
  "task_type": "REGISTER_MODEL",
  "function_name": "TEXT_EMBEDDING",
  "state": "COMPLETED",
  "worker_node": [
    "KmfjhwWjS7eepv4PnUMKWw"
  ],
  "create_time": 1692784108336,
  "last_update_time": 1692784119285,
  "is_async": true
}

Die Modell-ID wird nun für das nachfolgende Deployment benötigt.

Schritt 5: Auf den Model-Nodes deployen

Zum eigentlichen Deployment braucht es Modell-ID und Knoten. Damit kann ich es auf all meinem Machine Learning-Knoten ausrollen:

POST /_plugins/_ml/models/RJrLIYoBmWoi9V5-o5LW/_load

Als Antwort bekommen ich den Task-Type: „Deploy„, sowie den State: „Completed

{
  "model_id": "RJrLIYoBmWoi9V5-o5LW",
  "task_type": "DEPLOY_MODEL",
  "function_name": "TEXT_EMBEDDING",
  "state": "COMPLETED",
  "worker_node": [
    "KmfjhwWjS7eepv4PnUMKWw"
  ],
  "create_time": 1692785563893,
  "last_update_time": 1692785582120,
  "is_async": true
}

Schritt 6: Prediction testen

Hierzu braucht es die Modell ID aus Schritt 5 des Deployments. Mit folgendem Call kannst du die Prediction testen:

POST /_plugins/_ml/_predict/text_embedding/RJrLIYoBmWoi9V5-o5LW
{
    "text_docs": [ "today is sunny" ],
    "return_number": true,
    "target_response": [ "sentence_embedding" ]
}

Ab hier wird es spannend, denn hat man mehrere OpenSearch Cluster läuft das Ganze direkt verteilt und auch alle Logs wie z.B. die von Icinga, Graylog uvm. sind im selben Backend. Dadurch wäre es möglich, mit allen vorhandenen Logs gleichzeitig zu trainieren!

Kannst du dir schon vorstellen, was du damit alles machen möchtest und vor allem da alles lokal bei dir stattfinden kann, was es bedeutet, dass du die volle Kontrolle über Datensicherheit hast?

OpenSearch: Dashboards Plugins einfach installieren

This entry is part 4 of 5 in the series OpenSearch Security

OpenSearch ist in seiner Vanilla Version schon sehr umfangreich. Doch erst mit den OpenSearch Plugins kannst du deine Experience personalisieren und das Maximum aus dem Elastic-Fork herausholen.
Eines vorab, bevor ich richtig ins Thema einsteige: die Geschwindigkeit, in der sich das Projekt aktuell weiterentwickelt ist extrem positiv. Deshalb kann man aktuell davon ausgehen, dass die Plugins beim Release des Blogposts noch mal besser geworden sind oder es noch mehr Regeln geben wird.

OpenSearch Plugins für Backend und Dashboards

Nun aber hinein ins Thema OpenSearch Plugins!
Hier muss direkt zwischen dem Backend „OpenSearch“ und den OpenSearch Dashboards unterschieden werden.

Das Backend kommt schon pre-Bundled mit einer Menge nützlicher Plugins. Diese vorinstallierten Plugins kannst du dir mit einem einfachen Befehl anzeigen lassen:

/usr/share/opensearch/bin/opensearch-plugin list

opensearch-alerting
opensearch-anomaly-detection
opensearch-asynchronous-search
opensearch-cross-cluster-replication
opensearch-geospatial
opensearch-index-management
opensearch-job-scheduler
opensearch-knn
opensearch-ml
opensearch-neural-search
opensearch-notifications
opensearch-notifications-core
opensearch-observability
opensearch-performance-analyzer
opensearch-reports-scheduler
opensearch-security
opensearch-security-analytics
opensearch-sql

Im Gegensatz dazu steht das Frontend OpenSearch Dashboards. Hier gibt es out-of-the-box keine Plugins und du kannst, darfst oder musst hier selbst Hand anlegen. Dadurch haben Anpassungen an deine individuellen Bedürfnisse jedoch nur die Grenze der Software.

Auch wenn du alle Plugins selbst installieren musst, ist dort so schnell viel in Bewegung gekommen, dass es leicht geworden ist, Plugins zu installieren. Und das Ganze ohne sich um Versionen / Git-Repositories kümmern zu müssen.

WICHTIGER HINWEIS: Es wird NICHT empfohlen, nachfolgende Skripte als Root auszuführen. Der Vollständigkeit halber habe ich die Flagge als Kommentar auskommentiert im Skript stehen lassen, solltest du das doch tun wollen.
Zum Installieren von Plugins habe ich mir folgendes „./deploy-plugins.sh„-Skript gebaut, das einfach mit dem Pfad der Binärdatei eine Installation über die Namen der Plugins macht:

#!/bin/bash

PLUGINS=(
alertingDashboards
anomalyDetectionDashboards
customImportMapDashboards
ganttChartDashboards
indexManagementDashboards
mlCommonsDashboards
notificationsDashboards
observabilityDashboards
queryWorkbenchDashboards
reportsDashboards
searchRelevanceDashboards
securityAnalyticsDashboards
securityDashboards
)

for PLUGIN in "${PLUGINS[@]}"
do
    /usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin install $PLUGIN # --allow-root
done

Mit diesem kleinen, von mir geschriebenen Skript ist es schnell und unkompliziert möglich, mehrere OpenSearch Dashboard Plugins gleichzeitig zu installieren.

Da man Plugins in den meisten Fällen nicht nur installieren, sondern auch einmal entfernen will, habe ich dazu ebenfalls ein kleines Skript geschrieben. Es hört auf den Namen „./remove-plugins.sh„:

#!/bin/bash

PLUGINS=(
alertingDashboards
anomalyDetectionDashboards
customImportMapDashboards
ganttChartDashboards
indexManagementDashboards
mlCommonsDashboards
notificationsDashboards
observabilityDashboards
queryWorkbenchDashboards
reportsDashboards
searchRelevanceDashboards
securityAnalyticsDashboards
securityDashboards
)

for PLUGIN in "${PLUGINS[@]}"
do
    /usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin remove $PLUGIN # --allow-root
done
systemctl restart opensearch && systemctl restart opensearch-dashboards

Mit dem letzten Befehl startest du OpenSearch und OpenSearch Dashboards neu. Nur so können wir sichergehen, dass die Installation oder Deinstallation von Plugins auch angenommen wird.

OpenSearch Dashboards: Plugin Überblick

Wenn du mein Skript verwendet hast, um Plugins für das Dashboard zu installieren, solltest du jetzt eine größere Seiten-Leiste haben als zuvor. Denn irgendwie musst du ja auch auf die Plugins zugreifen.
Damit du weißt, welche OpenSearch Plugins ich in meinem Skript verwende, folgt hier nun für jedes Plugin eine kurze Beschreibung sowie ein Screenshot, um dir die visuelle Darstellung vorzustellen.

Query Workbench:
Mit diesem Plugin kannst du in SQL und PPL Abfragen machen. Interessant finde ich vor allem die Explain-Funktion, die die Darstellung im JSON-Format zurückgibt.

Reporting:
Mit Reporting lassen sich bequem alle relevanten Daten, zum Beispiel deine individuell angelegten Dashboards, aber auch viele weitere Daten exportieren. Der Export kann natürlich auch mit Schedulern automatisiert werden.
Ich kann mir vorstellen, das exportiere Reportings in den Formaten PDF und PNG in vielen Business-Umgebungen eine sinnvolle Erweiterung darstellen.

Alerting:
Hiermit kannst du für alle Parameter, die du überwachst, etwa Anomalien in deinen Datensätzen, Schwellwerte setzen und Aktionen auslösen lassen. Stark sind hier die vielen Möglichkeiten, die geboten werden. Du kannst dich zum Beispiel benachrichtigen lassen, wenn ein „whoami“ eingegeben wird oder ein Icinga2Host ausfällt! Die Grenzen sind sehr weit gefasst, dass sicher auch für deinen Use Case das passende Alerting einstellbar ist.

Stark sind vor allem mitgelieferten Notification Channels und das freundliche UI!

Anomaly Detection:
Hier wird der Nutzer mit mehr Neugier, Statistikwissen und tieferer Kenntnis seiner Daten (sowie, deren Felder) besseren Nutzen rausholen können.
In meinem Screenshot siehst du ein kleines Beispiel der Anomalien der Event Codes eines Active Directories der letzten 30 Tage. Solche Möglichkeiten sind natürlich genial für alle Admins, Data Scientists oder Analysten die projizieren und erkennen wollen:

Maps:
Richtig spannend wird es, wenn dir Geodaten zur Verfügung stehen. Im OpenSearch Dashboards Plugin Maps kannst du dann aus mehreren visuellen Layern auswählen. Damit kann man schnell beeindrucken und mit den unterschiedlichen Layern sogar seine präferierte Ansicht wählen.

Security Analytics:
Vielleicht hast du mittlerweile auch ähnliche Gedankengänge wie ich zum Zeitpunkt, als ich OpenSearch getestet habe. Einer der prominentesten Gedanken bei mir war „Okay cool. Und das ist wirklich alles umsonst?“. Die einfache Antwort: Yes!

Aber als ich dann bei Security Analytics mit einem Klick einen Detector anlegen wollte, war ich dann einfach nur (positiv) schockiert. Hier sind massig Sigma Regeln eingebunden und das komplett umsonst!
Allein die Auswahl an Providern ist der Wahnsinn.

Fast 1600 Sigma-Regeln für Windows?! Wow!

Die Auswahl an Linux-Regeln ist auch stark und auch wenn es nicht viele sind, scheint man sich mit der Auswahl sehr viel Gedanken gemacht zu haben, um eine breite Trickkiste abzufangen:

Also ist hier alles perfekt? Sehr gut, ja, aber nicht perfekt. Denn ein kleiner Haken im Vergleich zu Graylog und Elastic, die fertig eingerichtet kommen, ist, dass du die Detector-Regeln erst mal an die Felder der Indices anpassen musst. Dafür benötigst du schon einiges an Wissen und Zeit. Das heißt aber nicht, dass das so bleiben muss / wird!

Kaum am Laufen und minimale Anpassungen später hatte ich direkt einen simulierten Treffer in einem Honeypot-AD von mir:

Index Management & Snapshot Management:
Snapshots sind für viele Admins und Entwickler wichtig. Ebenso wichtig sind Rollups mit denen man abbilden kann, wie lange die Daten der einzelnen Indizes verwahrt werden sollen.
In meinem Anwendungsbeispiel lege ich mir einfach einen neuen Index an und schiebe den alten dort hinein. Das Feld ist zusätzlich noch zeitgesteuert, womit man sehr viel Customization erhält:

Search Relevance:
Mit diesem Plugins sich verschiedene Suchen vergleichen. Ziemlich hilfreich, um schnell Daten, etwas Felder aus verschiedenen Indizes miteinander zu vergleichen. Das setzt natürlich voraus, sich einmal mit der OpenSearch Query DSL auseinanderzusetzen.

Maschine Learning:
Um dieses Plugin einzusetzen, willst du genug Cluster haben, mit genug CPU & GPU Power. Dabei ist auch die Frage, wo du die Arbeit verrichten lassen willst, denn Logging braucht so schon genug Leistung und du brauchst auch extra Libraries.
Den Einsatz dieses OpenSearch Dashboard Plugins solltest du also etwas genauer planen. Auch Maschine Learning Modell-Deployments habe ich im Rahmen meiner OpenSearch Analyse genauer unter die Lupe genommen. Dieser Abschnitt würde jedoch den Rahmen dieses Blogbeitrags sprengen. Deshalb werde ich zum Thema OpenSearch Machine Learnung einen gesonderten Blogpost schreiben.

Ich hoffe, ich konnte dir mit diesem Blogpost ein paar Beispiele für die vielfältigen Plugins in OpenSearch zeigen und freue mich auf dein Feedback!