monitoring, Obserbability refers to the ability to understand and gain insights into the behavior and performance of complex systems Metrics Logs Traces
in which you can find a lot of common attributes of modern software applications: • A SaaS software running on AWS Cloud • Build on top of container technology using Kubernetes • Have multiple environments • Have multiple layers developed by different software stacks • Contain both statefule and stateless components
consumer • Real-time - low e2e data latency • Back pressure - effective caching layer • High Scalability • High Availability A true story • disk is almost full • log data cannot be ingested • no real-time data , 3 hours lag - back pressure • fix - add more spaces • back to normal With data cached in Kafka no data lost in this case
and manage continuous flow of data that is generated, processed, and analyzed in real time. • Real-time insight monitor system behavior and performance as it happens • Low Latency process and analyze data with low latency, in milliseconds • CEP create sophisticated rules and patterns to detect specific conditions or issues
logs Global aggregation SELECT window_start, count(*) FROM tumble(logs, 1m) GROUP BY window_start Window aggregation SELECT window_start, count(*) FROM tumble(logs, 5s) GROUP BY window_start EMIT AFTER WATERMARK AND DELAY 2s Late event SELECT * FROM logs WHERE _tp_time > now() - 1d Time travel SELECT device, cpu_usage, timestamp FROM logs INNER JOIN table(products_info) AS dim ON logs.product_id = dim.id Stream join SELECT * FROM table(logs) limit 10 Historical query
* FROM es_sample_iot ), iot_agg_5s AS ( SELECT window_start, count() AS eps FROM tumble(iot, 1s) GROUP BY window_start ) SELECT eps, lag(eps) as prev_eps, (prev_eps - eps)/prev_eps as eps_drop FROM iot_agg_5s WHERE eps_drop > 0.2 Leveraging the continuously data processing capabilities of streaming databases, the alert is triggered as soon as the issue happens
monitoring microservices and containers Real-time streaming analytic provide Rapid response and insight 2. The Volume, Velocity, and Variety of data Leverage Kafka/Conflunet to effectively store and transport streaming data 3. Difficult to quantify the business impact of observability Provide continuously, cross layer KPI/Metric monitoring with streaming processing