[openstack][octavia] How clients can debug their LB
Hello. I would like to know how clients can debug their LB such as access log or monitor LB performance? Thank you. Regards Nguyen Huu Khoi
Forwall log outside vm and expose them for end user? On Sat, Dec 14, 2024, 21:31 Nguyễn Hữu Khôi <nguyenhuukhoinw@gmail.com> wrote:
Hello. I would like to know how clients can debug their LB such as access log or monitor LB performance? Thank you. Regards Nguyen Huu Khoi
Yes, but I would like to know if we have another way. Nguyen Huu Khoi On Sat, Dec 14, 2024 at 10:27 PM Hoai-Thu Vuong <thuvh87@gmail.com> wrote:
Forwall log outside vm and expose them for end user?
On Sat, Dec 14, 2024, 21:31 Nguyễn Hữu Khôi <nguyenhuukhoinw@gmail.com> wrote:
Hello. I would like to know how clients can debug their LB such as access log or monitor LB performance? Thank you. Regards Nguyen Huu Khoi
Hi, you already asked this a couple of months ago 😉 https://lists.openstack.org/archives/list/openstack-discuss@lists.openstack.... Zitat von Nguyễn Hữu Khôi <nguyenhuukhoinw@gmail.com>:
Hello. I would like to know how clients can debug their LB such as access log or monitor LB performance? Thank you. Regards Nguyen Huu Khoi
Sr. I forgot :( On Sun, Dec 15, 2024, 6:54 PM Eugen Block <eblock@nde.ag> wrote:
Hi, you already asked this a couple of months ago 😉
https://lists.openstack.org/archives/list/openstack-discuss@lists.openstack....
Zitat von Nguyễn Hữu Khôi <nguyenhuukhoinw@gmail.com>:
Hello. I would like to know how clients can debug their LB such as access log or monitor LB performance? Thank you. Regards Nguyen Huu Khoi
There are a number of ways. First obviously the API tells you a lot about what is going on. The Operating Status indicates the health of the user's service behind the load balancer. By using the "load balancer status tree" API [1] you can see the current health of all of the components. This will typically point out if an individual web server is not responding correctly, etc. We commonly see LB health checks mis-configured where they are expecting a 200 result code, but the web server is returning something else, like a 302. This can be diagnosed using the status information provided via the API. Second, Octavia offers log offloading [2] (recommended) that allows you to configure your deployment to send all (kernel, etc) or just the LB related logs to another system for analysis using syslog protocol. The LB log entries are all tagged with the project ID that owns the load balancer for easy multi-tenant filtering. We have seen multiple deployments that offload their LB logs into logstash/elasticsearch. I believe some group even added a filtered view into horizon. One group set it up to compress and upload the tenant logs into their object store on a regular interval. Third, Octavia Amphora based load balancers provide a Prometheus exporter endpoint using the listener protocol "PROMETHEUS" [3]. This provides hundreds of metrics about the performance of the load balancer. I have provided a Grafana dashboard [4] to visualize that data in Prometheus. Michael [1] https://docs.openstack.org/api-ref/load-balancer/v2/index.html#get-the-load-... [2] https://docs.openstack.org/octavia/latest/admin/log-offloading.html [3] https://docs.openstack.org/octavia/latest/user/guides/monitoring.html#monito... [4] https://grafana.com/grafana/dashboards/15828-openstack-octavia-amphora-load-... On Sun, Dec 15, 2024 at 7:12 AM Nguyễn Hữu Khôi <nguyenhuukhoinw@gmail.com> wrote:
Sr. I forgot :(
On Sun, Dec 15, 2024, 6:54 PM Eugen Block <eblock@nde.ag> wrote:
Hi, you already asked this a couple of months ago 😉
https://lists.openstack.org/archives/list/openstack-discuss@lists.openstack....
Zitat von Nguyễn Hữu Khôi <nguyenhuukhoinw@gmail.com>:
Hello. I would like to know how clients can debug their LB such as access log or monitor LB performance? Thank you. Regards Nguyen Huu Khoi
On 13/01/2025 18:22, Michael Johnson wrote:
There are a number of ways.
Third, Octavia Amphora based load balancers provide a Prometheus exporter endpoint using the listener protocol "PROMETHEUS" [3]. This provides hundreds of metrics about the performance of the load balancer. I have provided a Grafana dashboard [4] to visualize that data in Prometheus.
Michael
[1] https://docs.openstack.org/api-ref/load-balancer/v2/index.html#get-the-load-... [2] https://docs.openstack.org/octavia/latest/admin/log-offloading.html [3] https://docs.openstack.org/octavia/latest/user/guides/monitoring.html#monito... [4] https://grafana.com/grafana/dashboards/15828-openstack-octavia-amphora-load-...
This patch may come handy for configuring prometheus. It will make the service discoverable for prometheus and won't require a reconfiguration when a load balancer changed. https://github.com/prometheus/prometheus/pull/15539 Matthias -- Matthias Runge <mrunge@matthias-runge.de>
Hello. Thank you very much for information. I will deep dive on it. :) On Tue, Jan 14, 2025, 12:37 AM Matthias Runge <mrunge@matthias-runge.de> wrote:
On 13/01/2025 18:22, Michael Johnson wrote:
There are a number of ways.
Third, Octavia Amphora based load balancers provide a Prometheus exporter endpoint using the listener protocol "PROMETHEUS" [3]. This provides hundreds of metrics about the performance of the load balancer. I have provided a Grafana dashboard [4] to visualize that data in Prometheus.
Michael
[1] https://docs.openstack.org/api-ref/load-balancer/v2/index.html#get-the-load-... [2] https://docs.openstack.org/octavia/latest/admin/log-offloading.html [3] https://docs.openstack.org/octavia/latest/user/guides/monitoring.html#monito... [4] https://grafana.com/grafana/dashboards/15828-openstack-octavia-amphora-load-...
This patch may come handy for configuring prometheus. It will make the service discoverable for prometheus and won't require a reconfiguration when a load balancer changed.
https://github.com/prometheus/prometheus/pull/15539
Matthias -- Matthias Runge <mrunge@matthias-runge.de>
participants (5)
-
Eugen Block
-
Hoai-Thu Vuong
-
Matthias Runge
-
Michael Johnson
-
Nguyễn Hữu Khôi