info@yenlo.com
ned
Menu
WSO2 6 min

Evoluerende Integratieprestaties: Van WSO2 EI naar MI 4.2.0

Onze nieuwste blog verkent de overgang van WSO2 EI 6.5.0 naar MI 4.2.0. Ontdek hoe deze updates de integratieprestaties, observeerbaarheid en monitoring verbeteren. Lees meer over de verbeteringen en hoe ze jouw bedrijf kunnen helpen in onze gedetailleerde blog.

Steve_Liem.jpg
Steve Liem
Technical Consultant
Evoluerende Integratieprestaties Van WSO2 EI naar MI 4.2.0 1

Onze reis in bedrijfsintegratie benadrukt de evolutie van de uitdagingen waarmee we te maken kregen bij WSO2 Enterprise Integrator (EI) 6.5.0 tot de gestroomlijnde efficiëntie van WSO2 Micro Integrator (MI) 4.2.0. Deze overgang belichaamt het streven van WSO2 naar continue verbetering en innovatie.

Navigeren in observability voor systeemstabiliteit

Welkom bij een cruciale verschuiving in enterprise integratie, waar observability de weg wijst naar systeemstabiliteit. Ons verhaal begint met het gevestigde JMX-protocol, dat een hoeksteen is geweest in monitoring. Met de opkomst van container orchestratie technologieën zoals Kubernetes, luiden we echter een nieuw tijdperk in. Deze blog gaat in op de transformatie van het monolithische framework van WSO2 Enterprise Integrator naar een dynamischere, gecontaineriseerde aanpak met WSO2 Micro Integrator en JMX Exporter. Hier verkennen we hoe moderne tools zoals Prometheus en Grafana onze capaciteit om proactief instabiliteiten in WSO2-componenten te beheren en te detecteren, revolutioneren, wat een aanzienlijke afwijking markeert van de bare-metal installaties uit het verleden.

De EI ervaring: diepgaande probleemanalyse

In eerste instantie, in WSO2 EI 6.5.0, hadden we te maken met aanzienlijke opstartvertragingen, waarbij de tijden opliepen van 240 seconden tot meer dan 1.200 seconden. Ons uitgebreide probleemoplossingsproces omvatte het gebruik van tools zoals log4jdbc DriverSpy, JMX-monitoring, en nauwgezette analyse van het wso2carbon.log-bestand. Het volgen en interpreteren van technische logs was een cruciaal onderdeel van onze diagnostische aanpak. Deze gedetailleerde analyse van logpatronen was niet alleen technisch veeleisend maar ook tijdrovend, vaak uitlopend op dagen werk.

Evoluerende Integratieprestaties Van WSO2 EI naar MI 4.2.0

Dit benadrukte de robuustheid van de tools van WSO2 in het beheren van complexe databaseverbindingen en prestatie-uitdagingen, terwijl het ook de ingewikkelde aard van het identificeren en oplossen van onderliggende problemen in bedrijfsintegrators belichtte.

Deze reis en de lessen die we hebben geleerd, werden gedetailleerd gedocumenteerd in mijn vorige blogpost, “Hoe laat je een langzame WSO2 Enterprise Integrator server sneller starten?“, waarin verder wordt ingegaan op de diepten van dergelijke technische inspanningen.

Overgang naar MI 4.2.0: verbeterde prestatieafstemming

Met de upgrade naar MI 4.2.0 hebben we de integratieaanpak verfijnd om de prestaties en monitoringcapaciteiten te verbeteren:

1. Prestatieafstemming en Configuratie:

  • De slankere architectuur van MI droeg bij aan snellere opstarttijden, waarbij de verbeterde prestatievermogens werden getoond.
  • We hebben de deployment.toml geoptimaliseerd voor effectief geheugen- en threadbeheer, waarbij de flexibiliteit van MI werd aangetoond:

2. Geavanceerde observatiemogelijkheden met JMX en Prometheus:

  • Prometheus wordt gebruikt voor realtime monitoring en toont de geavanceerde integratie- en observatiemogelijkheden van MI.
  • Om gedetailleerde prestatie-inzichten via JMX-metrics mogelijk te maken, introduceren we aangepaste configuraties in de deployment.toml en stellen we JVM-opdrachtregelopties in voor Prometheus-compatibiliteit:
