{"id":363,"date":"2025-06-24T05:33:51","date_gmt":"2025-06-24T05:33:51","guid":{"rendered":"https:\/\/sreschool.com\/blog\/?p=363"},"modified":"2025-06-24T05:33:52","modified_gmt":"2025-06-24T05:33:52","slug":"threshold-based-alerting-in-devsecops","status":"publish","type":"post","link":"https:\/\/sreschool.com\/blog\/threshold-based-alerting-in-devsecops\/","title":{"rendered":"Threshold-based Alerting in DevSecOps"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">1. Introduction &amp; Overview<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd0d What is Threshold-based Alerting?<\/h3>\n\n\n\n<p><strong>Threshold-based alerting<\/strong> is a monitoring and alerting strategy where alerts are triggered when specific metrics or log values cross predefined numerical thresholds. This could include CPU usage &gt; 80%, error rate &gt; 5%, or latency &gt; 300ms.<\/p>\n\n\n\n<p>In <strong>DevSecOps<\/strong>, which integrates security throughout the DevOps pipeline, threshold-based alerting becomes crucial for real-time detection of anomalies, breaches, or infrastructure failures.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd70\ufe0f History or Background<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Early Monitoring Systems<\/strong>: Basic tools like Nagios and Zabbix introduced static threshold checks.<\/li>\n\n\n\n<li><strong>Modern Tools<\/strong>: Platforms like Prometheus, Datadog, and CloudWatch brought dynamic and AI\/ML-based thresholding.<\/li>\n\n\n\n<li><strong>Security Alerting<\/strong>: Thresholds began incorporating intrusion detection metrics, compliance violations, and audit anomalies as DevSecOps evolved.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udccc Why is it Relevant in DevSecOps?<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Helps detect <strong>policy violations<\/strong> in CI\/CD pipelines.<\/li>\n\n\n\n<li>Provides <strong>real-time alerts<\/strong> for infrastructure vulnerabilities.<\/li>\n\n\n\n<li>Enables <strong>automated incident response<\/strong> through integration with tools like PagerDuty, Slack, or Jira.<\/li>\n\n\n\n<li>Helps in <strong>auditing and compliance monitoring<\/strong> (e.g., PCI-DSS, HIPAA).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">2. Core Concepts &amp; Terminology<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd11 Key Terms<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Term<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><strong>Threshold<\/strong><\/td><td>A predefined limit beyond which alerts are triggered.<\/td><\/tr><tr><td><strong>Alert Rule<\/strong><\/td><td>A logical condition checked against metrics\/logs.<\/td><\/tr><tr><td><strong>Static Threshold<\/strong><\/td><td>A fixed numerical limit (e.g., CPU &gt; 90%).<\/td><\/tr><tr><td><strong>Dynamic Threshold<\/strong><\/td><td>A value computed based on historical trends.<\/td><\/tr><tr><td><strong>Alert Severity<\/strong><\/td><td>Level of urgency: Info, Warning, Critical.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd04 How it Fits into DevSecOps Lifecycle<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>DevSecOps Phase<\/th><th>Role of Threshold Alerting<\/th><\/tr><\/thead><tbody><tr><td><strong>Plan<\/strong><\/td><td>Define SLAs and security KPIs.<\/td><\/tr><tr><td><strong>Develop<\/strong><\/td><td>Monitor secure coding policy violations.<\/td><\/tr><tr><td><strong>Build &amp; Test<\/strong><\/td><td>Alert on high build failure\/error rates.<\/td><\/tr><tr><td><strong>Release<\/strong><\/td><td>Monitor policy gate failures.<\/td><\/tr><tr><td><strong>Deploy<\/strong><\/td><td>Alert on configuration drift or secret exposure.<\/td><\/tr><tr><td><strong>Operate<\/strong><\/td><td>Infrastructure and anomaly alerting.<\/td><\/tr><tr><td><strong>Monitor<\/strong><\/td><td>Central to threat detection and response.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">3. Architecture &amp; How It Works<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\udde9 Components<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Monitoring Agent<\/strong> (e.g., Prometheus Node Exporter, CloudWatch Agent)<\/li>\n\n\n\n<li><strong>Metrics Collector<\/strong> (e.g., Prometheus, Datadog)<\/li>\n\n\n\n<li><strong>Alert Manager<\/strong> (e.g., Alertmanager, Opsgenie)<\/li>\n\n\n\n<li><strong>Notification System<\/strong> (e.g., Email, Slack, PagerDuty)<\/li>\n\n\n\n<li><strong>Integration Hooks<\/strong> (e.g., Webhooks to Jira, ServiceNow)<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd01 Internal Workflow<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Metrics Collection<\/strong>: Agents push\/pull metrics from services.<\/li>\n\n\n\n<li><strong>Threshold Evaluation<\/strong>: Alert rules are continuously evaluated.<\/li>\n\n\n\n<li><strong>Trigger<\/strong>: If a rule condition is met, an alert is generated.<\/li>\n\n\n\n<li><strong>Routing<\/strong>: The alert is routed to configured channels.<\/li>\n\n\n\n<li><strong>Escalation<\/strong>: Severity-based escalation via playbooks.<\/li>\n\n\n\n<li><strong>Automation (Optional)<\/strong>: Trigger remediation scripts (e.g., restart pod).<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udcca Architecture Diagram (Text-Based)<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;App\/Service] --&gt; &#091;Monitoring Agent] --&gt; &#091;Metrics Collector]\n                                         \u2193\n                                 &#091;Alert Rule Evaluator]\n                                         \u2193\n                                 &#091;Alert Manager\/Router]\n                                         \u2193\n                +----------+------------+-------------+\n                |          |                          |\n           &#091;Slack]   &#091;PagerDuty]   &#091;Runbooks\/API Hooks]\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd0c Integration Points with CI\/CD &amp; Cloud<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Tool<\/th><th>Integration<\/th><\/tr><\/thead><tbody><tr><td><strong>Jenkins<\/strong><\/td><td>Alert on long builds, failure rates.<\/td><\/tr><tr><td><strong>GitHub Actions<\/strong><\/td><td>Alert on security scan failures.<\/td><\/tr><tr><td><strong>AWS CloudWatch<\/strong><\/td><td>Native threshold alerts on services.<\/td><\/tr><tr><td><strong>Azure Monitor<\/strong><\/td><td>Alert on compliance violations.<\/td><\/tr><tr><td><strong>Terraform<\/strong><\/td><td>Infrastructure drift detection.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">4. Installation &amp; Getting Started<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u2699\ufe0f Prerequisites<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Installed monitoring system (e.g., <strong>Prometheus<\/strong>)<\/li>\n\n\n\n<li>Alerting tool (e.g., <strong>Alertmanager<\/strong>, <strong>Grafana<\/strong>)<\/li>\n\n\n\n<li>System or service with exportable metrics (e.g., via <code>\/metrics<\/code>)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\ude80 Hands-on Setup (Prometheus + Alertmanager Example)<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">1. Install Prometheus<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -d --name=prometheus \\\n  -p 9090:9090 \\\n  -v \/path\/prometheus.yml:\/etc\/prometheus\/prometheus.yml \\\n  prom\/prometheus\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">2. Define Alerting Rules (<code>rules.yml<\/code>)<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>groups:\n  - name: cpu_alerts\n    rules:\n      - alert: HighCPUUsage\n        expr: process_cpu_seconds_total &gt; 0.9\n        for: 1m\n        labels:\n          severity: critical\n        annotations:\n          summary: \"High CPU usage detected\"\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">3. Configure <code>prometheus.yml<\/code><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>rule_files:\n  - \"rules.yml\"\n\nalerting:\n  alertmanagers:\n    - static_configs:\n        - targets:\n          - \"alertmanager:9093\"\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4. Setup Alertmanager<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -d --name=alertmanager \\\n  -p 9093:9093 \\\n  -v \/path\/alertmanager.yml:\/etc\/alertmanager\/config.yml \\\n  prom\/alertmanager\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">5. Test the Alert<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Simulate high CPU or trigger manually.<\/li>\n\n\n\n<li>Watch alert in Prometheus UI or receive on Slack.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">5. Real-World Use Cases<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd10 Security Use Cases<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Alert if number of failed login attempts &gt; 50\/min (brute-force detection)<\/li>\n\n\n\n<li>Trigger alert on unexpected SSH access<\/li>\n\n\n\n<li>Alert on firewall rule changes via audit logs<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udee0\ufe0f DevOps Scenarios<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Disk usage &gt; 85% on build agents<\/li>\n\n\n\n<li>Deployment latency &gt; 10 seconds<\/li>\n\n\n\n<li>Container restart count &gt; 5 in 10 mins<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83c\udfe5 Industry-Specific Examples<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Industry<\/th><th>Threshold Use Case<\/th><\/tr><\/thead><tbody><tr><td><strong>Healthcare<\/strong><\/td><td>Patient data access &gt; 100\/hr (HIPAA violation)<\/td><\/tr><tr><td><strong>Finance<\/strong><\/td><td>API error rate &gt; 1% (PCI-DSS alert)<\/td><\/tr><tr><td><strong>E-commerce<\/strong><\/td><td>Cart abandonment rate spike alerts<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">6. Benefits &amp; Limitations<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u2705 Benefits<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Simple to implement and explain<\/li>\n\n\n\n<li>Real-time insights into system health<\/li>\n\n\n\n<li>Supports automation and response workflows<\/li>\n\n\n\n<li>Works with most monitoring stacks<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u26a0\ufe0f Limitations<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Static thresholds can trigger <strong>false positives\/negatives<\/strong><\/li>\n\n\n\n<li><strong>Hard to scale<\/strong> across microservices<\/li>\n\n\n\n<li><strong>No context<\/strong> on why a threshold was breached<\/li>\n\n\n\n<li>Lacks anomaly detection unless combined with AI\/ML<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">7. Best Practices &amp; Recommendations<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd12 Security &amp; Performance<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Don\u2019t expose alert ports (use firewalls\/VPCs)<\/li>\n\n\n\n<li>Use rate-limiting on alert floods<\/li>\n\n\n\n<li>Secure secrets in alertmanager configs (Slack tokens, SMTP)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\uddf0 Maintenance &amp; Automation<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Review thresholds monthly<\/li>\n\n\n\n<li>Tag alerts by team\/owner<\/li>\n\n\n\n<li>Use templates and DRY principles for alert rules<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udcdc Compliance &amp; Governance<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Keep logs of triggered alerts<\/li>\n\n\n\n<li>Alert on policy and rule changes<\/li>\n\n\n\n<li>Integrate alerts with SIEM for auditing<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">8. Comparison with Alternatives<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Alerting Method<\/th><th>Use Case<\/th><th>Pros<\/th><th>Cons<\/th><\/tr><\/thead><tbody><tr><td><strong>Threshold-based<\/strong><\/td><td>Simple infra\/security monitoring<\/td><td>Easy, fast<\/td><td>No ML context<\/td><\/tr><tr><td><strong>Anomaly detection (AI)<\/strong><\/td><td>Detect unknown threats<\/td><td>Adaptive<\/td><td>Complex setup<\/td><\/tr><tr><td><strong>Log-based alerting<\/strong><\/td><td>Detect text-based security issues<\/td><td>Rich data<\/td><td>Costly &amp; noisy<\/td><\/tr><tr><td><strong>Event-based alerting<\/strong><\/td><td>GitHub\/webhook events<\/td><td>Real-time<\/td><td>Hard to maintain<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u2705 When to Choose Threshold-based Alerting<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You need <strong>quick wins<\/strong> with <strong>low complexity<\/strong><\/li>\n\n\n\n<li>The environment is <strong>small to medium scale<\/strong><\/li>\n\n\n\n<li>You have <strong>clear numerical thresholds<\/strong> (e.g., 90% disk)<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">9. Conclusion<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\udded Final Thoughts<\/h3>\n\n\n\n<p>Threshold-based alerting is a cornerstone of real-time monitoring in DevSecOps pipelines. While it may not replace advanced anomaly detection, it offers a <strong>reliable, simple, and actionable<\/strong> mechanism to detect and respond to issues across build, release, and operations.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udccc Next Steps<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Try tools like <strong>Prometheus<\/strong>, <strong>Datadog<\/strong>, <strong>Grafana<\/strong>, <strong>CloudWatch<\/strong><\/li>\n\n\n\n<li>Experiment with <strong>templating alerts<\/strong> and integrating with <strong>Slack or Jira<\/strong><\/li>\n\n\n\n<li>Move from <strong>static to dynamic thresholds<\/strong> with ML support as you scale<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Introduction &amp; Overview \ud83d\udd0d What is Threshold-based Alerting? Threshold-based alerting is a monitoring and alerting strategy where alerts are [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-363","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Threshold-based Alerting in DevSecOps - SRE School<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sreschool.com\/blog\/threshold-based-alerting-in-devsecops\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Threshold-based Alerting in DevSecOps - SRE School\" \/>\n<meta property=\"og:description\" content=\"1. Introduction &amp; Overview \ud83d\udd0d What is Threshold-based Alerting? Threshold-based alerting is a monitoring and alerting strategy where alerts are [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sreschool.com\/blog\/threshold-based-alerting-in-devsecops\/\" \/>\n<meta property=\"og:site_name\" content=\"SRE School\" \/>\n<meta property=\"article:published_time\" content=\"2025-06-24T05:33:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-24T05:33:52+00:00\" \/>\n<meta name=\"author\" content=\"priteshgeek\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"priteshgeek\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/sreschool.com\/blog\/threshold-based-alerting-in-devsecops\/\",\"url\":\"https:\/\/sreschool.com\/blog\/threshold-based-alerting-in-devsecops\/\",\"name\":\"Threshold-based Alerting in DevSecOps - SRE School\",\"isPartOf\":{\"@id\":\"https:\/\/sreschool.com\/blog\/#website\"},\"datePublished\":\"2025-06-24T05:33:51+00:00\",\"dateModified\":\"2025-06-24T05:33:52+00:00\",\"author\":{\"@id\":\"https:\/\/sreschool.com\/blog\/#\/schema\/person\/6a53e3870889dd6a65b2e04b7bc3d7db\"},\"breadcrumb\":{\"@id\":\"https:\/\/sreschool.com\/blog\/threshold-based-alerting-in-devsecops\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/sreschool.com\/blog\/threshold-based-alerting-in-devsecops\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/sreschool.com\/blog\/threshold-based-alerting-in-devsecops\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/sreschool.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Threshold-based Alerting in DevSecOps\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/sreschool.com\/blog\/#website\",\"url\":\"https:\/\/sreschool.com\/blog\/\",\"name\":\"SRESchool\",\"description\":\"Master SRE. Build Resilient Systems. Lead the Future of Reliability\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/sreschool.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/sreschool.com\/blog\/#\/schema\/person\/6a53e3870889dd6a65b2e04b7bc3d7db\",\"name\":\"priteshgeek\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\/\/sreschool.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/231a0e8b7a02636f2fbacf8dcf4494cb1cc0d49ecc9a8165fbaeaeeaf102641a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/231a0e8b7a02636f2fbacf8dcf4494cb1cc0d49ecc9a8165fbaeaeeaf102641a?s=96&d=mm&r=g\",\"caption\":\"priteshgeek\"},\"url\":\"https:\/\/sreschool.com\/blog\/author\/priteshgeek\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Threshold-based Alerting in DevSecOps - SRE School","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sreschool.com\/blog\/threshold-based-alerting-in-devsecops\/","og_locale":"en_US","og_type":"article","og_title":"Threshold-based Alerting in DevSecOps - SRE School","og_description":"1. Introduction &amp; Overview \ud83d\udd0d What is Threshold-based Alerting? Threshold-based alerting is a monitoring and alerting strategy where alerts are [&hellip;]","og_url":"https:\/\/sreschool.com\/blog\/threshold-based-alerting-in-devsecops\/","og_site_name":"SRE School","article_published_time":"2025-06-24T05:33:51+00:00","article_modified_time":"2025-06-24T05:33:52+00:00","author":"priteshgeek","twitter_card":"summary_large_image","twitter_misc":{"Written by":"priteshgeek","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/sreschool.com\/blog\/threshold-based-alerting-in-devsecops\/","url":"https:\/\/sreschool.com\/blog\/threshold-based-alerting-in-devsecops\/","name":"Threshold-based Alerting in DevSecOps - SRE School","isPartOf":{"@id":"https:\/\/sreschool.com\/blog\/#website"},"datePublished":"2025-06-24T05:33:51+00:00","dateModified":"2025-06-24T05:33:52+00:00","author":{"@id":"https:\/\/sreschool.com\/blog\/#\/schema\/person\/6a53e3870889dd6a65b2e04b7bc3d7db"},"breadcrumb":{"@id":"https:\/\/sreschool.com\/blog\/threshold-based-alerting-in-devsecops\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sreschool.com\/blog\/threshold-based-alerting-in-devsecops\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/sreschool.com\/blog\/threshold-based-alerting-in-devsecops\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sreschool.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Threshold-based Alerting in DevSecOps"}]},{"@type":"WebSite","@id":"https:\/\/sreschool.com\/blog\/#website","url":"https:\/\/sreschool.com\/blog\/","name":"SRESchool","description":"Master SRE. Build Resilient Systems. Lead the Future of Reliability","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sreschool.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"},{"@type":"Person","@id":"https:\/\/sreschool.com\/blog\/#\/schema\/person\/6a53e3870889dd6a65b2e04b7bc3d7db","name":"priteshgeek","image":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/sreschool.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/231a0e8b7a02636f2fbacf8dcf4494cb1cc0d49ecc9a8165fbaeaeeaf102641a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/231a0e8b7a02636f2fbacf8dcf4494cb1cc0d49ecc9a8165fbaeaeeaf102641a?s=96&d=mm&r=g","caption":"priteshgeek"},"url":"https:\/\/sreschool.com\/blog\/author\/priteshgeek\/"}]}},"_links":{"self":[{"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/posts\/363","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/comments?post=363"}],"version-history":[{"count":1,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/posts\/363\/revisions"}],"predecessor-version":[{"id":364,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/posts\/363\/revisions\/364"}],"wp:attachment":[{"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/media?parent=363"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/categories?post=363"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/tags?post=363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}