deploy: 0b492ad7a5
This commit is contained in:
1 parent
536675a0ec
commit
ec68b8a524
219 files changed
+496
-466
No files matched your search
@@ -12,7 +12,7 @@
|
||||
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
||||
<link rel="modulepreload" href="/assets/chunks/framework.BmdFiWrL.js">
|
||||
<link rel="modulepreload" href="/assets/chunks/theme.D1TJKLdg.js">
|
||||
<link rel="modulepreload" href="/assets/en_US_guide_notifications.md.DdaL2aPO.lean.js">
|
||||
<link rel="modulepreload" href="/assets/en_US_guide_notifications.md.utQO2rHS.lean.js">
|
||||
<script src="https://cdn.wwads.cn/js/makemoney.js" async></script>
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-FDME8GJGTW"></script>
|
||||
<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag("js",new Date),gtag("config","G-FDME8GJGTW");</script>
|
||||
@@ -22,7 +22,7 @@
|
||||
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0f60ec36></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0f60ec36> Skip to content </a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar has-sidebar top" data-v-ae24b3ad data-v-ccf7ddec><div class="wrapper" data-v-ccf7ddec><div class="container" data-v-ccf7ddec><div class="title" data-v-ccf7ddec><div class="VPNavBarTitle has-sidebar" data-v-ccf7ddec data-v-ab179fa1><a class="title" href="/en_US/" data-v-ab179fa1><!--[--><!--]--><!--[--><img class="VPImage logo" src="/logo.png" width="24" height="24" alt="NezhaLogo" data-v-8426fc1a><!--]--><span data-v-ab179fa1>Nezha Server Monitoring</span><!--[--><!--]--></a></div></div><div class="content" data-v-ccf7ddec><div class="content-body" data-v-ccf7ddec><!--[--><!--]--><div class="VPNavBarSearch search" data-v-ccf7ddec><!--[--><!----><div id="docsearch"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-ccf7ddec data-v-7f418b0f><span id="main-nav-aria-label" class="visually-hidden" data-v-7f418b0f>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/en_US/" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>User Guide</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/en_US/case/index.html" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Community Projects</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/en_US/developer/index.html" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Development Manual</span><!--]--></a><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-ccf7ddec data-v-88af2de4 data-v-b6c34ac9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="Change language" data-v-b6c34ac9><span class="text" data-v-b6c34ac9><span class="vpi-languages option-icon" data-v-b6c34ac9></span><!----><span class="vpi-chevron-down text-icon" data-v-b6c34ac9></span></span></button><div class="menu" data-v-b6c34ac9><div class="VPMenu" data-v-b6c34ac9 data-v-e7ea1737><!----><!--[--><!--[--><div class="items" data-v-88af2de4><p class="title" data-v-88af2de4>English</p><!--[--><div class="VPMenuLink" data-v-88af2de4 data-v-43f1e123><a class="VPLink link" href="/guide/notifications.html" data-v-43f1e123><!--[-->简体中文<!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-ccf7ddec data-v-e6aabb21><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-e6aabb21 data-v-d1f28634 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-d1f28634></span><span class="vpi-moon moon" data-v-d1f28634></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-ccf7ddec data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/nezhahq/nezhahq.github.io" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><a class="VPSocialLink no-icon" href="https://t.me/nezhanews" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M248 8C111 8 0 119 0 256S111 504 248 504 496 393 496 256 385 8 248 8zM363 176.7c-3.7 39.2-19.9 134.4-28.1 178.3-3.5 18.6-10.3 24.8-16.9 25.4-14.4 1.3-25.3-9.5-39.3-18.7-21.8-14.3-34.2-23.2-55.3-37.2-24.5-16.1-8.6-25 5.3-39.5 3.7-3.8 67.1-61.5 68.3-66.7 .2-.7 .3-3.1-1.2-4.4s-3.6-.8-5.1-.5q-3.3 .7-104.6 69.1-14.8 10.2-26.9 9.9c-8.9-.2-25.9-5-38.6-9.1-15.5-5-27.9-7.7-26.8-16.3q.8-6.7 18.5-13.7 108.4-47.2 144.6-62.3c68.9-28.6 83.2-33.6 92.5-33.8 2.1 0 6.6 .5 9.6 2.9a10.5 10.5 0 0 1 3.5 6.7A43.8 43.8 0 0 1 363 176.7z"/></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-ccf7ddec data-v-d0bd9dde data-v-b6c34ac9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-b6c34ac9><span class="vpi-more-horizontal icon" data-v-b6c34ac9></span></button><div class="menu" data-v-b6c34ac9><div clasLine truncated
|
||||
<div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0f60ec36></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0f60ec36> Skip to content </a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar has-sidebar top" data-v-ae24b3ad data-v-ccf7ddec><div class="wrapper" data-v-ccf7ddec><div class="container" data-v-ccf7ddec><div class="title" data-v-ccf7ddec><div class="VPNavBarTitle has-sidebar" data-v-ccf7ddec data-v-ab179fa1><a class="title" href="/en_US/" data-v-ab179fa1><!--[--><!--]--><!--[--><img class="VPImage logo" src="/logo.png" width="24" height="24" alt="NezhaLogo" data-v-8426fc1a><!--]--><span data-v-ab179fa1>Nezha Server Monitoring</span><!--[--><!--]--></a></div></div><div class="content" data-v-ccf7ddec><div class="content-body" data-v-ccf7ddec><!--[--><!--]--><div class="VPNavBarSearch search" data-v-ccf7ddec><!--[--><!----><div id="docsearch"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-ccf7ddec data-v-7f418b0f><span id="main-nav-aria-label" class="visually-hidden" data-v-7f418b0f>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/en_US/" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>User Guide</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/en_US/case/index.html" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Community Projects</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/en_US/developer/index.html" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Development Manual</span><!--]--></a><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-ccf7ddec data-v-88af2de4 data-v-b6c34ac9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="Change language" data-v-b6c34ac9><span class="text" data-v-b6c34ac9><span class="vpi-languages option-icon" data-v-b6c34ac9></span><!----><span class="vpi-chevron-down text-icon" data-v-b6c34ac9></span></span></button><div class="menu" data-v-b6c34ac9><div class="VPMenu" data-v-b6c34ac9 data-v-e7ea1737><!----><!--[--><!--[--><div class="items" data-v-88af2de4><p class="title" data-v-88af2de4>English</p><!--[--><div class="VPMenuLink" data-v-88af2de4 data-v-43f1e123><a class="VPLink link" href="/guide/notifications.html" data-v-43f1e123><!--[-->简体中文<!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-ccf7ddec data-v-e6aabb21><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-e6aabb21 data-v-d1f28634 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-d1f28634></span><span class="vpi-moon moon" data-v-d1f28634></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-ccf7ddec data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/nezhahq/nezhahq.github.io" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><a class="VPSocialLink no-icon" href="https://t.me/nezhanews" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M248 8C111 8 0 119 0 256S111 504 248 504 496 393 496 256 385 8 248 8zM363 176.7c-3.7 39.2-19.9 134.4-28.1 178.3-3.5 18.6-10.3 24.8-16.9 25.4-14.4 1.3-25.3-9.5-39.3-18.7-21.8-14.3-34.2-23.2-55.3-37.2-24.5-16.1-8.6-25 5.3-39.5 3.7-3.8 67.1-61.5 68.3-66.7 .2-.7 .3-3.1-1.2-4.4s-3.6-.8-5.1-.5q-3.3 .7-104.6 69.1-14.8 10.2-26.9 9.9c-8.9-.2-25.9-5-38.6-9.1-15.5-5-27.9-7.7-26.8-16.3q.8-6.7 18.5-13.7 108.4-47.2 144.6-62.3c68.9-28.6 83.2-33.6 92.5-33.8 2.1 0 6.6 .5 9.6 2.9a10.5 10.5 0 0 1 3.5 6.7A43.8 43.8 0 0 1 363 176.7z"/></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-ccf7ddec data-v-d0bd9dde data-v-b6c34ac9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-b6c34ac9><span class="vpi-more-horizontal icon" data-v-b6c34ac9></span></button><div class="menu" data-v-b6c34ac9><div clasLine truncated
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "message"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "subject"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Server Status Notification"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "body"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
||||
@@ -68,8 +68,8 @@
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "format"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"org.matrix.custom.html"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "formatted_body"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"<html><head><title>Nezha Dashboard</title></head><body><h1><a href=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\"</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">$YOUR_NEZHA_URL</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\"</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> target=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\"</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">_blank</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\"</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">>Nezha Dashboard</a></h1><ul><li>datetime: #DATETIME#</li><li>Message: #NEZHA#</li></ul></body></html>"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "body"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"#NEZHA#"</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div></li></ul><h4 id="usage-steps" tabindex="-1">Usage Steps <a class="header-anchor" href="#usage-steps" aria-label="Permalink to "Usage Steps""></a></h4><ol><li><strong>Replace Variables</strong>: Replace <code>$YOUR_HOME_SERVER</code>, <code>$YOUR_NEZHA_URL</code>, <code>$YOUR_MATRIX_USERNAME</code>, <code>$YOUR_MATRIX_PASSWD</code>, and <code>$YOUR_MATRIX_TOKEN</code> with your own values.</li><li><strong>Retrieve Token</strong>: Use the <code>curl</code> command provided above to get <code>YOUR_MATRIX_TOKEN</code>, making sure to replace all relevant variables.</li><li><strong>Configure Request</strong>: Set up your request using the configuration provided above, ensuring the correct URL, headers, and body are used.</li><li><strong>Send Notification</strong>: Send the Matrix message using the configured request to integrate Nezha monitoring notifications into your Matrix room.</li></ol><p>Once configured, you will receive formatted Nezha dashboard information in your Matrix room whenever a notification is triggered.</p></details><h2 id="notification-rule-explanation" tabindex="-1">Notification Rule Explanation <a class="header-anchor" href="#notification-rule-explanation" aria-label="Permalink to "Notification Rule Explanation""></a></h2><h3 id="basic-rules" tabindex="-1">Basic Rules <a class="header-anchor" href="#basic-rules" aria-label="Permalink to "Basic Rules""></a></h3><ul><li><code>type</code>: You can choose one or more types. If multiple types are selected in one rule, <strong>all selected types must be satisfied</strong> to trigger a notification (refer to the examples below) <ul><li><code>cpu</code>, <code>gpu</code>, <code>memory</code>, <code>swap</code>, <code>disk</code></li><li><code>net_in_speed</code> inbound network speed, <code>net_out_speed</code> outbound network speed, <code>net_all_speed</code> total network speed, <code>transfer_in</code> inbound traffic, <code>transfer_out</code> outbound traffic, <code>transfer_all</code> total traffic</li><li><code>offline</code> offline monitoring</li><li><code>load1</code>, <code>load5</code>, <code>load15</code> load</li><li><code>process_count</code> process count (currently resource-intensive due to thread count, not supported temporarily)</li><li><code>tcp_conn_count</code>, <code>udp_conn_count</code> connection count</li><li><code>temperature_max</code> maximum temperature</li></ul></li><li><code>duration</code>: Duration in seconds. An notification is triggered if 30% or more of the samples exceed the threshold within this duration (to prevent data spikes).</li><li><code>min</code> or <code>max</code>: <ul><li>For traffic and network speed, the unit is bytes (1KB = 1024B, 1MB = 1024 * 1024B)</li><li>For memory, disk, and CPU, the unit is percentage</li><li>No need to set this for offline monitoring</li></ul></li><li><code>cover</code>: <ul><li><code>0</code> monitors all servers, use <code>ignore</code> to exclude specific servers</li><li><code>1</code> ignores all servers, use <code>ignore</code> to monitor specific servers<br> Example: <code>[{"type":"offline","duration":10, "cover":0, "ignore":{"5": true}}]</code></li></ul></li><li><code>ignore</code>: Select specific servers to exclude, used with <code>cover</code>, content is server ID and boolean value, e.g., <code>{"1": true, "2": false}</code></li></ul><p><strong>Complete Examples:</strong></p><p>Add an offline notification:</p><ul><li>Name: Offline Notification</li><li>Rule: <code>[{"Type":"offline","Duration":10}]</code></li><li>Enabled: √</li></ul><p>Add an notification for CPU usage exceeding 50% for 10 seconds <strong>and</strong> memory usage below 20% for 20 seconds:</p><ul><li>Name: CPU+Memory</li><li>Rule: <code>[{"Type":"cpu","Min":0,"Max":50,"Duration":10},{"Type":"memory","Min":20,"Max":0,"Duration":20}]</code></li><li>Enabled: √</li></ul><p>Send notifications for specific servers to specific notification groups:</p><p>Scenario example:<br> There are 4 servers (1, 2, 3, 4) and two notification groups (A, B).<br> Notify group A if servers 1 and 2 are offline for 10 minutes.<br> Notify group B if servers 3 and 4 are offline for 10 minutes.</p><p>First, set up notification groups A and B, then add two notification rules:</p><p><strong>Rule 1:</strong></p><ul><li>Name: 1, 2 Offline, Send to Notification Group A</li><li>Rule: <code>[{"type":"offline","duration":600,"cover":1,"ignore":{"1":true,"2":true}}]</code></li><li>Notification Group: A</li><li>Enabled: √</li></ul><p><strong>Rule 2:</strong></p><ul><li>Name: 3, 4 Offline, Send to NotificLine truncated
|
||||
<script>window.__VP_HASH_MAP__=JSON.parse("{\"case_case7.md\":\"6cChwEfJ\",\"case_case3.md\":\"fxzlZUAN\",\"case_case4.md\":\"B0vWmFYy\",\"case_case6.md\":\"Bw-zV225\",\"case_index.md\":\"gBW4jimd\",\"case_case2.md\":\"DjwwlmIy\",\"case_case5.md\":\"CdtrzqFW\",\"case_case1.md\":\"M3C2KNWp\",\"en_us_case_case4.md\":\"D55SVrCB\",\"en_us_guide_q2.md\":\"bPwPREIA\",\"developer_index.md\":\"D2JHvSkF\",\"developer_theme.md\":\"CP379Euc\",\"developer_l10n.md\":\"CdSLma6l\",\"en_us_guide_q7.md\":\"DU7Bzvym\",\"en_us_guide_q9.md\":\"CwAZ7R87\",\"en_us_guide_servers.md\":\"Dqx9H4go\",\"en_us_guide_q8.md\":\"Bc6tpWDC\",\"en_us_case_case7.md\":\"BHoFIrJp\",\"en_us_case_case3.md\":\"9V4Dk1L2\",\"en_us_guide_services.md\":\"CTe9cKjI\",\"en_us_case_case5.md\":\"BD6PEfX8\",\"en_us_guide_q4.md\":\"96d3j1q9\",\"en_us_guide_q11.md\":\"BKzRQhxF\",\"en_us_developer_index.md\":\"XepQhiE5\",\"en_us_case_case2.md\":\"Bptxwhvl\",\"guide_dashboard.md\":\"CN4VcIq3\",\"guide_nat.md\":\"D1zV4ihE\",\"en_us_guide_tasks.md\":\"COkg9ZNi\",\"guide_q1.md\":\"COkY_NIa\",\"guide_q10.md\":\"sA2rYTmV\",\"guide_q6.md\":\"5CZ0fAcj\",\"guide_loginq.md\":\"GrUfv2ET\",\"guide_q8.md\":\"pvhgegai\",\"guide_q5.md\":\"BRbNM_FE\",\"guide_notifications.md\":\"Cg4e0OYJ\",\"guide_q2.md\":\"vaLrSnWI\",\"en_us_case_case1.md\":\"ww6ymFTN\",\"en_us_case_index.md\":\"-INL2u0H\",\"en_us_guide_q3.md\":\"BDcrTXwz\",\"en_us_guide_q5.md\":\"yOCFfOYG\",\"en_us_guide_q6.md\":\"BtNWQIyi\",\"en_us_guide_q10.md\":\"DC_XYYD-\",\"en_us_case_case6.md\":\"Tt25dK1K\",\"guide_api.md\":\"DaQtSFJ-\",\"en_us_guide_notifications.md\":\"DdaL2aPO\",\"en_us_index.md\":\"B9uNPiC8\",\"en_us_guide_agentq.md\":\"BwDNq8d8\",\"guide_agent.md\":\"DkntxfcR\",\"index.md\":\"7ObjfFEE\",\"guide_q11.md\":\"Dg3wbWwi\",\"en_us_guide_nat.md\":\"hZ0TGBtr\",\"guide_tasks.md\":\"6GF3j2no\",\"en_us_developer_theme.md\":\"CYN4ZhWw\",\"guide_q9.md\":\"DnGLyjlv\",\"guide_q4.md\":\"DW18h5Bt\",\"en_us_guide_dashboard.md\":\"X-7AnKb6\",\"guide_services.md\":\"CDIRiE-o\",\"en_us_developer_l10n.md\":\"BHcBq09r\",\"guide_q7.md\":\"BEzKe68J\",\"en_us_guide_dashboardq.md\":\"BnlXm5hf\",\"en_us_guide_loginq.md\":\"OsgANYt_\",\"guide_agentq.md\":\"D13x5R1v\",\"en_us_guide_settings.md\":\"D_ArQu5i\",\"guide_dashboardq.md\":\"CjocQWbI\",\"guide_q3.md\":\"ChN1Wk7m\",\"en_us_guide_api.md\":\"CSzVvAPT\",\"guide_servers.md\":\"QoNfIBnl\",\"en_us_guide_agent.md\":\"CTJipQbI\",\"guide_settings.md\":\"OZmpn91g\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"zh-CN\",\"dir\":\"ltr\",\"title\":\"VitePress\",\"description\":\"A VitePress site\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":{\"src\":\"/logo.png\",\"width\":24,\"height\":24,\"alt\":\"NezhaLogo\"},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/nezhahq/nezhahq.github.io\"},{\"icon\":{\"svg\":\"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 496 512\\\"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d=\\\"M248 8C111 8 0 119 0 256S111 504 248 504 496 393 496 256 385 8 248 8zM363 176.7c-3.7 39.2-19.9 134.4-28.1 178.3-3.5 18.6-10.3 24.8-16.9 25.4-14.4 1.3-25.3-9.5-39.3-18.7-21.8-14.3-34.2-23.2-55.3-37.2-24.5-16.1-8.6-25 5.3-39.5 3.7-3.8 67.1-61.5 68.3-66.7 .2-.7 .3-3.1-1.2-4.4s-3.6-.8-5.1-.5q-3.3 .7-104.6 69.1-14.8 10.2-26.9 9.9c-8.9-.2-25.9-5-38.6-9.1-15.5-5-27.9-7.7-26.8-16.3q.8-6.7 18.5-13.7 108.4-47.2 144.6-62.3c68.9-28.6 83.2-33.6 92.5-33.8 2.1 0 6.6 .5 9.6 2.9a10.5 10.5 0 0 1 3.5 6.7A43.8 43.8 0 0 1 363 176.7z\\\"/></svg>\"},\"link\":\"https://t.me/nezhanews\"}],\"search\":{\"provider\":\"algolia\",\"options\":{\"appId\":\"HP6QF6KMZD\",\"apiKey\":\"fb8bae9ed373d1057e0c07fcf32b3f1a\",\"indexName\":\"nezhahq\",\"locales\":{\"root\":{\"placeholder\":\"搜索文档\",\"translations\":{\"button\":{\"buttonText\":\"搜索文档\",\"buttonAriaLabel\":\"搜索文档\"},\"modal\":{\"searchBox\":{\"resetButtonTitle\":\"清除查询条件\",\"resetButtonAriaLabel\":\"清除查询条件\",\"cancelButtonText\":\"取消\",\"cancelButtonAriaLabel\":\"取消\"},\"startScreen\":{\"recentSearchesTitle\":\"搜索历史\",\"noRecentSearchesText\":\"没有搜索历史\",\"saveRecentSearchButtonTitle\":\"保存至搜索历史\",\"removeRecentSearchButtonTitle\":\"从搜索历史中移除\",\"favoriteSearchesTitle\":\"收藏\",\"removeFavoriteSearchButtonTitle\":\"从收藏中移除\"},\"errorScreen\":{\"titleText\":\"无法获取结果\",\"helpText\":\"你可能需要检查你的网络连接\"},\"footer\":{\"selectText\":\"选择\",\"navigateText\":\"切换\",\"closeText\":\"关闭\",\"searchByText\":\"搜索提供者\"},\"noResultsScreen\":{\"noResultsText\":\"无法找到相关结果\",\"suggestedQueryText\":\"你可以尝试查询\",\"reportMissingResultsText\":\"你认为该查询应该有结果?\",\"reportMissingResultsLinkText\":\"点击反馈\"}}}}}}},\"footer\":{Line truncated
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div></li></ul><h4 id="usage-steps" tabindex="-1">Usage Steps <a class="header-anchor" href="#usage-steps" aria-label="Permalink to "Usage Steps""></a></h4><ol><li><strong>Replace Variables</strong>: Replace <code>$YOUR_HOME_SERVER</code>, <code>$YOUR_NEZHA_URL</code>, <code>$YOUR_MATRIX_USERNAME</code>, <code>$YOUR_MATRIX_PASSWD</code>, and <code>$YOUR_MATRIX_TOKEN</code> with your own values.</li><li><strong>Retrieve Token</strong>: Use the <code>curl</code> command provided above to get <code>YOUR_MATRIX_TOKEN</code>, making sure to replace all relevant variables.</li><li><strong>Configure Request</strong>: Set up your request using the configuration provided above, ensuring the correct URL, headers, and body are used.</li><li><strong>Send Notification</strong>: Send the Matrix message using the configured request to integrate Nezha monitoring notifications into your Matrix room.</li></ol><p>Once configured, you will receive formatted Nezha dashboard information in your Matrix room whenever a notification is triggered.</p></details><h2 id="notification-rule-explanation" tabindex="-1">Notification Rule Explanation <a class="header-anchor" href="#notification-rule-explanation" aria-label="Permalink to "Notification Rule Explanation""></a></h2><h3 id="basic-rules" tabindex="-1">Basic Rules <a class="header-anchor" href="#basic-rules" aria-label="Permalink to "Basic Rules""></a></h3><ul><li><code>type</code>: You can choose one or more types. If multiple types are selected in one rule, <strong>all selected types must be satisfied</strong> to trigger a notification (refer to the examples below) <ul><li><code>cpu</code>, <code>gpu</code>, <code>memory</code>, <code>swap</code>, <code>disk</code></li><li><code>net_in_speed</code> inbound network speed, <code>net_out_speed</code> outbound network speed, <code>net_all_speed</code> total network speed, <code>transfer_in</code> inbound traffic, <code>transfer_out</code> outbound traffic, <code>transfer_all</code> total traffic</li><li><code>offline</code> offline monitoring</li><li><code>load1</code>, <code>load5</code>, <code>load15</code> load</li><li><code>process_count</code> process count (currently resource-intensive due to thread count, not supported temporarily)</li><li><code>tcp_conn_count</code>, <code>udp_conn_count</code> connection count</li><li><code>temperature_max</code> maximum temperature</li></ul></li><li><code>duration</code>: Duration in seconds. An notification is triggered if 30% or more of the samples exceed the threshold within this duration (to prevent data spikes).</li><li><code>min</code> or <code>max</code>: <ul><li>For traffic and network speed, the unit is bytes (1KB = 1024B, 1MB = 1024 * 1024B)</li><li>For memory, disk, and CPU, the unit is percentage</li><li>No need to set this for offline monitoring</li></ul></li><li><code>cover</code>: <ul><li><code>0</code> monitors all servers, use <code>ignore</code> to exclude specific servers</li><li><code>1</code> ignores all servers, use <code>ignore</code> to monitor specific servers<br> Example: <code>[{"type":"offline","duration":10, "cover":0, "ignore":{"5": true}}]</code></li></ul></li><li><code>ignore</code>: Select specific servers to exclude, used with <code>cover</code>, content is server ID and boolean value, e.g., <code>{"1": true, "2": false}</code></li></ul><p><strong>Complete Examples:</strong></p><p>Add an offline notification:</p><ul><li>Name: Offline Notification</li><li>Rule: <code>[{"Type":"offline","Duration":10}]</code></li><li>Enabled: √</li></ul><p>Add an notification for CPU usage exceeding 50% for 10 seconds <strong>and</strong> memory usage below 20% for 20 seconds:</p><ul><li>Name: CPU+Memory</li><li>Rule: <code>[{"Type":"cpu","Min":0,"Max":50,"Duration":10},{"Type":"memory","Min":20,"Max":0,"Duration":20}]</code></li><li>Enabled: √</li></ul><p>Send notifications for specific servers to specific notification groups:</p><p>Scenario example:<br> There are 4 servers (1, 2, 3, 4) and two notification groups (A, B).<br> Notify group A if servers 1 and 2 are offline for 10 minutes.<br> Notify group B if servers 3 and 4 are offline for 10 minutes.</p><p>First, set up notification groups A and B, then add two notification rules:</p><p><strong>Rule 1:</strong></p><ul><li>Name: 1, 2 Offline, Send to Notification Group A</li><li>Rule: <code>[{"type":"offline","duration":600,"cover":1,"ignore":{"1":true,"2":true}}]</code></li><li>Notification Group: A</li><li>Enabled: √</li></ul><p><strong>Rule 2:</strong></p><ul><li>Name: 3, 4 Offline, Send to NotificLine truncated
|
||||
<script>window.__VP_HASH_MAP__=JSON.parse("{\"en_us_developer_index.md\":\"BagHKt5z\",\"en_us_case_case4.md\":\"KAg6RmhE\",\"en_us_case_case6.md\":\"CFTN2z_J\",\"case_case6.md\":\"CFX4Zg5e\",\"en_us_case_index.md\":\"BkIE3PVD\",\"en_us_guide_q3.md\":\"CKp0_I8G\",\"en_us_guide_q4.md\":\"CKZMWmUd\",\"en_us_guide_q5.md\":\"D44BB9ba\",\"en_us_guide_q6.md\":\"Ctf9z8EJ\",\"en_us_index.md\":\"mr9VkuZS\",\"en_us_guide_services.md\":\"CGz11Vkx\",\"en_us_developer_theme.md\":\"DVOORhtP\",\"en_us_guide_q7.md\":\"pF4cU85l\",\"developer_l10n.md\":\"kRVKrI3T\",\"en_us_guide_dashboardq.md\":\"IPdi6se7\",\"en_us_guide_q9.md\":\"CIA2gRgF\",\"en_us_guide_agentq.md\":\"_qnpVzsq\",\"en_us_guide_servers.md\":\"12YNlr-5\",\"case_case5.md\":\"B2OnGdNF\",\"en_us_guide_tasks.md\":\"C4S3ZN8i\",\"en_us_case_case7.md\":\"CMC2B7ec\",\"en_us_case_case5.md\":\"D96_RM2g\",\"guide_services.md\":\"CZUriXLN\",\"index.md\":\"HZSrUuid\",\"guide_q2.md\":\"NqQMa1pX\",\"guide_q11.md\":\"CAaivYdE\",\"guide_q8.md\":\"Bo3tB29F\",\"guide_nat.md\":\"BqSqcqfq\",\"guide_servers.md\":\"IZASucPE\",\"guide_q1.md\":\"tkHpRUHz\",\"guide_q10.md\":\"CiHFXH10\",\"guide_tasks.md\":\"D2VVZVl7\",\"en_us_guide_api.md\":\"Cawi6voG\",\"case_case3.md\":\"Cwz-nvlj\",\"case_case4.md\":\"D2BgB388\",\"en_us_guide_q8.md\":\"3bJ1ZIRI\",\"en_us_guide_ddns.md\":\"6nZIjYtr\",\"en_us_guide_dashboard.md\":\"BielyVbG\",\"en_us_guide_q10.md\":\"C__GRy_W\",\"en_us_guide_q11.md\":\"C-DQJz_m\",\"en_us_developer_l10n.md\":\"vfeOPbxi\",\"guide_loginq.md\":\"yUFMbfqG\",\"guide_q9.md\":\"CtISo-bs\",\"en_us_case_case2.md\":\"uYjTlGlT\",\"case_case1.md\":\"BO7QWNCi\",\"en_us_guide_settings.md\":\"Dq-Ew3Hi\",\"guide_settings.md\":\"hwEigasg\",\"case_case2.md\":\"Za858jHn\",\"developer_theme.md\":\"tF1-gdrj\",\"en_us_guide_nat.md\":\"DBFDoVmn\",\"guide_api.md\":\"CpYmyumH\",\"guide_dashboardq.md\":\"CILkO_87\",\"guide_agent.md\":\"CedkV2xR\",\"guide_dashboard.md\":\"py-xbhqq\",\"en_us_guide_notifications.md\":\"utQO2rHS\",\"case_index.md\":\"ZBDPE_nf\",\"guide_q6.md\":\"ChEEkP6e\",\"guide_notifications.md\":\"D8O-oxqy\",\"en_us_guide_loginq.md\":\"Djq7-x5G\",\"en_us_guide_agent.md\":\"CYIblq9N\",\"guide_q5.md\":\"BhG6epdT\",\"en_us_guide_q2.md\":\"DFax3d0t\",\"guide_q4.md\":\"DxGliU7e\",\"en_us_case_case1.md\":\"Cm-flBR_\",\"guide_q7.md\":\"BVB-yZeA\",\"guide_q3.md\":\"DqJUH1dj\",\"guide_agentq.md\":\"C0muPEeI\",\"guide_ddns.md\":\"7RHj3JAy\",\"developer_index.md\":\"BjvTaf2h\",\"case_case7.md\":\"XOUEFdq9\",\"en_us_case_case3.md\":\"yecjREhv\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"zh-CN\",\"dir\":\"ltr\",\"title\":\"VitePress\",\"description\":\"A VitePress site\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":{\"src\":\"/logo.png\",\"width\":24,\"height\":24,\"alt\":\"NezhaLogo\"},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/nezhahq/nezhahq.github.io\"},{\"icon\":{\"svg\":\"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 496 512\\\"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d=\\\"M248 8C111 8 0 119 0 256S111 504 248 504 496 393 496 256 385 8 248 8zM363 176.7c-3.7 39.2-19.9 134.4-28.1 178.3-3.5 18.6-10.3 24.8-16.9 25.4-14.4 1.3-25.3-9.5-39.3-18.7-21.8-14.3-34.2-23.2-55.3-37.2-24.5-16.1-8.6-25 5.3-39.5 3.7-3.8 67.1-61.5 68.3-66.7 .2-.7 .3-3.1-1.2-4.4s-3.6-.8-5.1-.5q-3.3 .7-104.6 69.1-14.8 10.2-26.9 9.9c-8.9-.2-25.9-5-38.6-9.1-15.5-5-27.9-7.7-26.8-16.3q.8-6.7 18.5-13.7 108.4-47.2 144.6-62.3c68.9-28.6 83.2-33.6 92.5-33.8 2.1 0 6.6 .5 9.6 2.9a10.5 10.5 0 0 1 3.5 6.7A43.8 43.8 0 0 1 363 176.7z\\\"/></svg>\"},\"link\":\"https://t.me/nezhanews\"}],\"search\":{\"provider\":\"algolia\",\"options\":{\"appId\":\"HP6QF6KMZD\",\"apiKey\":\"fb8bae9ed373d1057e0c07fcf32b3f1a\",\"indexName\":\"nezhahq\",\"locales\":{\"root\":{\"placeholder\":\"搜索文档\",\"translations\":{\"button\":{\"buttonText\":\"搜索文档\",\"buttonAriaLabel\":\"搜索文档\"},\"modal\":{\"searchBox\":{\"resetButtonTitle\":\"清除查询条件\",\"resetButtonAriaLabel\":\"清除查询条件\",\"cancelButtonText\":\"取消\",\"cancelButtonAriaLabel\":\"取消\"},\"startScreen\":{\"recentSearchesTitle\":\"搜索历史\",\"noRecentSearchesText\":\"没有搜索历史\",\"saveRecentSearchButtonTitle\":\"保存至搜索历史\",\"removeRecentSearchButtonTitle\":\"从搜索历史中移除\",\"favoriteSearchesTitle\":\"收藏\",\"removeFavoriteSearchButtonTitle\":\"从收藏中移除\"},\"errorScreen\":{\"titleText\":\"无法获取结果\",\"helpText\":\"你可能需要检查你的网络连接\"},\"footer\":{\"selectText\":\"选择\",\"navigateText\":\"切换\",\"closeText\":\"关闭\",\"searchByText\":\"搜索提供者\"},\"noResultsScreen\":{\"noResultsText\":\"无法找到相关结果\",\"suggestedQueryText\":\"你可以尝试查询\",\"reportMissingResultsText\":\"你认为该查询应该有结果?\",\Line truncated
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user