# Monitoring, Logs और SLAs — Apache Airflow: Data Pipelines का Orchestration

Source: https://www.geekswithgeeks.com/hi/airflow/ops-monitoring

> UI, logs, metrics और alerts से pipeline की सेहत देखें और देरी ट्रैक करें।

## व्यवसाय से पहले आपको पता चले

UI DAG runs, task स्थितियाँ, अवधियाँ, logs और graph दिखाता है; **Grid** और **Graph** views पढ़ना सीखें। Production के लिए Grafana जैसे dashboard में **metrics** जोड़ें (Airflow scheduler lag, task अवधि और विफलताओं के StatsD/OpenTelemetry metrics भेज सकता है), **logs** केंद्रीकृत करें (object storage पर remote logging), और विफलताओं, लंबे चलने वाले tasks और शुरू न हुए runs के लिए **alerts** लगाएँ। आपकी pipelines जो डेटा बनाती हैं उसकी **ताज़गी** ट्रैक करें, क्योंकि "DAG सफल हुआ" का मतलब "डेटा सही और समय पर है" नहीं। डेटा-गुणवत्ता जाँचें (row counts, nulls, duplicates) ऐसे tasks के रूप में जोड़ें जो अपेक्षाएँ टूटने पर run विफल करें।

## देरी का गणित, चलाकर

मैंने यह चलाया: 06:00 के लिए निर्धारित रिपोर्ट 30 मिनट के लक्ष्य के विरुद्ध 06:47 पर ख़त्म हुई, यानी अनुमति से 17 मिनट देर।

```python
from datetime import datetime, timedelta
sched = datetime(2026, 10, 2, 6, 0); finished = datetime(2026, 10, 2, 6, 47); target = timedelta(minutes=30)
print("late by", finished - sched - target)
```

Output:

```
late by 0:17:00
```

## डेटा-गुणवत्ता task

दिन की row count असंभावित हो तो run विफल करें। `warehouse_count` आपके अपने query helper का प्रतीक है। उदाहरण।

```python
@task
def check_rows(ds=None) -> None:
    n = warehouse_count(f"SELECT COUNT(*) FROM analytics.daily_orders WHERE order_date = '{ds}'")
    if n < 1000:
        raise ValueError(f"Only {n} rows for {ds}; expected at least 1000")
```

**Quiz:** Pipeline के भीतर डेटा-गुणवत्ता क्यों जाँचें?

- [ ] गुणवत्ता जाँचें सिर्फ़ डिज़ाइन से DAGs को ज़्यादा विफल करती हैं
- [x] सफल DAG run भी ग़लत या ग़ायब डेटा बना सकता है
- [ ] Airflow SQL नहीं चला सकता
- [ ] यह monitoring की जगह लेता है

*Answer:* सफल DAG run भी ग़लत या ग़ायब डेटा बना सकता है. Task सफलता का मतलब बस यह कि कोड चला; स्पष्ट जाँचें पुष्टि करती हैं कि डेटा अपेक्षाओं पर खरा है।
