Monitoring Zoho Integrations: Catching the Failures That Never Throw an Error

Zoho integrations rarely fail loudly. Channels expire after an hour, credits drain against a rolling window, and bulk writes return HTTP 200 while rejecting records. Here is how to instrument for absence using CloudWatch Embedded Metric Format, Loki's absent_over_time, and Grafana across both.

Continue ReadingMonitoring Zoho Integrations: Catching the Failures That Never Throw an Error

The Real Cost of CloudWatch: Logs, Metrics, Retention and Cardinality

CloudWatch rarely fails loudly, it accumulates. This is a breakdown of the four independent meters behind the bill: ingestion, storage, Logs Insights scans and custom metric cardinality. Why the same log line gets billed three times, why log groups never expire by default, how a single dimension can multiply your metrics bill without your traffic changing, and how to attribute the spend to specific log groups before you start deleting things.

Continue ReadingThe Real Cost of CloudWatch: Logs, Metrics, Retention and Cardinality

Monitoring n8n Workflow Failures in Grafana: Why Your Green Dashboard Is Lying

n8n's Prometheus endpoint tells you the process is alive and busy. It does not tell you a workflow stopped producing correct output. This post walks through the three failure families that slip past a default n8n dashboard, the PromQL that catches each one, and how to close the gap with a second source of truth from the executions API.

Continue ReadingMonitoring n8n Workflow Failures in Grafana: Why Your Green Dashboard Is Lying