integrations/airflow/documentation.yaml (71 lines of code) (raw):

exporter_type: included app_name_short: Airflow app_name: Apache {{app_name_short}} app_site_name: Airflow app_site_url: https://airflow.apache.org/ exporter_name: StatsD exporter_pkg_name: statsd exporter_repo_url: https://airflow.apache.org/docs/apache-airflow/stable/logging-monitoring/metrics.html additional_prereq_info: | The official {{app_name_short}} [Helm chart](https://airflow.apache.org/docs/helm-chart/){:class=external} includes a {{exporter_name}} deployment that exposes Prometheus-format metrics automatically. To verify that {{exporter_name}} is emitting metrics on the expected endpoints, do the following: 0. Set up port forwarding by using the following command: <pre class="devsite-click-to-copy"> kubectl -n {{namespace_name}} port-forward deploy/<var>AIRFLOW_RELEASE_NAME</var>-statsd 9102 </pre> 0. Access the endpoint `localhost:9102/metrics` by using the browser or the `curl` utility in another terminal session. dashboard_available: true multiple_dashboards: false dashboard_display_name: {{app_name_short}} Prometheus Overview podmonitoring_config: | apiVersion: monitoring.googleapis.com/v1 kind: PodMonitoring metadata: name: airflow labels: app.kubernetes.io/name: airflow app.kubernetes.io/part-of: google-cloud-managed-prometheus spec: endpoints: - port: 9102 scheme: http interval: 30s path: /metrics selector: matchLabels: tier: airflow component: statsd release: airflow additional_podmonitoring_info: | Ensure that the values of the `port` and `matchLabels` fields match those of the {{exporter_name}} pods you want to monitor. The labels and values shown here are set by default when {{app_name_short}} is deployed with [Helm](https://airflow.apache.org/docs/helm-chart/){:class=external}. sample_promql_query: up{job="airflow", cluster="{{cluster_name}}", namespace="{{namespace_name}}"} alerts_config: | apiVersion: monitoring.googleapis.com/v1 kind: Rules metadata: name: airflow-rules labels: app.kubernetes.io/component: rules app.kubernetes.io/name: airflow-rules app.kubernetes.io/part-of: google-cloud-managed-prometheus spec: groups: - name: airflow interval: 30s rules: - alert: AirflowDAGImportErrors annotations: description: |- Airflow dag import errors VALUE = {{ $value }} LABELS: {{ $labels }} summary: Airflow dag import errors (instance {{ $labels.instance }}) expr: airflow_dag_processing_import_errors > 0 for: 5m labels: severity: critical additional_alert_info: You can adjust the alert thresholds to suit your application.