This commit is contained in:
naiba committed 2023-09-25 02:26:04 +00:00
1 parent 1f418124d8
commit b99bae96a2
167 files changed
+299 -279

No files matched your search

+3 -3
View File
@@ -10,7 +10,7 @@
<link rel="preload" href="/assets/inter-roman-latin.2ed14f66.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/framework.1625126e.js">
<link rel="modulepreload" href="/assets/chunks/theme.776be62d.js">
<link rel="modulepreload" href="/assets/en_US_guide_notifications.md.fa02a147.lean.js">
<link rel="modulepreload" href="/assets/en_US_guide_notifications.md.f1448b4d.lean.js">
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
</head>
<body>
@@ -53,8 +53,8 @@
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C792EA;">markdown</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#FFCB6B;">content</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;"># Nezha Notification</span><span style="color:#A6ACCD;">\n\n\&quot;</span><span style="color:#C3E88D;">#NEZHA#</span><span style="color:#A6ACCD;">\&quot;\n\n</span><span style="color:#C3E88D;">&gt; ServerName: </span><span style="color:#A6ACCD;">\&quot;</span><span style="color:#C3E88D;">#SERVER.NAME#</span><span style="color:#A6ACCD;">\&quot;\n</span><span style="color:#C3E88D;">&gt; IP: </span><span style="color:#A6ACCD;">\&quot;</span><span style="color:#C3E88D;">#SERVER.IP#</span><span style="color:#A6ACCD;">\&quot;\n</span><span style="color:#C3E88D;">&gt; IPv4: </span><span style="color:#A6ACCD;">\&quot;</span><span style="color:#C3E88D;">#SERVER.IPV4#</span><span style="color:#A6ACCD;">\&quot;\n</span><span style="color:#C3E88D;">&gt; IPv6: </span><span style="color:#A6ACCD;">\&quot;</span><span style="color:#C3E88D;">#SERVER.IPV6#</span><span style="color:#A6ACCD;">\&quot;\n</span><span style="color:#C3E88D;">&gt; CPU: </span><span style="color:#A6ACCD;">\&quot;</span><span style="color:#C3E88D;">#SERVER.CPU#</span><span style="color:#A6ACCD;">\&quot;\n</span><span style="color:#C3E88D;">&gt; Memory: </span><span style="color:#A6ACCD;">\&quot;</span><span style="color:#C3E88D;">#SERVER.MEM#</span><span style="color:#A6ACCD;">\&quot;\n</span><span style="color:#C3E88D;">&gt; SWAP: </span><span style="color:#A6ACCD;">\&quot;</span><span style="color:#C3E88D;">#SERVER.SWAP#</span><span style="color:#A6ACCD;">\&quot;\n</span><span style="color:#C3E88D;">&gt; Storage: </span><span style="color:#A6ACCD;">\&quot;</span><span style="color:#C3E88D;">#SERVER.DISK#</span><span style="color:#A6ACCD;">\&quot;\n</span><span style="color:#C3E88D;">&gt; Real-time Upload: </span><span style="color:#A6ACCD;">\&quot;</span><span style="color:#C3E88D;">#SERVER.NETINSPEED#</span><span style="color:#A6ACCD;">\&quot;\n</span><span style="color:#C3E88D;">&gt; Real-time Download: </span><span style="color:#A6ACCD;">\&quot;</span><span style="color:#C3E88D;">#SERVER.NETOUTSPEED#</span><span style="color:#A6ACCD;">\&quot;\n</span><span style="color:#C3E88D;">&gt; Total Upload: </span><span style="color:#A6ACCD;">\&quot;</span><span style="color:#C3E88D;">#SERVER.TRANSFERIN#</span><span style="color:#A6ACCD;">\&quot;\n</span><span style="color:#C3E88D;">&gt; Total Download: </span><span style="color:#A6ACCD;">\&quot;</span><span style="color:#C3E88D;">#SERVER.TRANSFEROUT#</span><span style="color:#A6ACCD;">\&quot;\n</span><span style="color:#C3E88D;">&gt; 1m Load: </span><span style="color:#A6ACCD;">\&quot;</span><span style="color:#C3E88D;">#SERVER.LOAD1#</span><span style="color:#A6ACCD;">\&quot;\n</span><span style="color:#C3E88D;">&gt; 5m Load: </span><span style="color:#A6ACCD;">\&quot;</span><span style="color:#C3E88D;">#SERVER.LOAD5#</span><span style="color:#A6ACCD;">\&quot;\n</span><span style="color:#C3E88D;">&gt; 15m Load: </span><span style="color:#A6ACCD;">\&quot;</span><span style="color:#C3E88D;">#SERVER.LOAD15#</span><span style="color:#A6ACCD;">\&quot;\n</span><span style="color:#C3E88D;">&gt; TCP Connections: </span><span style="color:#A6ACCD;">\&quot;</span><span style="color:#C3E88D;">#SERVER.TCPCONNCOUNT</span><span style="color:#A6ACCD;">\&quot;\n</span><span style="color:#C3E88D;">&gt; UDP Connections: </span><span style="color:#A6ACCD;">\&quot;</span><span style="color:#C3E88D;">#SERVER.UDPCONNCOUNT</span><span style="color:#A6ACCD;">\&quot;\n\n</span><span style="color:#89DDFF;">&quot;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">}</span></span>
<span class="line"><span style="color:#89DDFF;">}</span></span></code></pre></div><p>Delete relevant content information as needed</p><p><img src="https://user-images.githubusercontent.com/30169860/223605886-b7736825-24b8-4b6c-8bc9-96ac388599ef.png" alt="Notice Picture"></p></li></ul></li></ul><br><br><h2 id="description-of-notification-rules" tabindex="-1">Description of notification rules <a class="header-anchor" href="#description-of-notification-rules" aria-label="Permalink to &quot;Description of notification rules&quot;">​</a></h2><h3 id="basic-rules" tabindex="-1">Basic Rules <a class="header-anchor" href="#basic-rules" aria-label="Permalink to &quot;Basic Rules&quot;">​</a></h3><ul><li>Type: one or more types can be selected, such as in a rule to select more than one type, you need to <strong>meet all the selected types at the same time</strong> to trigger the notification (see the example later) <ul><li><code>cpu</code>、<code>memory</code>、<code>swap</code>、<code>disk</code></li><li><code>net_in_speed</code> Inbound speed, <code>net_out_speed</code> Outbound speed, <code>net_all_speed</code> Inbound + Outbound speed, <code>transfer_in</code> Inbound Transfer, <code>transfer_out</code> Outbound Transfer, <code>transfer_all</code> Total Transfer</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> Number of processes <em>Currently, counting the number of processes takes up too many resources and is not supported at the moment</em></li><li><code>tcp_conn_count</code>、<code>udp_conn_count</code> Number of connections</li></ul></li><li>duration:Lasting for a few seconds, the notification will only be triggered when the sampling record reaches 30% or more within a few seconds</li><li>min/max <ul><li>Transfer, network speed, and other values of the same type. Unit is byte (1KB=1024B,1MB = 1024*1024B)</li><li>Memory, hard disk, CPU. units are usage percentages</li><li>No setup required for offline monitoring</li></ul></li><li>cover <code>[{&quot;type&quot;:&quot;offline&quot;,&quot;duration&quot;:10, &quot;cover&quot;:0, &quot;ignore&quot;:{&quot;5&quot;: true}}]</code><ul><li><code>0</code> Cover all, use <code>ignore</code> to ignore specific servers</li><li><code>1</code> Ignore all, use <code>ignore</code> to monitoring specific servers<br> For example: <code>[{&quot;type&quot;:&quot;offline&quot;,&quot;duration&quot;:10, &quot;cover&quot;:0, &quot;ignore&quot;:{&quot;5&quot;: true}}]</code></li></ul></li><li>ignore: Select to ignore specific servers, use with <code>cover</code> with server id and boolean, e.g.: <code>{&quot;1&quot;: true, &quot;2&quot;:false}</code></li></ul><p><strong>Complete examples:</strong></p><blockquote><blockquote><p>Add an offline notification</p></blockquote><ul><li>Name: Offline notification</li><li>Rules: <code>[{&quot;Type&quot;:&quot;offline&quot;,&quot;Duration&quot;:10}]</code></li><li>Enable: √</li></ul></blockquote><blockquote><blockquote><p>Add an notification when the CPU exceeds 50% for 10s <strong>but</strong> the memory usage is below 20% for 20s</p></blockquote><ul><li>Name: CPU and RAM</li><li>Rules: <code>[{&quot;Type&quot;:&quot;cpu&quot;,&quot;Min&quot;:0,&quot;Max&quot;:50,&quot;Duration&quot;:10},{&quot;Type&quot;:&quot;memory&quot;,&quot;Min&quot;:20,&quot;Max&quot;:0,&quot;Duration&quot;:20}]</code></li><li>Enable: √</li></ul></blockquote><blockquote><blockquote><p>Send specific server notifications to specific notification groups</p></blockquote><p>Case:<br> You have four servers, 1, 2, 3, 4, and two different notification groups, A and B<br> 1, 2 The two servers are down for 10 minutes and send a notification to Notification Group A<br> 3, 4 These two servers are down for ten minutes and then send a notification to Notification Group B</p><p>First you need to set up two notification groups, A and B, and then add two alarm rules:</p><p><strong>Rule I:</strong></p><ul><li>Name: 1, 2 Off-line, send notification to group A</li><li>Rules:<code>[{&quot;type&quot;:&quot;offline&quot;,&quot;duration&quot;:600,&quot;cover&quot;:1,&quot;ignore&quot;:{&quot;1&quot;:true,&quot;2&quot;:true}}]</code></li><li>Notification group: A</li><li>Enable: √</li></ul><p><strong>Rule II:</strong></p><ul><li>Name: 3, 4 Off-line, send notification to group B</li><li>Rules:<code>[{&quot;type&quot;:&quot;offline&quot;,&quot;duration&quot;:600,&quot;cover&quot;:1,&quot;ignore&quot;:{&quot;3&quot;:true,&quot;4&quot;:true}}]</code></li><li>Notification group: B</li><li>Enable: √</li></ul></blockquote><p><strong>Using these rules flexibly will help you to make full use of the notification function</strong></p><br><h3 id="special-any-cycle-transfer-notification" tabindex="-1">Special: Any-cycle transfer notification <a class="header-anchor" href="#special-any-cycle-transfer-notification" aria-label="Permalink to &quot;Special: Any-cycle transfer notificatiLine truncated
<script>__VP_HASH_MAP__ = JSON.parse("{\"en_us_guide_q7.md\":\"59607a8e\",\"en_us_guide_servers.md\":\"ba249cfd\",\"en_us_guide_q4.md\":\"eba37485\",\"en_us_guide_q5.md\":\"8c158a4d\",\"en_us_guide_q3.md\":\"d21d6016\",\"en_us_guide_services.md\":\"d1ab9e6b\",\"en_us_guide_q6.md\":\"372ef657\",\"en_us_guide_dashboardq.md\":\"ee464114\",\"en_us_guide_notifications.md\":\"fa02a147\",\"en_us_case_case5.md\":\"cfa48121\",\"guide_agent.md\":\"080ea210\",\"guide_q2.md\":\"6415b170\",\"en_us_guide_loginq.md\":\"21eb3f95\",\"guide_q7.md\":\"66679f6d\",\"guide_q6.md\":\"a0215a1c\",\"guide_dashboard.md\":\"3c4179ba\",\"guide_loginq.md\":\"f7ebb972\",\"en_us_guide_settings.md\":\"6426a6ad\",\"guide_q4.md\":\"36828eda\",\"guide_tasks.md\":\"cdc60267\",\"en_us_guide_tasks.md\":\"8a459203\",\"guide_agentq.md\":\"a5efd969\",\"guide_services.md\":\"57d7b425\",\"guide_q3.md\":\"e646a6bd\",\"guide_q5.md\":\"ed93f578\",\"guide_settings.md\":\"5b9df869\",\"guide_q1.md\":\"0c0b334a\",\"en_us_index.md\":\"a4605cd4\",\"en_us_guide_q2.md\":\"91d533fc\",\"guide_dashboardq.md\":\"b884929b\",\"guide_servers.md\":\"9e84fb36\",\"index.md\":\"b1000da2\",\"en_us_guide_agentq.md\":\"786e040e\",\"developer_index.md\":\"d09b0610\",\"en_us_guide_dashboard.md\":\"eecfdf05\",\"case_case1.md\":\"57daa004\",\"case_case2.md\":\"226b1184\",\"guide_api.md\":\"85666039\",\"case_case3.md\":\"aaacb187\",\"case_case4.md\":\"f9efc87a\",\"case_case5.md\":\"cdbca667\",\"case_index.md\":\"877e7524\",\"developer_l10n.md\":\"89b2361f\",\"developer_theme.md\":\"7bb5653c\",\"en_us_case_case1.md\":\"bd95d76d\",\"en_us_case_case2.md\":\"9d97029e\",\"en_us_case_case3.md\":\"995adc82\",\"guide_notifications.md\":\"e0d9d014\",\"en_us_developer_theme.md\":\"0373f5d6\",\"en_us_case_index.md\":\"f6a14830\",\"en_us_developer_index.md\":\"28ea9c0a\",\"en_us_developer_l10n.md\":\"eff23c46\",\"en_us_guide_agent.md\":\"e1a6ff94\",\"en_us_guide_api.md\":\"4edce7fe\",\"en_us_case_case4.md\":\"4b4275f1\"}")
<span class="line"><span style="color:#89DDFF;">}</span></span></code></pre></div><p>Delete relevant content information as needed</p><p><img src="https://user-images.githubusercontent.com/30169860/223605886-b7736825-24b8-4b6c-8bc9-96ac388599ef.png" alt="Notice Picture"></p></li></ul></li></ul><br><br><h2 id="description-of-notification-rules" tabindex="-1">Description of notification rules <a class="header-anchor" href="#description-of-notification-rules" aria-label="Permalink to &quot;Description of notification rules&quot;">​</a></h2><h3 id="basic-rules" tabindex="-1">Basic Rules <a class="header-anchor" href="#basic-rules" aria-label="Permalink to &quot;Basic Rules&quot;">​</a></h3><ul><li>Type: one or more types can be selected, such as in a rule to select more than one type, you need to <strong>meet all the selected types at the same time</strong> to trigger the notification (see the example later) <ul><li><code>cpu</code>、<code>memory</code>、<code>swap</code>、<code>disk</code></li><li><code>net_in_speed</code> Inbound speed, <code>net_out_speed</code> Outbound speed, <code>net_all_speed</code> Inbound + Outbound speed, <code>transfer_in</code> Inbound Transfer, <code>transfer_out</code> Outbound Transfer, <code>transfer_all</code> Total Transfer</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> Number of processes <em>Currently, counting the number of processes takes up too many resources and is not supported at the moment</em></li><li><code>tcp_conn_count</code>、<code>udp_conn_count</code> Number of connections</li></ul></li><li>duration:Lasting for a few seconds, the notification will only be triggered when the sampling record reaches 30% or more within a few seconds</li><li>min/max <ul><li>Transfer, network speed, and other values of the same type. Unit is byte (1KB=1024B,1MB = 1024*1024B)</li><li>Memory, hard disk, CPU. units are usage percentages</li><li>No setup required for offline monitoring</li></ul></li><li>cover <code>[{&quot;type&quot;:&quot;offline&quot;,&quot;duration&quot;:10, &quot;cover&quot;:0, &quot;ignore&quot;:{&quot;5&quot;: true}}]</code><ul><li><code>0</code> Cover all, use <code>ignore</code> to ignore specific servers</li><li><code>1</code> Ignore all, use <code>ignore</code> to monitoring specific servers<br> For example: <code>[{&quot;type&quot;:&quot;offline&quot;,&quot;duration&quot;:10, &quot;cover&quot;:0, &quot;ignore&quot;:{&quot;5&quot;: true}}]</code></li></ul></li><li>ignore: Select to ignore specific servers, use with <code>cover</code> with server id and boolean, e.g.: <code>{&quot;1&quot;: true, &quot;2&quot;:false}</code></li></ul><p><strong>Complete examples:</strong></p><blockquote><blockquote><p>Add an offline notification</p></blockquote><ul><li>Name: Offline notification</li><li>Rules: <code>[{&quot;Type&quot;:&quot;offline&quot;,&quot;Duration&quot;:10}]</code></li><li>Enable: √</li></ul></blockquote><blockquote><blockquote><p>Add an notification when the CPU exceeds 50% for 10s <strong>but</strong> the memory usage is below 20% for 20s</p></blockquote><ul><li>Name: CPU and RAM</li><li>Rules: <code>[{&quot;Type&quot;:&quot;cpu&quot;,&quot;Min&quot;:0,&quot;Max&quot;:50,&quot;Duration&quot;:10},{&quot;Type&quot;:&quot;memory&quot;,&quot;Min&quot;:20,&quot;Max&quot;:0,&quot;Duration&quot;:20}]</code></li><li>Enable: √</li></ul></blockquote><blockquote><blockquote><p>Send specific server notifications to specific notification groups</p></blockquote><p>Case:<br> You have four servers, 1, 2, 3, 4, and two different notification groups, A and B<br> 1, 2 The two servers are down for 10 minutes and send a notification to Notification Group A<br> 3, 4 These two servers are down for ten minutes and then send a notification to Notification Group B</p><p>First you need to set up two notification groups, A and B, and then add two alarm rules:</p><p><strong>Rule I:</strong></p><ul><li>Name: 1, 2 Off-line, send notification to group A</li><li>Rules:<code>[{&quot;type&quot;:&quot;offline&quot;,&quot;duration&quot;:600,&quot;cover&quot;:1,&quot;ignore&quot;:{&quot;1&quot;:true,&quot;2&quot;:true}}]</code></li><li>Notification group: A</li><li>Enable: √</li></ul><p><strong>Rule II:</strong></p><ul><li>Name: 3, 4 Off-line, send notification to group B</li><li>Rules:<code>[{&quot;type&quot;:&quot;offline&quot;,&quot;duration&quot;:600,&quot;cover&quot;:1,&quot;ignore&quot;:{&quot;3&quot;:true,&quot;4&quot;:true}}]</code></li><li>Notification group: B</li><li>Enable: √</li></ul></blockquote><p><strong>Using these rules flexibly will help you to make full use of the notification function</strong></p><br><h3 id="special-any-cycle-transfer-notification" tabindex="-1">Special: Any-cycle transfer notification <a class="header-anchor" href="#special-any-cycle-transfer-notification" aria-label="Permalink to &quot;Special: Any-cycle transfer notificatiLine truncated
<script>__VP_HASH_MAP__ = JSON.parse("{\"case_case1.md\":\"72d9e007\",\"case_case2.md\":\"1901382b\",\"case_case4.md\":\"7c28e060\",\"case_case3.md\":\"735e605c\",\"case_case5.md\":\"fa575d37\",\"case_index.md\":\"cb87390a\",\"developer_index.md\":\"f5ca9a10\",\"developer_l10n.md\":\"4f2a87bc\",\"guide_q2.md\":\"71bc8d63\",\"en_us_case_case1.md\":\"6fdf4343\",\"en_us_case_case2.md\":\"8df9e418\",\"en_us_case_case3.md\":\"f41c2755\",\"en_us_case_case4.md\":\"ea4980df\",\"en_us_case_case5.md\":\"58dc5a3c\",\"en_us_case_index.md\":\"2cffd156\",\"en_us_developer_l10n.md\":\"27f92860\",\"en_us_developer_theme.md\":\"91a5f8ea\",\"en_us_guide_agentq.md\":\"46a333df\",\"en_us_guide_api.md\":\"7a6cfa84\",\"en_us_guide_dashboard.md\":\"e4ab257e\",\"en_us_guide_dashboardq.md\":\"54a3d434\",\"en_us_guide_loginq.md\":\"71f2af42\",\"en_us_guide_notifications.md\":\"f1448b4d\",\"en_us_guide_q2.md\":\"8b3617ad\",\"en_us_guide_q4.md\":\"799fab11\",\"en_us_guide_q5.md\":\"f6b97eb6\",\"en_us_guide_q6.md\":\"c7d53c51\",\"en_us_guide_q7.md\":\"87965f8c\",\"en_us_guide_servers.md\":\"232c6f2b\",\"en_us_guide_services.md\":\"b946b3ed\",\"en_us_guide_settings.md\":\"86e4e725\",\"en_us_guide_tasks.md\":\"0a64e6a2\",\"en_us_index.md\":\"d686da82\",\"guide_q4.md\":\"ebabc156\",\"guide_dashboard.md\":\"e3e15c79\",\"guide_dashboardq.md\":\"936b73b7\",\"guide_loginq.md\":\"f2a30012\",\"guide_notifications.md\":\"96525c24\",\"guide_q1.md\":\"ecee61d9\",\"en_us_guide_agent.md\":\"e82ca729\",\"developer_theme.md\":\"b009e12e\",\"guide_q3.md\":\"6e2e3c01\",\"guide_q6.md\":\"419385af\",\"guide_q7.md\":\"d429ee50\",\"guide_servers.md\":\"ac6c68ba\",\"guide_services.md\":\"743af3a9\",\"guide_agent.md\":\"75f5848a\",\"guide_q5.md\":\"f49b56a3\",\"en_us_developer_index.md\":\"0e0aeee6\",\"guide_settings.md\":\"674ffe36\",\"guide_tasks.md\":\"e2871a43\",\"index.md\":\"bde10d4f\",\"en_us_guide_q3.md\":\"3f8ec370\",\"guide_agentq.md\":\"99152d7c\",\"guide_api.md\":\"d49fd8a1\"}")
__VP_SITE_DATA__ = JSON.parse("{\"lang\":\"zh-CN\",\"dir\":\"ltr\",\"title\":\"VitePress\",\"description\":\"A VitePress site\",\"base\":\"/\",\"head\":[],\"appearance\":true,\"themeConfig\":{\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/nezhahq/nezhahq.github.io\"}],\"algolia\":{\"appId\":\"HP6QF6KMZD\",\"apiKey\":\"fb8bae9ed373d1057e0c07fcf32b3f1a\",\"indexName\":\"nezhahq\"},\"footer\":{\"message\":\"This work is licensed under a <a rel=\\\"license\\\" href=\\\"http://creativecommons.org/licenses/by-nc-sa/4.0/\\\">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) License\",\"copyright\":\"Copyright © 2022-present NezhaHQ\"}},\"locales\":{\"root\":{\"lang\":\"zh-CN\",\"label\":\"简体中文\",\"title\":\"哪吒监控\",\"description\":\"哪吒监控是一个轻量化的运维工具\",\"link\":\"/\",\"themeConfig\":{\"lastUpdatedText\":\"上次更新\",\"editLink\":{\"pattern\":\"https://github.com/nezhahq/nezhahq.github.io/edit/main/docs/:path\",\"text\":\"在GitHub中编辑\"},\"nav\":[{\"text\":\"使用指南\",\"link\":\"/\",\"activeMatch\":\"^/$|^/guide/\"},{\"text\":\"社区项目\",\"link\":\"/case/index.html\",\"activeMatch\":\"^/case/\"},{\"text\":\"开发手册\",\"link\":\"/developer/index.html\",\"activeMatch\":\"^/developer/\"}],\"sidebar\":{\"/\":[{\"text\":\"安装手册\",\"items\":[{\"text\":\"安装 Dashboard\",\"link\":\"/guide/dashboard.html\"},{\"text\":\"安装 Agent\",\"link\":\"/guide/agent.html\"}]},{\"text\":\"管理面板配置\",\"items\":[{\"text\":\"主机\",\"link\":\"/guide/servers.html\"},{\"text\":\"服务\",\"link\":\"/guide/services.html\"},{\"text\":\"定时任务\",\"link\":\"/guide/tasks.html\"},{\"text\":\"报警通知\",\"link\":\"/guide/notifications.html\"},{\"text\":\"设置\",\"link\":\"/guide/settings.html\"},{\"text\":\"API\",\"link\":\"/guide/api.html\"}]},{\"text\":\"常见问题\",\"items\":[{\"text\":\"TG api 被墙\",\"link\":\"/guide/q1.html\"},{\"text\":\"Agent 无法启动/上线 查看日志并进行排错的步骤\",\"link\":\"/guide/q2.html\"},{\"text\":\"反向代理 gRPC 端口的步骤\",\"link\":\"/guide/q3.html\"},{\"text\":\"实时通道断开/在线终端连接失败\",\"link\":\"/guide/q4.html\"},{\"text\":\"进行数据迁移、备份和恢复的步骤\",\"link\":\"/guide/q5.html\"},{\"text\":\"设置每月重置流量统计的步骤\",\"link\":\"/guide/q6.html\"},{\"text\":\"自定义 Agent 监控项目的步骤\",\"link\":\"/guide/q7.html\"}]},{\"text\":\"排障指南\",\"items\":[{\"text\":\"Dashboard 相关\",\"link\":\"/guide/dashboardq.html\"},{\"text\":\"Agent 相关\",\"link\":\"/guide/agentq.html\"},{\"text\":\"登录相关\",\"link\":\"/guide/loginq.html\"}]}],\"/guide/\":[{\"text\":\"安装手册\",\"items\":[{\"text\":\"安装 Dashboard\",\"link\":\"/guide/dashboard.html\"},{\"text\":\"安装 Agent\",\"link\":\"/guide/agent.html\"}]},{\"text\":\"管理面板配置\",\"items\":[{\"text\":\"主机\",\"link\":\"/guide/servers.html\"},{\"text\":\"服务\",\"link\":\"/guide/services.html\"},{\"text\":\"定时任务\",\"link\":\"/guide/tasks.html\"},{\"text\":\"报警通知\",\"link\":\"/guide/notifications.html\"},{\"text\":\"设置\",\"link\":\"/guide/settings.html\"},{\"text\":\"API\",\"link\":\"/guide/api.html\"}]},{\"text\":\"常见问题\",\"items\":[{\"text\":\"TG api 被墙\",\"link\":\"/guide/q1.html\"},{\"text\":\"Agent 无法启动/上线 查看日志并进行排错的步骤\",\"link\":\"/guide/q2.html\"},{\"text\":\"反向代理 gRPC 端口的步骤\",\"link\":\"/guide/q3.html\"},{\"text\":\"实时通道断开/在线终端连接失败\",\"link\":\"/guide/q4.html\"},{\"text\":\"进行数据迁移、备份和恢复的步骤\",\"link\":\"/guide/q5.html\"},{\"text\":\"设置每月重置流量统计的步骤\",\"link\":\"/guide/q6.html\"},{\"text\":\"自定义 Agent 监控项目的步骤\",\"link\":\"/guide/q7.html\"}]},{\"text\":\"排障指南\",\"items\":[{\"text\":\"Dashboard 相关\",\"link\":\"/guide/dashboardq.html\"},{\"text\":\"Agent 相关\",\"link\":\"/guide/agentq.html\"},{\"text\":\"登录相关\",\"link\":\"/guide/loginq.html\"}]}],\"/case/\":[{\"text\":\"社区项目\",\"items\":[{\"text\":\"1. 搭建哪吒 Telegram 机器人\",\"link\":\"/case/case1.html\"},{\"text\":\"2. 使用Siri语音运行快捷指令查询服务器状态\",\"link\":\"/case/case2.html\"},{\"text\":\"3. 自建多用户多语言 Telegram 服务器状态查询机器人\",\"link\":\"/case/case3.html\"},{\"text\":\"4. Fake-agent,监控数据作弊器\",\"link\":\"/case/case4.html\"},{\"text\":\"5. 使用 Argo 隧道的哪吒服务端\",\"link\":\"/case/case5.html\"}]}],\"/developer/\":[{\"text\":\"开发手册\",\"items\":[{\"text\":\"创建新主题\",\"link\":\"/developer/theme.html\"},{\"text\":\"l10n\",\"link\":\"/developer/l10n.html\"}]}]}}},\"en_US\":{\"lang\":\"en-US\",\"label\":\"English\",\"title\":\"Nezha Monitoring\",\"description\":\"Nezha Monitoring is a lightweight OLine truncated
</body>