{"id":52731,"date":"2025-03-27T07:00:00","date_gmt":"2025-03-27T15:00:00","guid":{"rendered":"https:\/\/www.sumologic.com\/blog\/alles-was-sie-ueber-das-haproxy-protokollformat-wissen-muessen"},"modified":"2025-11-20T09:34:06","modified_gmt":"2025-11-20T17:34:06","slug":"haproxy-log-format","status":"publish","type":"blog","link":"https:\/\/www.sumologic.com\/de\/blog\/haproxy-log-format","title":{"rendered":"Alles, was Sie \u00fcber das HAProxy-Protokollformat wissen m\u00fcssen"},"content":{"rendered":"\n<section class=\"e-stn e-stn-0d652506f82b000a392973813b918ee25d5b4211 e-stn--glossary-inner-content e-stn--table-of-content\"><div class=\"container\">\n<div class=\"wp-block-b3rg-row e-row row\">\n<div class=\"wp-block-b3rg-column e-col e-col-1f7b3997080fc292474d26ff00c905d99d3520fa e-col--content-wrapper  col-sm-12 col-lg-12 col-xl-12\">\n<div class=\"e-div e-div-a1b32f66e1749758df41d5aea14f647cd10e362c e-div--card-btn-link\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"400\" src=\"https:\/\/www.sumologic.com\/wp-content\/uploads\/HAProxy_blog_700x200.jpg\" alt=\"\" class=\"wp-image-14448\" title=\"\"><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><a href=\"https:\/\/www.haproxy.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">HAProxy<\/a>\u00a0ist heute eine der schnellsten und am weitesten verbreiteten Load-Balancing-L\u00f6sungen. Wenn Sie HAProxy bereits verwenden oder den Einsatz in Ihrer Umgebung in Erw\u00e4gung ziehen, ist ein Verst\u00e4ndnis der HAProxy-Protokollierung unerl\u00e4sslich.<\/p>\n\n\n\n<p>Schauen wir uns an, warum die HAProxy-Protokollierung f\u00fcr die Load-Balancer-Implementierung so wichtig ist, welche Protokollierungsm\u00f6glichkeiten HAProxy bietet und wie Sie die HAProxy-Protokolle verwalten und konfigurieren k\u00f6nnen, damit sie Ihren individuellen Anforderungen entsprechen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"why-load-balancer-logging-is-critical\">Warum die Load-Balancer-Protokollierung wichtig ist<\/h2>\n\n\n\n<p>Ein\u00a0<a href=\"https:\/\/www.sumologic.com\/glossary\/load-balancer\">Load Balancer<\/a>\u00a0ist essenziell, um Ihre Anwendung mit der Au\u00dfenwelt zu verbinden. Er analysiert alle eingehenden Anfragen, validiert sie und leitet sie an den passenden Backend-Server weiter. Dar\u00fcber hinaus gew\u00e4hrleisten Load Balancer Hochverf\u00fcgbarkeit, indem sie Anfragen \u00fcber gesunde Instanzen verteilen und den Zugriff auf nicht funktionale Instanzen verhindern.<\/p>\n\n\n\n<p>Da der Load Balancer s\u00e4mtliche Anfragen verarbeitet, wird er h\u00e4ufig zum zentralen Punkt von Untersuchungen, wenn Konnektivit\u00e4tsprobleme auftreten. Daher ist HAProxy-Logging so wichtig. Es bietet detaillierte Sichtbarkeit in Anfragefl\u00fcsse, Performance-Metriken und m\u00f6gliche Fehler. Durch die Analyse Ihrer HAProxy-Logs k\u00f6nnen Sie Anomalien erkennen und einen reibungslosen Betrieb sicherstellen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"why-is-haproxy-log-monitoring-important\">Warum ist HAProxy-Log-Monitoring so wichtig?<\/h2>\n\n\n\n<p>HAProxy-Logs bieten Millisekundenpr\u00e4zision und damit verwertbare Daten \u00fcber Ihre Infrastruktur auf Makro- und Mikroebene. Sehen wir uns an, welche Informationen aus einem HAProxy-Log gewonnen werden k\u00f6nnen \u2014 und wie jede Logzeile zur umfassenden Observability Ihrer Anwendung beitr\u00e4gt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"traffic-metrics\">Traffic-Metriken<\/h3>\n\n\n\n<p>Die Analyse des Anfragenvolumens hilft, Ressourcenbedarf zu verstehen und liefert Einblicke, wie, warum und wann Fehler auftreten k\u00f6nnen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"request-and-response-details\">Request- und Response-Details<\/h3>\n\n\n\n<p>Wenn Sie Fehlerzust\u00e4nde untersuchen, die bestimmte Benutzer oder Regionen betreffen, kann Ihnen die Untersuchung des Request-Headers, des Response-Headers, der Payloads und der Statuscodes helfen, die genaue Ursache eines Problems zu isolieren. So gewinnen Sie auch detaillierte Informationen \u00fcber die Verhaltensweisen, die bei Kunden auftreten k\u00f6nnen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"routing-decisions\">Routing-Entscheidungen<\/h3>\n\n\n\n<p>HAProxy-Logs enthalten Informationen zur Request-Routing-Entscheidung, dem gew\u00e4hlten Backend und angewendeten Filtern oder Persistenzregeln \u2014 wichtig f\u00fcr effiziente Lastverteilung und Security-Compliance.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"error-tracing\">Error tracing<\/h3>\n\n\n\n<p>Schlie\u00dflich enthalten die HAProxy-Logs Informationen, anhand derer Sicherheitsexperten feststellen k\u00f6nnen, wo Fehler im Lebenszyklus von Anfragen auftreten. Diese Logs k\u00f6nnen Informationen \u00fcber aktive Sitzungen und deren Beendigungsstatus enthalten.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"haproxy-logging-default-and-pre-configured-logging-formats\">HAProxy-Logging: Standard- und vorkonfigurierte Protokollierungsformate<\/h2>\n\n\n\n<p>HAProxy leitet sein Protokollierungsformat aus den Einstellungen in der HAProxy-Konfigurationsdatei ab. Sie k\u00f6nnen das Standard-Protokollierungsformat verwenden, indem Sie die Direktive\u00a0<em>option\u00a0<\/em>aus der Konfiguration ausschlie\u00dfen oder eines der beiden vorkonfigurierten Formate einstellen.<\/p>\n\n\n\n<p>Die beiden wichtigsten Protokollierungsoptionen in HAProxy sind:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>F\u00fcr TCP- oder Layer-4-Operationen lautet die einzubindende Direktive\u00a0<em>option tcplog<\/em>.<\/li>\n\n\n\n<li>F\u00fcr die HTTP- oder Layer 7-Operationen lautet die Konfigurationsdirektive\u00a0<em>option httplog<\/em>.<\/li>\n<\/ul>\n\n\n\n<p>Schauen wir uns genauer an, wie jedes Protokollformat funktioniert und welche Daten es liefert.<\/p>\n\n\n\n<p>Die folgenden Beispiel-Logs stammen aus einer HAProxy-Version 2.4.2, installiert auf einer AWS-Instanz mit AWS Linux 4.14, konfiguriert zur Verwaltung des Traffics zwischen zwei HTTP-Servern im selben Subnetz. Die Logs wurden mit RSyslog erfasst und lokal gespeichert.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"default-log-format-no-option-configured\">Standard-Protokollformat (keine Option konfiguriert)<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">Jul 12 06:32:30 localhost haproxy[2679]: Connect from 67.171.183.156:50871 to 172.31.30.201:80 (http_front\/TCP)<\/pre>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Jul 12 06:32:30<\/td><td>Protkoll-Zeitstempel<\/td><\/tr><tr><td>localhost<\/td><td>Hostname oder IP-Adresse des HAProxy-Hosts<\/td><\/tr><tr><td>haproxy[2679]:<\/td><td>Prozess-ID f\u00fcr den HAProxy-Prozess<\/td><\/tr><tr><td>Connect from 67.171.183.156:50871 to 172.31.30.201:80<\/td><td>Connect fromSource IP:Source PortToDestination IP:Destination Port<\/td><\/tr><tr><td>(http_front\/TCP)<\/td><td>Frontend-Name \/ Frontend-Modus<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"tcp-layer-4-log-format-option-tcplog\">TCP \/ Layer 4 Protokollformat (Option tcplog)<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">Jul 12 06:24:02 localhost haproxy[2590]: 67.171.183.156:54500 [12\/Jul\/2021:06:23:21.058] http_front http_back\/webserver1 1\/0\/40996 383 -- 2\/2\/1\/0\/0 0\/0<\/pre>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Jul 12 06:24:02<\/td><td>Protkoll-Zeitstempel<\/td><\/tr><tr><td>localhost<\/td><td>Hostname oder IP-Adresse des HAProxy-Hosts<\/td><\/tr><tr><td>haproxy[2590]:<\/td><td>Prozess-ID f\u00fcr den HAProxy-Prozess<\/td><\/tr><tr><td>67.171.183.156:54500<\/td><td>Quell-IP:Quell-Port<\/td><\/tr><tr><td>[12\/Jul\/2021:06:23:21.058]<\/td><td>Zeitstempel-Anfrage akzeptiert, mit Millisekunden-Genauigkeit<\/td><\/tr><tr><td>http_front<\/td><td>Frontend-Name<\/td><\/tr><tr><td>http_back\/webserver1<\/td><td>Zielanfrage weitergeleitet an<\/td><\/tr><tr><td>1\/0\/40996<\/td><td>Wartezeit in Warteschlangen (ms) \/Zeit f\u00fcr den Verbindungsaufbau zum Zielserver (ms) \/Gesamtzeit vom Eingang der Anfrage bis zum letzten Schlie\u00dfen (ms)<\/td><\/tr><tr><td>383<\/td><td>Gelesene Bytes<\/td><\/tr><tr><td>&#8212;<\/td><td>Beendigungszustand, dem &#8212; vorausgeht<\/td><\/tr><tr><td>2\/2\/1\/0\/0<\/td><td>Aktive Verbindungen \/Frontend-Verbindungen \/Backend-Verbindungen \/Server-Verbindungen \/Wiederholungen<\/td><\/tr><tr><td>0\/0<\/td><td>Server-Warteschlange \/Backend-Warteschlange<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"http-layer-7-option-httplog\">HTTP \/ Schicht 7 (Option httplog)<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">Jul 12 05:54:55 localhost haproxy[1060]: 67.171.183.156:64978 [12\/Jul\/2021:05:54:55.077] http_front http_back\/webserver1 0\/0\/0\/1\/1 200 288 - - ---- 2\/2\/0\/0\/0 0\/0 \"GET \/ HTTP\/1.1\"<\/pre>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Jul 12 05:54:55<\/td><td>Protkoll-Zeitstempel<\/td><\/tr><tr><td>localhost<\/td><td>Hostname oder IP-Adresse des HAProxy-Hosts<\/td><\/tr><tr><td>haproxy[1060]:<\/td><td>Prozess-ID f\u00fcr den HAProxy-Prozess<\/td><\/tr><tr><td>67.171.183.156:64978<\/td><td>Quell-IP:Quell-Port<\/td><\/tr><tr><td>[12\/Jul\/2021:05:54:55.077]<\/td><td>Zeitstempel-Anfrage akzeptiert, mit Millisekunden-Genauigkeit<\/td><\/tr><tr><td>http_front<\/td><td>Frontend-Name<\/td><\/tr><tr><td>http_back\/webserver1<\/td><td>Zielanfrage weitergeleitet an<\/td><\/tr><tr><td>0\/0\/0\/1\/1<\/td><td>Wartezeit auf vollst\u00e4ndige Anfrage vom Client (ms) \/Wartezeit in Warteschlangen (ms) \/Zeit f\u00fcr den Verbindungsaufbau zum Zielserver (ms) \/Zeit f\u00fcr die Antwort des Zielservers (ms) \/Gesamtzeit der aktiven Anfrage im HAProxy (ms)<\/td><\/tr><tr><td>200<\/td><td>HTTP-Antwortcode<\/td><\/tr><tr><td>288<\/td><td>Gelesene Bytes<\/td><\/tr><tr><td>&#8211; &#8211;<\/td><td>Optionale Werte:Captured request cookieCaptured response cooking<\/td><\/tr><tr><td>&#8212;-<\/td><td>Beendigungszustand, dem &#8212; vorausgeht<\/td><\/tr><tr><td>2\/2\/0\/0\/0<\/td><td>Aktive Verbindungen \/Frontend-Verbindungen \/Backend-Verbindungen \/Server-Verbindungen \/Wiederholungen<\/td><\/tr><tr><td>0\/0<\/td><td>Server-Warteschlangengr\u00f6\u00dfe \/Backend-Warteschlangengr\u00f6\u00dfe<\/td><\/tr><tr><td>&#8220;GET \/ HTTP\/1.1&#8221;<\/td><td>HTTP-Anfrage<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"customizing-the-haproxy-log-format\">Anpassen des HAProxy-Protokollformats<\/h2>\n\n\n\n<p>W\u00e4hrend die Standard- und vorkonfigurierten HAProxy-Logformate umfangreiche Einblicke bieten, fehlen m\u00f6glicherweise wichtige Metriken und Logelemente, die Aktivit\u00e4ten wie SSL-Verschl\u00fcsselung, Header und Payloads betreffen. Diese Elemente k\u00f6nnen das Logvolumen deutlich erh\u00f6hen, helfen jedoch bei der Problembehebung.<\/p>\n\n\n\n<p>Wenn Sie ein benutzerdefiniertes Protokollformat verwenden m\u00f6chten, k\u00f6nnen Sie die Direktive\u00a0<em>option\u00a0<\/em>durch eine\u00a0<em>log-format<\/em>-Direktive ersetzen, gefolgt von einer Zeichenkette, die den Inhalt und das Format der gew\u00fcnschten Logmeldungen angibt. Wenn wir das oben beschriebene HTTP-Protokollformat nachbilden w\u00fcrden, w\u00fcrde die Direktive wie folgt aussehen:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">log-format \"%ci:%cp [%tr] %ft %b\/%s %TR\/%Tw\/%Tc\/%Tr\/%Ta %ST %B %CC %CS %tsc %ac\/%fc\/%bc\/%sc\/%rc %sq\/%bq %hr %hs %{+Q}r\"<\/pre>\n\n\n\n<p>Eine vollst\u00e4ndige Referenz der verf\u00fcgbaren Optionen und ihrer korrekten Verwendung finden Sie in der<a href=\"https:\/\/www.haproxy.com\/documentation\/hapee\/latest\/onepage\/#8.2.4\" target=\"_blank\" rel=\"noreferrer noopener\">\u00a0HAProxy-Dokumentation<\/a>. Einige der verf\u00fcgbaren Optionen, die Sie zur Unterst\u00fctzung der erweiterten Fehlersuche einbeziehen k\u00f6nnen, sind:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Verbindungs-Handshake-Zeit (%Th)<\/li>\n\n\n\n<li>SSL-Chiffren und Versionen (%sslc \/ %sslv)<\/li>\n\n\n\n<li>Request-Header (%hr oder %hrl f\u00fcr CLF-Formatierung)<\/li>\n\n\n\n<li>Response-Header (%hs oder %hsl f\u00fcr CLF-Formatierung)<\/li>\n\n\n\n<li>Die vollst\u00e4ndige HTTP-Anfrage (%r)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"managing-haproxy-log-volume-at-scale\">Verwaltung des HAProxy-Protokollvolumens im gro\u00dfen Ma\u00dfstab<\/h2>\n\n\n\n<p>HAProxy geh\u00f6rt zu den effizientesten Load-Balancing-L\u00f6sungen, die derzeit verf\u00fcgbar sind, und kann tausende Requests pro Sekunde verarbeiten. W\u00e4hrend HAProxy problemlos einen Logeintrag pro Request erzeugen kann, w\u00e4chst mit steigendem Traffic auch das Volumen der Logdaten \u2013 was den Speicher \u00fcberlasten und die manuelle Analyse unpraktikabel machen kann.<\/p>\n\n\n\n<p>Um dies effizient zu verwalten, sollten Sie eine zentrale\u00a0<a href=\"https:\/\/www.sumologic.com\/de\/resources\/log-management-guide\" data-type=\"resource\" data-id=\"3110\">Log-Management-L\u00f6sung wie Sumo Logic<\/a>\u00a0einsetzen und automatisierte Anomalieerkennung implementieren, die Ihr Team bei Problemen sofort alarmiert. Mit Echtzeit-Logaggregation und automatisierten Alerts kann Ihr Team Probleme proaktiv erkennen, gro\u00dfe Logvolumen verwalten und die Performance optimieren.<\/p>\n\n\n\n<p>Erfahren Sie mehr \u00fcber die\u00a0<a href=\"https:\/\/help.sumologic.com\/docs\/integrations\/web-servers\/haproxy\/\" target=\"_blank\" rel=\"noreferrer noopener\">Integration von HAProxy mit Sumo Logic<\/a>\u00a0und\u00a0<a href=\"https:\/\/www.sumologic.com\/sign-up\">melden Sie sich f\u00fcr eine kostenlose Testversion an<\/a>, um zu sehen, wie Sie Ihr Log-Management optimieren k\u00f6nnen.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div><\/section>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":331,"featured_media":45461,"template":"","meta":{"_acf_changed":false,"show_custom_date":false,"custom_date":"","featured":false,"featured_image":0,"learn_more_label":"","image_alt_text":"","learn_more_type":"","show_popup":false,"learn_more_link_file":0,"event_date":false,"event_start_date":"","event_end_date":"","place_holder_image_url":"","post_reading_time":"4","notification_enabled":false,"notification_text":"","notification_logo":"","notification_expiration_time":0,"is_enable_transparent_header":false,"selected_taxonomy_terms":{"blog-category":[256],"blog-tag":[],"translation_priority":[221]},"selected_primary_terms":[],"learn_more_link":[],"featured_page_list":[],"notification_enabled_post_list":[],"_gspb_post_css":"","_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"62709,62726,62750","_relevanssi_noindex_reason":"","inline_featured_image":false,"footnotes":""},"blog-category":[256],"blog-tag":[],"class_list":["post-52731","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog-category-devops-it-operations"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.sumologic.com\/de\/wp-json\/wp\/v2\/blog\/52731","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sumologic.com\/de\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.sumologic.com\/de\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.sumologic.com\/de\/wp-json\/wp\/v2\/users\/331"}],"version-history":[{"count":4,"href":"https:\/\/www.sumologic.com\/de\/wp-json\/wp\/v2\/blog\/52731\/revisions"}],"predecessor-version":[{"id":61379,"href":"https:\/\/www.sumologic.com\/de\/wp-json\/wp\/v2\/blog\/52731\/revisions\/61379"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sumologic.com\/de\/wp-json\/wp\/v2\/media\/45461"}],"wp:attachment":[{"href":"https:\/\/www.sumologic.com\/de\/wp-json\/wp\/v2\/media?parent=52731"}],"wp:term":[{"taxonomy":"blog-category","embeddable":true,"href":"https:\/\/www.sumologic.com\/de\/wp-json\/wp\/v2\/blog-category?post=52731"},{"taxonomy":"blog-tag","embeddable":true,"href":"https:\/\/www.sumologic.com\/de\/wp-json\/wp\/v2\/blog-tag?post=52731"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}