```toml
     [[synapse_handlers]]
     name="CustomObservabilityHandler"
     class="org.wso2.micro.integrator.observability.metric.handler.MetricHandler"

     # Example datasource with JMX enabled
     [[datasource]]
     id = "StoreDB"
     url = "jdbc:mysql://mysql:3306/store"
     username = "root"
     password = "root"
     driver = "com.mysql.cj.jdbc.Driver"
     jmx_enable = true
     ```
  • JVM opdrachtregel-opties:
    -DenablePrometheusApi=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=9999
  • In de volgende stap zullen we een JMX Exporter als sidecar implementeren om JMX-metrics te verzamelen en deze op een Prometheus-vriendelijke manier aan te bieden.
Integration solutions with WSO2
Brochure Integration Solutions met WSO2

Een leveranciersoverzicht

Nu downloaden

3. Docker Compose Setup voor JMX Exporter:

  • Een JMX Exporter Docker-container is ingesteld om metrics van de WSO2MI-instantie te verzamelen. Hier is het relevante fragment uit het docker-compose-bestand
     ```yaml
     jmx-exporter:
       image: sscaling/jmx-prometheus-exporter
       networks:
         - app-tier
       ports:
         - "9072:9072"
       environment:
         SERVICE_PORT: 9072
         JVM_OPTS: "-Djava.util.logging.config.file=/opt/jmx_exporter/logging.properties -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=5555"
       volumes:
         - ./conf/jmx-exporter/wso2mi_config.yml:/opt/jmx_exporter/config.yml
     ```
  • De wso2mi_config.yml voor de JMX Exporter is geconfigureerd om verbinding te maken met het WSO2MI JMX-eindpunt met de volgende instellingen:
     ```yaml
     startDelaySeconds: 15
     jmxUrl: service:jmx:rmi:///jndi/rmi://wso2mi:9999/jmxrmi
     ssl: false
     lowercaseOutputName: true
     username: admin
     password: admin
     ```
  • Het is cruciaal om de juiste jmxUrl te gebruiken voor een succesvolle verbinding met de JMX-interface van WSO2MI.

Deze stappen illustreren de setup voor verbeterde monitoringcapaciteiten in WSO2 Micro Integrator, wat een naadloze integratie met observatietools mogelijk maakt.

4. Visualisatie van MI-metrics met Grafana:

MI Metrics visualiseren met Grafana: Het configureren van Grafana om MI-metrics weer te geven, verbetert de observeerbaarheid van de databaseprestaties en toont de geavanceerde mogelijkheden van WSO2 Micro Integrator voor diepgaande analyses. Met behulp van de JMX Exporter hebben we de standaardmetrics uitgebreid om een breder scala aan databaseverbindingsparameters op te nemen, wat zorgt voor een meer uitgebreide monitoringsetup.

In plaats van de eerder genoemde db_active_connections en db_idle_connections metrics, kunnen we nu een reeks gedetailleerde metrics monitoren die ons inzicht geven in de status en gezondheid van de databaseverbindingspool. Deze metrics omvatten:

  • [datasource id]_datasource_initialized: Geeft aan of de datasource is geĂŻnitialiseerd.
  • [datasource id]_datasource_autocommit: Toont of auto-commit is ingeschakeld voor de verbindingen.
  • [datasource id]_datasource_readonly: Geeft aan of de datasource in alleen-lezen modus is.
  • [datasource id]_datasource_lastconnected: Het tijdstip van de laatste succesvolle verbinding.
  • [datasource id]_datasource_closed: Geeft aan of de datasource is gesloten.
  • [datasource id]_datasource_lastvalidated: Het tijdstip waarop de verbinding voor het laatst gevalideerd is.
  • [datasource id]_datasource_maxageexpired: Geeft aan of verbindingen zijn verlopen door de maximale leeftijdsinstellingen.
  • [datasource id]_datasource_discarded: Telt het aantal verworpen verbindingen.
  • [datasource id]_datasource_suspect: Vlaggen verbindingen die verdacht of mogelijk gebroken zijn.
  • [datasource id]_datasource_connectionversion: Versienummer van de verbinding.
  • [datasource id]_datasource_timestamp: Het huidige tijdstip.
  • [datasource id]_datasource_transactionisolation: Toont het transactieniveau van isolatie.
  • [datasource id]_datasource_holdability: Geeft de houdbaarheid van de verbindingen aan.
  • [datasource id]_datasource_released: Telt hoeveel verbindingen zijn vrijgegeven.

