Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

improve Prometheus integration #570

Open
4 tasks
thesuperzapper opened this issue Apr 29, 2022 · 0 comments
Open
4 tasks

improve Prometheus integration #570

thesuperzapper opened this issue Apr 29, 2022 · 0 comments
Labels
kind/enhancement kind - new features or changes

Comments

@thesuperzapper
Copy link
Member

thesuperzapper commented Apr 29, 2022

While we currently have limited support for Prometheus through our serviceMonitor.* and prometheusRule.* values, we can make the situation much better.

Tasks:

  1. Implement prometheus/statsd_exporter
    1. OPTION 1: as a sidecar container for airflow pods
      • This option is recommended by the creators of statsd_exporter (need to check why, but its probably so that Prometheus associates the metrics to the actual Pod that is generating them)
      • I am not sure if all Pods will need the sidecar or just the scheduler
      • We would then configure AIRFLOW__METRICS__STATSD_HOST to be localhost
      • We would annotate the Pods with the sidecar to have prometheus.io/scrape: "true" and prometheus.io/port: "xxxx"
    2. OPTION 2: as a central deployment
      • This would reduce the number of containers
      • We would then configure AIRFLOW__METRICS__STATSD_HOST to be the service of this deployment (but this is possibly a security risk, as other pods could send bad data if no NetworkPolicy prevents invalid access)
      • We would annotate the Deployment Pods to have prometheus.io/scrape: "true" and prometheus.io/port: "xxxx"
  2. Implement prometheus-community/pgbouncer_exporter
    • This is probably best implemented as a sidecar of our PgBouncer Deployment
    • We would annotate the Deployment Pods to have prometheus.io/scrape: "true" and prometheus.io/port: "xxxx"
  3. Consider what to do with the Prometheus Operator resource values
    • The existing serviceMonitor.* and prometheusRule.* values could be automatically configured (but there is an argument that these are configs for the user's Prometheus, and should not be managed by the chart).
    • For some reason, these resources are currently stored under the template/webserver/ folder (when they are not really specific to the webserver)
  4. Update the docs about Prometheus

Completing these tasks should replace the need for the following issues:

@thesuperzapper thesuperzapper added the kind/enhancement kind - new features or changes label Apr 29, 2022
@thesuperzapper thesuperzapper added this to the airflow-8.8.0 milestone Apr 29, 2022
@thesuperzapper thesuperzapper added this to Unsorted in Issue Triage and PR Tracking via automation Apr 29, 2022
@thesuperzapper thesuperzapper moved this from Unsorted to Triage | Needs PR in Issue Triage and PR Tracking Apr 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement kind - new features or changes
Projects
Development

No branches or pull requests

1 participant