PageSourceSearch

https://n9e.github.io/docs/prologue/introduction/

html n9e.github.io collected 2026-10-03 09:39:20 UTC 40,240 bytes, 24 lines download raw bytes

1<!doctype html><html lang=en-us><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=preload as=font href=https://n9e.github.io/fonts/vendor/jost/jost-v4-latin-regular.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=https://n9e.github.io/fonts/vendor/jost/jost-v4-latin-500.woff2 type=font/woff2 crossorigin><link rel=preload as=font href=https://n9e.github.io/fonts/vendor/jost/jost-v4-latin-700.woff2 type=font/woff2 crossorigin>
1<script>(()=>{var t=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches,e=localStorage.getItem("theme");t&&e===null&&(localStorage.setItem("theme","dark"),document.documentElement.setAttribute("data-dark-mode","")),t&&e==="dark"&&document.documentElement.setAttribute("data-dark-mode",""),e==="dark"&&document.documentElement.setAttribute("data-dark-mode","")})()</script>
1<link rel=stylesheet href=https://n9e.github.io/main.dd0fbc6c832be79a8341aacd98d324c8674be1aa7b83e2aa420b28d250f5cf4fef6d5da8f760a3b37f218160bdb23864ff3983c3b5c16f50b92cc0d4d7ea1113.css integrity="sha512-3Q+8bIMr55qDQarNmNMkyGdL4ap7g+KqQgso0lD1z0/vbV2o92Cjs38hgWC9sjhk/zmDw7XBb1C5LMDU1+oREw==" crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><meta name=robots content="index, follow"><meta name=googlebot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><meta name=bingbot content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><title>Introduction - Nightingale</title><meta name=description content="Nightingale is an open-source project focused on alerting. Similar to Grafana's data source integration approach, Nightingale also connects with various existing data sources. However, while Grafana focuses on visualization, Nightingale emphasizes alerting engines."><link rel=canonical href=https://n9e.github.io/docs/prologue/introduction/><meta property="og:locale" content="en_US"><meta property="og:type" content="article"><meta property="og:title" content="Introduction"><meta property="og:description" content="Nightingale is an open-source project focused on alerting. Similar to Grafana's data source integration approach, Nightingale also connects with various existing data sources. However, while Grafana focuses on visualization, Nightingale emphasizes alerting engines."><meta property="og:url" content="https://n9e.github.io/docs/prologue/introduction/"><meta property="og:site_name" content="Home"><meta property="article:published_time" content="2020-10-06T00:48:57+08:00"><meta property="article:modified_time" content="2026-09-16T19:36:10+08:00"><meta property="og:image" content="https://n9e.github.io/doks.png"><meta property="og:image:alt" content="Home"><meta name=twitter:card content="summary_large_image"><meta name=twitter:site content="@ulricqin"><meta name=twitter:creator content="@henkverlinde"><meta name=twitter:title content="Introduction"><meta name=twitter:description content="Nightingale is an open-source project focused on alerting. Similar to Grafana's data source integration approach, Nightingale also connects with various existing data sources. However, while Grafana focuses on visualization, Nightingale emphasizes alerting engines."><meta name=twitter:image content="https://n9e.github.io/doks.png"><meta name=twitter:image:alt content="Introduction">
1<script type=application/ld+json>{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://n9e.github.io/#/schema/organization/1","name":"Doks","url":"https://n9e.github.io/","sameAs":["https://twitter.com/ulricqin","https://github.com/ccfos/nightingale"],"logo":{"@type":"ImageObject","@id":"https://n9e.github.io/#/schema/image/1","url":"https://n9e.github.io/logo-doks.png","width":512,"height":512,"caption":"Doks"},"image":{"@id":"https://n9e.github.io/#/schema/image/1"}},{"@type":"WebSite","@id":"https://n9e.github.io/#/schema/website/1","url":"https://n9e.github.io/","name":"Home","description":"Nightingale is an open-source monitoring system that focuses on alerting.","publisher":{"@id":"https://n9e.github.io/#/schema/organization/1"}},{"@type":"WebPage","@id":"https://n9e.github.io/docs/prologue/introduction/","url":"https://n9e.github.io/docs/prologue/introduction/","name":"Introduction","description":"Nightingale is an open-source project focused on alerting. Similar to Grafana\u0027s data source integration approach, Nightingale also connects with various existing data sources. However, while Grafana focuses on visualization, Nightingale emphasizes alerting engines.","isPartOf":{"@id":"https://n9e.github.io/#/schema/website/1"},"about":{"@id":"https://n9e.github.io/#/schema/organization/1"},"datePublished":"2020-10-06T00:48:57CET","dateModified":"2026-09-16T19:36:10CET","breadcrumb":{"@id":"https://n9e.github.io/docs/prologue/introduction/#/schema/breadcrumb/1"},"primaryImageOfPage":{"@id":"https://n9e.github.io/docs/prologue/introduction/#/schema/image/2"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://n9e.github.io/docs/prologue/introduction/"]}]},{"@type":"BreadcrumbList","@id":"https://n9e.github.io/docs/prologue/introduction/#/schema/breadcrumb/1","name":"Breadcrumbs","itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"WebPage","@id":"https://n9e.github.io/","url":"https://n9e.github.io/","name":"Home"}},{"@type":"ListItem","position":2,"item":{"@type":"WebPage","@id":"https://n9e.github.io/docs/","url":"https://n9e.github.io/docs/","name":"Docs"}},{"@type":"ListItem","position":3,"item":{"@type":"WebPage","@id":"https://n9e.github.io/docs/prologue/","url":"https://n9e.github.io/docs/prologue/","name":"Prologue"}},{"@type":"ListItem","position":4,"item":{"@id":"https://n9e.github.io/docs/prologue/introduction/"}}]},{"@context":"https://schema.org","@graph":[{"@type":"Article","@id":"https://n9e.github.io/#/schema/article/1","headline":"Introduction","description":"Nightingale is an open-source project focused on alerting. Similar to Grafana\u0027s data source integration approach, Nightingale also connects with various existing data sources. However, while Grafana focuses on visualization, Nightingale emphasizes alerting engines.","isPartOf":{"@id":"https://n9e.github.io/docs/prologue/introduction/"},"mainEntityOfPage":{"@id":"https://n9e.github.io/docs/prologue/introduction/"},"datePublished":"2020-10-06T00:48:57CET","dateModified":"2026-09-16T19:36:10CET","author":{"@id":"https://n9e.github.io/#/schema/person/2"},"publisher":{"@id":"https://n9e.github.io/#/schema/organization/1"},"image":{"@id":"https://n9e.github.io/docs/prologue/introduction/#/schema/image/2"}}]},{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://n9e.github.io/#/schema/person/2","name":"Henk Verlinde","sameAs":["https://twitter.com/henkverlinde","https://www.linkedin.com/in/henkverlinde/","https://github.com/UlricQin"]}]},{"@context":"https://schema.org","@graph":[{"@type":"ImageObject","@id":"https://n9e.github.io/docs/prologue/introduction/#/schema/image/2","url":"https://n9e.github.io/doks.png","contentUrl":"https://n9e.github.io/doks.png","caption":"Introduction"}]}]}</script>
1<meta name=theme-color content="#fff"><link rel=apple-touch-icon sizes=180x180 href=https://n9e.github.io/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=https://n9e.github.io/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=https://n9e.github.io/favicon-16x16.png><link rel=manifest crossorigin=use-credentials href=https://n9e.github.io/site.webmanifest></head><body class="docs single"><div class=header-bar></div><header class="navbar navbar-expand-md navbar-light doks-navbar"><nav class="container-xxl flex-wrap flex-md-nowrap" aria-label="Main navigation"><a class="navbar-brand p-0 me-auto" href=/ aria-label=Home>Home</a>
2<button class="btn btn-menu d-block d-md-none order-5" type=button data-bs-toggle=offcanvas data-bs-target=#offcanvasDoks aria-controls=offcanvasDoks aria-label="Open main menu"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu"><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="18" x2="21" y2="18"/></svg></button><div class="offcanvas offcanvas-end border-0 py-md-1" tabindex=-1 id=offcanvasDoks data-bs-backdrop=true aria-labelledby=offcanvasDoksLabel><div class="header-bar d-md-none"></div><div class="offcanvas-header d-md-none"><h2 class="h5 offcanvas-title ps-2" id=offcanvasDoksLabel><a class=text-dark href=/>Home</a></h2><button type=button class="btn-close text-reset me-2" data-bs-dismiss=offcanvas aria-label="Close main menu"></button></div><div class="offcanvas-body px-4"><h3 class="h6 text-uppercase mb-3 d-md-none">Main</h3><ul class="nav flex-column flex-md-row ms-md-n3"><li class=nav-item><a class="nav-link ps-0 py-1 active" href=/docs/prologue/introduction/>Docs</a></li><li class=nav-item><a class="nav-link ps-0 py-1" href=/blog/>Blogs</a></li></ul><hr class="text-black-50 my-4 d-md-none"><h3 class="h6 text-uppercase mb-3 d-md-none">Socials</h3><ul class="nav flex-column flex-md-row ms-md-auto me-md-n5 pe-md-2"><li class=nav-item><a class="nav-link ps-0 py-1" href=https://github.com/ccfos/nightingale><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-github"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"/></svg><small class="ms-2 d-md-none">GitHub</small></a></li></ul></div></div><button id=mode class="btn btn-link order-md-1" type=button aria-label="Toggle user interface mode">
3<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></span></button><div class="dropdown order-md-2"><button class="btn btn-doks-light dropdown-toggle" id=doks-languages data-bs-toggle=dropdown aria-expanded=false data-bs-display=static>
4EN
5<span class=dropdown-caret><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down"><polyline points="6 9 12 15 18 9"/></svg></span></button><ul class="dropdown-menu dropdown-menu-end shadow rounded border-0" aria-labelledby=doks-languages><li><a class="dropdown-item current" aria-current=true href=/docs/prologue/introduction/>English</a></li><li><hr class=dropdown-divider></li><li><a class=dropdown-item rel=alternate href=/zh/docs/prologue/introduction/ hreflang=zh lang=zh>Chinese</a></li></ul></div></nav></header><nav class="doks-subnavbar py-2 sticky-lg-top" aria-label="Secondary navigation"><div class="container-xxl d-flex align-items-md-center"><form class="doks-search position-relative flex-grow-1 me-auto"><input id=search class="form-control is-search" type=search placeholder="Search docs..." aria-label="Search docs..." autocomplete=off><div id=suggestions class="shadow bg-white rounded d-none"></div></form><button class="btn doks-sidebar-toggle d-lg-none ms-3 order-3 collapsed" type=button data-bs-toggle=collapse data-bs-target=#doks-docs-nav aria-controls=doks-docs-nav aria-expanded=false aria-label="Toggle documentation navigation"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="doks doks-expand" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><title>Expand</title><polyline points="7 13 12 18 17 13"/><polyline points="7 6 12 11 17 6"/></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="doks doks-collapse" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><title>Collapse</title><polyline points="17 11 12 6 7 11"/><polyline points="17 18 12 13 7 18"/></svg></button></div></nav><div class=container-xxl><aside class=doks-sidebar><nav id=doks-docs-nav class="collapse d-lg-none" aria-label="Tertiary navigation"><ul class="list-unstyled collapsible-sidebar"><li class=mb-1>
5<button class="btn btn-toggle align-items-center rounded collapsed" data-bs-toggle=collapse data-bs-target=#section-5f2cae171c6192fa410df4385f7218aa aria-expanded=true>
6Prologue</button><div class="collapse show" id=section-5f2cae171c6192fa410df4385f7218aa><ul class="btn-toggle-nav list-unstyled fw-normal pb-1 small"><li><a class="docs-link rounded active" href=https://n9e.github.io/docs/prologue/introduction/>Introduction</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/prologue/prometheus/>Nightingale vs Prometheus</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/prologue/pre-knowledge/>Prior knowledge</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/prologue/architecture/>Architecture</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/prologue/flashcat/>Enterprise Edition</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/prologue/videos/>Videos for Getting Started</a></li></ul></div></li><li class=mb-1><button class="btn btn-toggle align-items-center rounded collapsed" data-bs-toggle=collapse data-bs-target=#section-7cd8fb6e31cc946c078d2740c76a9899 aria-expanded=false>
7Installation</button><div class=collapse id=section-7cd8fb6e31cc946c078d2740c76a9899><ul class="btn-toggle-nav list-unstyled fw-normal pb-1 small"><li><a class="docs-link rounded" href=https://n9e.github.io/docs/install/pre-intro/>Pre-Introduction</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/install/upgrade/>Upgrade</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/install/binary/>Binary Deployment</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/install/compose/>Docker Compose</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/install/helm/>Helm</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/install/configuration/>Configuration</a></li></ul></div></li><li class=mb-1><button class="btn btn-toggle align-items-center rounded collapsed" data-bs-toggle=collapse data-bs-target=#section-8fc330d76e990ab6964af08ea1e47d2e aria-expanded=false>
8Collector</button><div class=collapse id=section-8fc330d76e990ab6964af08ea1e47d2e><ul class="btn-toggle-nav list-unstyled fw-normal pb-1 small"><li><a class="docs-link rounded" href=https://n9e.github.io/docs/agent/intro/>Pre explanation</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/agent/categraf/>Categraf</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/agent/telegraf/>Telegraf</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/agent/datadog-agent/>Datadog-Agent</a></li></ul></div></li><li class=mb-1><button class="btn btn-toggle align-items-center rounded collapsed" data-bs-toggle=collapse data-bs-target=#section-411eaaaa405899304e54dce3363a2baf aria-expanded=false>
9Quick Start</button><div class=collapse id=section-411eaaaa405899304e54dce3363a2baf><ul class="btn-toggle-nav list-unstyled fw-normal pb-1 small"><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usage/datasource/>Data Sources</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usage/ad-hoc/>Ad-hoc Query</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usage/metric-alerting/>Metric Alerting</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usage/logs-alerting/>Log Alerting</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usage/notify-rules/>Notification Rules</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usage/dashboard/>Dashboard</a></li></ul></div></li><li class=mb-1><button class="btn btn-toggle align-items-center rounded collapsed" data-bs-toggle=collapse data-bs-target=#section-8c004d7e3b8a5a850ab2459c3afc2f57 aria-expanded=false>
10Practice</button><div class=collapse id=section-8c004d7e3b8a5a850ab2459c3afc2f57><ul class="btn-toggle-nav list-unstyled fw-normal pb-1 small"><li><a class="docs-link rounded" href=https://n9e.github.io/docs/practice/linux/>Linux OS</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/practice/proc/>Process</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/practice/port/>Port</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/practice/exec/>Plugin Scripts</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/practice/mysql/>MySQL</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/practice/redis/>Redis</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/practice/oracle/>Oracle</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/practice/java/>Java Programs</a></li></ul></div></li><li class=mb-1>
10<button class="btn btn-toggle align-items-center rounded collapsed" data-bs-toggle=collapse data-bs-target=#section-4de8388d84a18a2e157114d9fecff0fe aria-expanded=false>
11Use Case</button><div class=collapse id=section-4de8388d84a18a2e157114d9fecff0fe><ul class="btn-toggle-nav list-unstyled fw-normal pb-1 small"><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usecase/alerting/>Alerting Principles and Process Explanation</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usecase/bizgroup/>Business Groups</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usecase/mute/>Muting Rules</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usecase/subscribe/>Subscription Rules</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usecase/processor/>Event Processor</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usecase/media/>Custom Notification Media</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usecase/sso/>Single Sign-On (SSO)</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usecase/api/>API</a></li></ul></div></li><li class=mb-1><button class="btn btn-toggle align-items-center rounded collapsed" data-bs-toggle=collapse data-bs-target=#section-1fe917b01f9a3f87fa2d7d3b7643fac1 aria-expanded=false>
12FAQ</button><div class=collapse id=section-1fe917b01f9a3f87fa2d7d3b7643fac1><ul class="btn-toggle-nav list-unstyled fw-normal pb-1 small"><li><a class="docs-link rounded" href=https://n9e.github.io/docs/faq/global-callback/>Global Callback is Deprecated, How to Handle Global Scenarios?</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/faq/cpu-alerting/>Should 'High CPU Load' Trigger an Alert?</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/faq/biz-team-subscribe-infra-alarms/>Should upper-layer businesses receive alarms from underlying infrastructure?</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/faq/how-to-import-prometheus-rules/>How to import Prometheus rules?</a></li></ul></div></li></ul></nav></aside></div><div class="wrap container-xxl" role=document><div class=content><div class="row flex-xl-nowrap"><div class="col-lg-5 col-xl-4 docs-sidebar d-none d-lg-block"><nav class=docs-links aria-label="Main navigation"><ul class="list-unstyled collapsible-sidebar"><li class=mb-1><button class="btn btn-toggle align-items-center rounded collapsed" data-bs-toggle=collapse data-bs-target=#section-5f2cae171c6192fa410df4385f7218aa aria-expanded=true>
13Prologue</button><div class="collapse show" id=section-5f2cae171c6192fa410df4385f7218aa><ul class="btn-toggle-nav list-unstyled fw-normal pb-1 small"><li><a class="docs-link rounded active" href=https://n9e.github.io/docs/prologue/introduction/>Introduction</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/prologue/prometheus/>Nightingale vs Prometheus</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/prologue/pre-knowledge/>Prior knowledge</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/prologue/architecture/>Architecture</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/prologue/flashcat/>Enterprise Edition</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/prologue/videos/>Videos for Getting Started</a></li></ul></div></li><li class=mb-1><button class="btn btn-toggle align-items-center rounded collapsed" data-bs-toggle=collapse data-bs-target=#section-7cd8fb6e31cc946c078d2740c76a9899 aria-expanded=false>
14Installation</button><div class=collapse id=section-7cd8fb6e31cc946c078d2740c76a9899><ul class="btn-toggle-nav list-unstyled fw-normal pb-1 small"><li><a class="docs-link rounded" href=https://n9e.github.io/docs/install/pre-intro/>Pre-Introduction</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/install/upgrade/>Upgrade</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/install/binary/>Binary Deployment</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/install/compose/>Docker Compose</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/install/helm/>Helm</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/install/configuration/>Configuration</a></li></ul></div></li><li class=mb-1>
14<button class="btn btn-toggle align-items-center rounded collapsed" data-bs-toggle=collapse data-bs-target=#section-8fc330d76e990ab6964af08ea1e47d2e aria-expanded=false>
15Collector</button><div class=collapse id=section-8fc330d76e990ab6964af08ea1e47d2e><ul class="btn-toggle-nav list-unstyled fw-normal pb-1 small"><li><a class="docs-link rounded" href=https://n9e.github.io/docs/agent/intro/>Pre explanation</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/agent/categraf/>Categraf</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/agent/telegraf/>Telegraf</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/agent/datadog-agent/>Datadog-Agent</a></li></ul></div></li><li class=mb-1><button class="btn btn-toggle align-items-center rounded collapsed" data-bs-toggle=collapse data-bs-target=#section-411eaaaa405899304e54dce3363a2baf aria-expanded=false>
16Quick Start</button><div class=collapse id=section-411eaaaa405899304e54dce3363a2baf><ul class="btn-toggle-nav list-unstyled fw-normal pb-1 small"><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usage/datasource/>Data Sources</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usage/ad-hoc/>Ad-hoc Query</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usage/metric-alerting/>Metric Alerting</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usage/logs-alerting/>Log Alerting</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usage/notify-rules/>Notification Rules</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usage/dashboard/>Dashboard</a></li></ul></div></li><li class=mb-1><button class="btn btn-toggle align-items-center rounded collapsed" data-bs-toggle=collapse data-bs-target=#section-8c004d7e3b8a5a850ab2459c3afc2f57 aria-expanded=false>
17Practice</button><div class=collapse id=section-8c004d7e3b8a5a850ab2459c3afc2f57><ul class="btn-toggle-nav list-unstyled fw-normal pb-1 small"><li><a class="docs-link rounded" href=https://n9e.github.io/docs/practice/linux/>Linux OS</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/practice/proc/>Process</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/practice/port/>Port</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/practice/exec/>Plugin Scripts</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/practice/mysql/>MySQL</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/practice/redis/>Redis</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/practice/oracle/>Oracle</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/practice/java/>Java Programs</a></li></ul></div></li><li class=mb-1><button class="btn btn-toggle align-items-center rounded collapsed" data-bs-toggle=collapse data-bs-target=#section-4de8388d84a18a2e157114d9fecff0fe aria-expanded=false>
18Use Case</button><div class=collapse id=section-4de8388d84a18a2e157114d9fecff0fe><ul class="btn-toggle-nav list-unstyled fw-normal pb-1 small"><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usecase/alerting/>Alerting Principles and Process Explanation</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usecase/bizgroup/>Business Groups</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usecase/mute/>Muting Rules</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usecase/subscribe/>Subscription Rules</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usecase/processor/>Event Processor</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usecase/media/>Custom Notification Media</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usecase/sso/>Single Sign-On (SSO)</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/usecase/api/>API</a></li></ul></div></li><li class=mb-1>
18<button class="btn btn-toggle align-items-center rounded collapsed" data-bs-toggle=collapse data-bs-target=#section-1fe917b01f9a3f87fa2d7d3b7643fac1 aria-expanded=false>
19FAQ</button><div class=collapse id=section-1fe917b01f9a3f87fa2d7d3b7643fac1><ul class="btn-toggle-nav list-unstyled fw-normal pb-1 small"><li><a class="docs-link rounded" href=https://n9e.github.io/docs/faq/global-callback/>Global Callback is Deprecated, How to Handle Global Scenarios?</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/faq/cpu-alerting/>Should 'High CPU Load' Trigger an Alert?</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/faq/biz-team-subscribe-infra-alarms/>Should upper-layer businesses receive alarms from underlying infrastructure?</a></li><li><a class="docs-link rounded" href=https://n9e.github.io/docs/faq/how-to-import-prometheus-rules/>How to import Prometheus rules?</a></li></ul></div></li></ul></nav></div><nav class="docs-toc d-none d-xl-block col-xl-3" aria-label="Secondary navigation"><div class=page-links><h3>On this page</h3><nav id=TableOfContents><ul><li><a href=#repo>Repo</a></li><li><a href=#working-logic>Working logic</a></li><li><a href=#alerting-upgrades-and-collaboration>Alerting, Upgrades, and Collaboration</a></li><li><a href=#key-capabilities>Key Capabilities</a></li><li><a href=#thank-you-for-the-trust-from-numerous-enterprises>Thank you for the trust from numerous enterprises.</a></li><li><a href=#open-source-license>Open Source License</a></li></ul></nav></div></nav><main class="docs-content col-lg-11 col-xl-9"><h1>Introduction</h1><p class=lead></p><nav class=d-xl-none aria-label="Quaternary navigation"><div class=page-links><h3>On this page</h3><nav id=TableOfContents><ul><li><a href=#repo>Repo</a></li><li><a href=#working-logic>Working logic</a></li><li><a href=#alerting-upgrades-and-collaboration>Alerting, Upgrades, and Collaboration</a></li><li><a href=#key-capabilities>Key Capabilities</a></li><li><a href=#thank-you-for-the-trust-from-numerous-enterprises>Thank you for the trust from numerous enterprises.</a></li><li><a href=#open-source-license>Open Source License</a></li></ul></nav></div></nav><p>Nightingale is an open-source project focused on alerting. Similar to Grafana&rsquo;s data source integration approach, Nightingale also integrates with various existing data sources. While Grafana focuses on visualization, Nightingale focuses on alerting.</p><p>Nightingale can query data from multiple data sources, generate alarm events, and then send alerts via various notification channels. In addition, we also have an event pipeline design, which can perform different processing on alarm events, such as filtering, relabeling, enriching, and so on.</p><h2 id=repo>Repo <a href=#repo class=anchor aria-hidden=true>#</a></h2><ul><li>Backend: <a href=https://github.com/ccfos/nightingale>https://github.com/ccfos/nightingale</a></li><li>Frontend: <a href=https://github.com/n9e/fe>https://github.com/n9e/fe</a></li></ul><p>Any issues or PRs are welcome!</p><h2 id=working-logic>Working logic <a href=#working-logic class=anchor aria-hidden=true>#</a></h2><p>Many users have already collected metrics and log data themselves. In this case, they can integrate their storage repositories (like VictoriaMetrics, Elasticsearch, etc.) as data sources in Nightingale. Users can then configure alert rules and notification rules in Nightingale to generate and dispatch alert events.</p><img src=/img/global/arch-bg.png alt="Nightingale Product Architecture" class=homepage-banner-light>
20<img src=/img/global/arch-bg-dark.png alt="Nightingale Product Architecture" class=homepage-banner-dark><p>Nightingale itself does not provide data collection capabilities. We recommend using <a href=https://github.com/flashcatcloud/categraf>Categraf</a> as a collector, which can seamlessly integrate with Nightingale.</p><p><a href=https://github.com/flashcatcloud/categraf>Categraf</a> can collect monitoring data from operating systems, network devices, middleware, and databases. It pushes this data to Nightingale (via Prometheus Remote Write protocol), which then forwards the data to time-series databases (like Prometheus, VictoriaMetrics, etc.) and provides alerting and visualization capabilities.</p><p>For specific edge data centers, where the network link to the central Nightingale server is poor, Nightingale also provides a de
20sign for edge data center alerting engine deployment. In this mode, even if the edge and central networks are disconnected, alerting functionality remains unaffected.</p><img src=/img/prologue/intro/edge-light.png alt="Nightingale Edge Architecture"><blockquote><p>In the above diagram, the network link between data center A and the central data center is good, so the alerting engine is handled by the central Nightingale process. For data center B, where the network link to the central data center is poor, we deploy <code>n9e-edge</code> as the alerting engine to handle data source alerting functionality locally.</p></blockquote><h2 id=alerting-upgrades-and-collaboration>Alerting, Upgrades, and Collaboration <a href=#alerting-upgrades-and-collaboration class=anchor aria-hidden=true>#</a></h2><p>Nightingale focuses on being an alerting engine, responsible for generating alert events and flexibly dispatching them based on rules. It has built-in support for 20 notification channels (like phone calls, SMS, email, DingTalk, Feishu, WeCom, Slack, etc.).</p><p>If you have more advanced requirements, such as:</p><ul><li>Want to aggregate events from multiple monitoring systems into one platform for unified noise reduction, response handling, and data analysis</li><li>Want to support team on-call culture, including features like alert claim, escalation (to avoid missing alerts), and collaborative handling</li></ul><p>Then Nightingale may not be suitable. We recommend using <strong><a href=https://flashcat.cloud/product/flashcat-duty/>FlashDuty</a></strong>, an on-call product that aggregates alerts from various monitoring systems for unified noise reduction, distribution, and response.</p><h2 id=key-capabilities>Key Capabilities <a href=#key-capabilities class=anchor aria-hidden=true>#</a></h2><img class=mb20 src=/img/prologue/intro/alert-rules.png alt="Nightingale Alert Rules"><ul><li>Nightingale supports alert rules, muting rules, subscription rules, and notification rules. It natively integrates 20 notification channels and allows customization of message templates.</li><li>Nightingale supports event pipelines to process alert events and integrate with third-party systems. For example, it can perform operations like relabeling, filtering, and enriching on events.</li><li>Nightingale supports the concept of business groups and introduces a permission system to manage various rules in a categorized manner.</li><li>Many databases and middleware have built-in alert rules that can be directly imported for use, and Prometheus alert rules can also be directly imported.</li><li>Nightingale supports alert self-healing, which means that after an alert is triggered, a script is automatically executed to perform some predefined logic, such as cleaning up the disk or capturing the on-site situation.</li></ul><img class=mb20 src=/img/prologue/intro/feat2.png alt="Nightingale Event Dashboard"><ul><li>Nightingale archives historical alert events and supports multi-dimensional querying and statistics.</li><li>It allows flexible aggregation and grouping, making it easy to get a clear overview of the distribution of the company&rsquo;s alert events at a glance.</li></ul><img class=mb20 src=/img/prologue/intro/feat3.png alt="Nightingale Integration Center"><ul><li>Nightingale has built-in metric explanations, dashboards, and alert rules for common operating systems, middleware, and databases. However, these are all contributed by the community, and their overall quality varies.</li><li>Nightingale directly receives data from multiple protocols such as Remote Write, OpenTSDB, Datadog, and Falcon, thus enabling integration with various types of agents.</li><li>Nightingale supports multiple data sources including Prometheus, ElasticSearch, Loki, and TDEngine, and can perform alerting based on the data from them.</li><li>Nightingale can be easily embedded into internal enterprise systems, such as Grafana and CMDB. It even allows configuring the menu visibility of these embedded systems.</li></ul><img class=mb20 src=/img/prologue/intro/feat4.png alt="Nightingale Dashboard"><ul><li>Nightingale supports dashboard functionality, featuring common chart types and some built-in dashboards. The image above is a screenshot of one of these dashboards.</li><li>If you&rsquo;re already accustomed to Grafana, it&rsquo;s recommended to continue using Grafana for viewing charts, as Grafana has more profound expertise in this area.</li><li>For machine-related monitoring data collected by Categraf, it&rsquo;s advisable to use Nightingale&rsquo;s built-in dashboards. This is because Categraf&rsquo;s metric naming follows Telegraf&rsquo;s naming convention, which differs from that of Node Exporter.</li><li>Since Nightingale incorporates the concept of business groups, where machines can belong to different business groups, there are times when you may only want to view machines belonging to the current business group in the dashboard. Therefore, Nightingale&rsquo;s dashboards can be linked with business groups.</li></ul><h2 id=thank-you-for-the-trust-from-numerous-enterprises>Thank you for the trust from numerous enterprises. <a href=#thank-you-for-the-trust-from-numerous-enterprises class=anchor aria-hidden=true>#</a></h2><p>Nightingale has been adopted by many enterprises, including but not limited to:</p><img src=/img/prologue/intro/customers.png alt="Nightingale Customers"><h2 id=open-source-license>Open Source License <a href=#open-source-license class=anchor aria-hidden=true>#</a></h2><p>The Nightingale monitoring project is open-sourced under the Apache License 2.0.</p><div class="page-footer-meta d-flex flex-column flex-md-row justify-content-between"><div class=edit-page><a href=https://github.com/n9e/n9e.github.io/blob/master/content/en/docs/prologue/introduction.md><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
20ox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828.0 114 4L7.5 20.5 2 22l1.5-5.5L17 3z"/></svg>Edit this page on GitHub</a></div></div><div class="docs-navigation d-flex justify-content-between"><a href=/docs/agent/intro/><div class="card my-1"><div class="card-body py-2">&larr; Pre explanation</div></div></a><a class=ms-auto href=/docs/prologue/prometheus/><div class="card my-1"><div class="card-body py-2">Nightingale vs Prometheus &rarr;</div></div></a></div></main></div></div></div><footer class="footer text-muted"><div class=container-xxl><div class=row><div class="col-lg-8 order-last order-lg-first"><ul class=list-inline><li class=list-inline-item>&copy; 2026 CCF·Nightingale, all rights reserved.</li></ul></div><div class="col-lg-8 order-first order-lg-last text-lg-end"><ul class=list-inline></ul></div></div></div></footer>
20<script src=/js/bootstrap.min.0a0106334435d4110713bfaff4acaf02533b0c56d44412a74e9518db07672ddb7e099a9c7517bc9cb529e2ddd4ae2e438b40b720288900d5e74fb6d8928d9097.js integrity="sha512-CgEGM0Q11BEHE7+v9KyvAlM7DFbURBKnTpUY2wdnLdt+CZqcdRe8nLUp4t3Uri5Di0C3ICiJANXnT7bYko2Qlw==" crossorigin=anonymous defer></script>
vendor: 1 bytes, line 20
20
21<script src=/js/highlight.min.0d31f7af12feb83ee633b6351b023ee643ea3412376fbaa09c5a26d1a5ef999939f1ad379a5b12e1199a2c7d72ae1b23f633060a679628dcbfb0e72378cd20be.js integrity="sha512-DTH3rxL+uD7mM7Y1GwI+5kPqNBI3b7qgnFom0aXvmZk58a03mlsS4RmaLH1yrhsj9jMGCmeWKNy/sOcjeM0gvg==" crossorigin=anonymous defer></script>
vendor: 1 bytes, line 21
21
22<script src=/main.min.6afc4bf655f45ae3e63629ec95be8bd2e0e792084b5635a6fe70b169fa9d1491638b3a4e900ed59c2e017ca18768e5c392e110d0e1336509f49f7dc418d16eef.js integrity="sha512-avxL9lX0WuPmNinslb6L0uDnkghLVjWm/nCxafqdFJFjizpOkA7VnC4BfKGHaOXDkuEQ0OEzZQn0n33EGNFu7w==" crossorigin=anonymous defer></script>
vendor: 1 bytes, line 22
22
23<script src=https://n9e.github.io/index.min.f64ff40a1652f6090dd3ad3bf1622a4e28e70a3b4a720141a4c9fe38ee4ad9052cec41300520899c6bac0f56688671dab30d2424f898b7524cc833276e0a3d2d.js integrity="sha512-9k/0ChZS9gkN06078WIqTijnCjtKcgFBpMn+OO5K2QUs7EEwBSCJnGusD1ZohnHasw0kJPiYt1JMyDMnbgo9LQ==" crossorigin=anonymous defer></script>
vendor: 1 bytes, line 23
23
24<script>var _hmt=_hmt||[];(function(){var e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?9d7cc507a7aae60b28b5e04bb995492a",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script>
24<script>(function(){var t=["flashcat.cloud","flashduty.com"];function n(s){for(var e,n=0;n<t.length;n++)if(e=t[n],s===e||s.slice(-(e.length+1))==="."+e)return!0;return!1}function s(e){try{var t=new URL(e,window.location.href);return n(t.hostname)?t.searchParams.get("from")?e:(t.searchParams.set("from","n9e"),t.toString()):e}catch(t){return e}}function e(n){var e,t=n.target;if(!t||!t.closest)return;e=t.closest('a[href*="flashcat.cloud"], a[href*="flashduty.com"]'),e&&(e.href=s(e.href))}document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",e,!0),document.addEventListener("click",e,!0)})()</script>
24</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.