Het creëren van Grafana dashboards die deze metingen visualiseren, stelt beheerders in staat om de prestaties en stabiliteit van hun databaseverbindingen in realtime te monitoren en te analyseren, waardoor bruikbare inzichten worden geboden in de werking van het systeem.

Opmerking: Het metrieken eindpunt dat wordt geleverd door WSO2 MI (http://:/metrics) exposeert deze JMX-metrieken niet standaard. Door de JMX Exporter te gebruiken zoals beschreven in mijn Docker Compose-setup, kunnen we deze gedetailleerde JMX-metrieken van WSO2 MI schrapen en ze in een formaat serveren dat Prometheus kan consumeren en Grafana kan visualiseren.

Het ontdekken van de oorzaak met geavanceerde monitoring van MI

De geavanceerde monitoringfuncties van MI stroomlijnen het proces van het identificeren van voorbeelden zoals de MS SQL-databaseserver als het belangrijkste probleem dat in mijn vorige blog is besproken. De integratie van Prometheus en Grafana biedt robuuste oplossingen voor realtime analyse:

  • Het snel detecteren van afwijkingen in databaseprestatie-metrics werd eenvoudig, waardoor onmiddellijke identificatie van ongebruikelijke patronen of langdurig gebruik mogelijk was.
  • Continue bewaking wierp licht op externe factoren die van invloed waren op de databasefunctionaliteit, waarbij potentiĂ«le onderliggende problemen aan het licht kwamen.
  • Directe en uitgebreide inzichten in databasebewerkingen vergemakkelijkten een efficiĂ«ntere aanpak bij het diagnosticeren en aanpakken van problemen, waarbij mogelijk uitdagingen werden geĂŻdentificeerd die verband hielden met de Windows-server die de database hostte.
Het Ontdekken van de Oorzaak met Geavanceerde Monitoring van MI

Deze verbeterde bewakingsmogelijkheden in MI benadrukten de efficiëntie en effectiviteit van het platform in het snel identificeren en aanpakken van externe databasegerelateerde uitdagingen.

Reflectie op EI en MI benaderingen

De overgang van handmatige monitoring van EI naar geautomatiseerd prestatiebeheer van MI weerspiegelt een significante vooruitgang in integratietechnologie. Deze verschuiving benadrukt de toewijding van WSO2 om oplossingen te bieden die de complexiteit verminderen en de efficiëntie verbeteren.

Conclusie: het nieuwe tijdperk met MI 4.2.0

De geavanceerde monitoringfuncties van MI stroomlijnen het proces van het identificeren van voorbeelden zoals de MS SQL-databaseserver als het belangrijkste probleem dat in mijn vorige blog is besproken. De integratie van Prometheus en Grafana biedt robuuste oplossingen voor realtime analyse:

  • Het snel detecteren van afwijkingen in databaseprestatiegegevens wordt eenvoudig, waardoor directe identificatie van ongebruikelijke patronen of langdurig gebruik mogelijk is.
  • Continue monitoring werpt licht op externe factoren die van invloed zijn op de functionaliteit van de database, waardoor potentiĂ«le onderliggende problemen aan het licht komen.
  • Directe en uitgebreide inzichten in databasebewerkingen vergemakkelijken een efficiĂ«ntere aanpak bij het diagnosticeren en aanpakken van problemen, waarbij mogelijk uitdagingen worden geĂŻdentificeerd die verband houden met de Windows-server die de database host.

Deze verbeterde monitoringmogelijkheden in MI benadrukken de efficiëntie en effectiviteit van het platform bij het snel identificeren en aanpakken van externe databasegerelateerde uitdagingen.

ned
Sluiten