E-Commerce mit Ruhepuls

Deep Dive in effektives Monitoring

Wie Sie Ihren E-Commerce-Shop von der Intensivstation zu einem Sportler-Mindset bringen

Andreas Mautz

Andreas Mautz

Intensivpatient:in vs. Athlet:in

Intensivstation
Sprinter bei den Paralympics

Intensivpatient:in vs. Athlet:in

Warum soll mein Shop "athletisch" sein?

Intensivpatient:in

  • Hohe Kosten zum Überleben
  • Abhängig, fremdbestimmt
  • Anfällig für Ausfälle
  • Alles Alarm
  • Bindet Personal

Athlet:in

  • Geringere Kosten zum Optimieren
  • Selbstbestimmt
  • Resilienz
  • Gezielte Signale
  • Beschäftigt Personal

Aktionsplan für einen gesunden Shop

Von der Intensivstation ins Fitnessstudio

Aktionsplan für einen gesunden Shop

  1. Schockraum
  2. Anamnese und erste Untersuchung
  3. Behandlung
  4. Reha
  5. Training
Aktionsplan für einen gesunden Shop

Schockraum: Hacks und aktive Schwachstellen beseitigen

Aktionsplan für einen gesunden Shop

Anamnese: Systematische Analyse des aktuellen Zustands

Aktionsplan für einen gesunden Shop

Untersuchung: Erste Diagnostik am "lebenden Objekt"

Aktionsplan für einen gesunden Shop

Behandlung: Pareto-Prinzip in Aktion

Aktionsplan für einen gesunden Shop

Reha: Tests und erste Gehversuche in Richtung Fitness, Vertrauensbildung

Aktionsplan für einen gesunden Shop

Training: datengetrieben konstant verbessern

Schockraum in der Praxis (Notfall)

aka: Überleben sicherstellen

Schockraum in der Praxis (Notfall)

  • Shop absichern, koste es, was es wolle
  • Daten sichern
  • Lücken schließen
  • Reinigen
  • Durchatmen
  • Rechtssicher handeln
Schockraum in der Praxis (Notfall)

Tools:

Malware Scanner

Schockraum in der Praxis (Notfall)

Tools:

Malware Scanner

curl https://ecomscan.com | sh
Schockraum in der Praxis (Notfall)

Tools:

Malware Scanner

shop security
Schockraum in der Praxis (Notfall)

Tools:

Backend

Webserver-Config

Datenbank-Manager

Console

VIM

Anamnese in der Praxis

aka: Symptome finden

Anamnese in der Praxis

Ruhige Bestandsaufnahme der "Krankengeschichte"

Anzahl / Größe Error Reports und Logfiles

Kundenfeedback

Umsatzziel

gefühltes Verhalten des Shops

"Cut machen"

Untersuchung in der Praxis

Tools:

"Tagebuch", Ticketsystem

Graylog, tail, ls | wc -l

Profiler wie Tideways

Pagespeed, Lighthouse

Customer-Support, Feedback-Formulare

KPIs


                    tail -f var/log/*.log | grep -i ERROR
                    cat var/log/*.log | grep -i ERROR | wc -l
                    ls -la var/report/ | wc -l
                
                
Untersuchung in der Praxis

Tideways lahm

Schlechte Performance
Untersuchung in der Praxis

Tideways ok

Gute Performance
Untersuchung in der Praxis

Schlechte Bewertung

Schlechter Lighthouse Score
Untersuchung in der Praxis

Gute Bewertung

Guter Lighthouse Score
Untersuchung in der Praxis

Lasttest (hier Locust)


from locust import HttpUser, task, between

            class QuickstartUser(HttpUser):
            wait_time = between(1, 5)

            @task
            def index(self):
            self.client.get("/")

            @task(4)
            def categories(self):
            self.client.get("/category1.html")
            self.client.get("/category1/product1.html")
            self.client.get("/category1/category13/product2.html")
            self.client.get("/category5.html")
                    [...]
                
Untersuchung in der Praxis

Lasttest

Locust Ergebnis

Behandlung in der Praxis

aka: Symptome mindern

Behandlung in der Praxis

Automatisierung (CI/CD)

Gitlab Pipeline

Behandlung in der Praxis

Patches

composer show -l

Composer Show

Elgentos Upgrade GUI

Behandlung in der Praxis

Hotfix

1. siehe Patches

2. VIM 🤷‍♂️

Errorhandling

Wartungs- und Fehlerseite️

Behandlung in der Praxis

                        
                            Magento\Framework\Logger\Handler\Exception
                            protected $loggerType = Logger::INFO;
                        
                    

Behandlung in der Praxis

Entferne den Bullshit

Log noise

Behandlung in der Praxis

Logrotate
Take care of errors (5Mb-Diät)
Log noise

Behandlung in der Praxis

Entferne den Bullshit

Stores" -> "Configuration" -> "Advanced" -> "Developer" -> "Debug" -> "Log to File"

Behandlung in der Praxis

                        
                            bin/magento setup:config:set --enable-syslog-logging=false
                            bin/magento setup:config:set --enable-debug-logging=false
                        
                    

Reha

aka: wieder mit kleinen Schritten Laufen lernen

Reha: Code Qualität und Wartbarkeit

Pflege mit renovate und rector

                            
        {
          "extends": ["config:base"],
          "packageRules": [
            {
              "matchUpdateTypes": ["minor", "patch"],
              "automerge":false
            }
          ]
        }
                            
                        
Renovate MR

Reha: Handlungsfähig werden

Kleine Code-Änderungen mit großer Wirkung

WilMa was here

Reha

Modulpflege

  • regelmässige Updates starten
  • mit Test schreiben anfangen
  • Dokumentation anfangen
  • Lizenzen klären
  • aktives, automatisches Feedback einrichten

Training

aka: ab jetzt jeden Tag mehr

ab jetzt jeden Tag mehr

  • mehr Analyse
  • mehr Updates
  • mehr Features
  • mehr Performance
  • mehr Übersicht

ab jetzt jeden Tag mehr

denn Sie wissen ja jetzt, was zu tun ist

Kombination:

Lasttest + tail

Kombination:

lighthouse (web oder cli) + Zeitverlauf

Kombination:

Tideways und renovate

Kombination:

rector und Cypress

Mehr Übersicht: Logformate vereinheitlichen

Verschiedene Logformate (z.B. JSON, Plaintext) vereinheitlichen mit Tools wie `jq` für JSON-Parsing.

Einheitliche Datenstrukur verwenden (Datum, Reihenfolge in der Payload)

Mehr Übersicht:Logrotate

Beispiel für Logrotate-Konfiguration zur Handhabung großer Logdateien:


/var/log/myapp/*.log {
    weekly
    rotate 4
    compress
    missingok
    notifempty
}
                    

Mehr Übersicht: Graylog + Notifications

Graylog

Zusammenfassung und Best Practices

Regelmäßige Wartung und Überwachung sind der Schlüssel zu einem gesunden Shop.

Das braucht aber Übersicht und Kenntnis von Wartungsmechanismen.

Verwende automatisierte Tools zur kontinuierlichen Überwachung und Verbesserung.

Stelle sicher, dass dein Shop resiliente Prozesse hat, um Ausfälle zu vermeiden.

Haben Sie Fragen?

Jetzt ist die Zeit für Ihre Fragen und Diskussionen!

Quellen und weiterführende Lektüre

Bildnachweise

Thank You!

WilMa Digital GmbH

linkedin | WilMa Digital GmbH | @mautz_et_tong