This commit is contained in:
cantoblanco committed 2024-04-23 23:36:52 +00:00
1 parent 4a08d8ae0a
commit e67102d712
167 files changed
+272 -272

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.44fd0451.js">
<link rel="modulepreload" href="/assets/chunks/theme.ccb07a11.js">
<link rel="modulepreload" href="/assets/en_US_guide_notifications.md.426b6b7c.lean.js">
<link rel="modulepreload" href="/assets/en_US_guide_notifications.md.c8752ad3.lean.js">
<script src="https://cdn.wwads.cn/js/makemoney.js" async="true"></script>
<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>
@@ -54,8 +54,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></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 Line truncated
<script>__VP_HASH_MAP__ = JSON.parse("{\"case_case1.md\":\"d734ef91\",\"developer_index.md\":\"e05bb104\",\"developer_theme.md\":\"319396d9\",\"case_index.md\":\"e73b6740\",\"developer_l10n.md\":\"850d02b6\",\"case_case3.md\":\"64cac952\",\"en_us_case_case1.md\":\"65c6371f\",\"en_us_case_case3.md\":\"2af12fe9\",\"case_case4.md\":\"c7fc90cd\",\"en_us_developer_index.md\":\"d3056fa7\",\"en_us_guide_q3.md\":\"c1438c61\",\"en_us_case_case5.md\":\"587521b1\",\"en_us_guide_api.md\":\"0173ce63\",\"en_us_guide_dashboardq.md\":\"daa99c23\",\"en_us_case_case4.md\":\"339737ac\",\"en_us_developer_l10n.md\":\"aec11749\",\"case_case5.md\":\"43bb6fd6\",\"en_us_guide_notifications.md\":\"426b6b7c\",\"en_us_developer_theme.md\":\"b9c82d5c\",\"en_us_case_index.md\":\"b6f53be8\",\"en_us_guide_dashboard.md\":\"a17b8463\",\"en_us_guide_q2.md\":\"d6adb324\",\"case_case2.md\":\"2e6ba1b5\",\"en_us_case_case2.md\":\"b4d03099\",\"en_us_guide_agentq.md\":\"593c7535\",\"en_us_guide_loginq.md\":\"d74465fb\",\"en_us_guide_agent.md\":\"eaeeab40\",\"en_us_guide_q4.md\":\"18149d92\",\"guide_q5.md\":\"27811f9b\",\"en_us_guide_services.md\":\"f5b7509e\",\"en_us_guide_q7.md\":\"8167781d\",\"en_us_guide_tasks.md\":\"30a9d8d1\",\"en_us_index.md\":\"d6014a3b\",\"en_us_guide_settings.md\":\"f9641713\",\"guide_agentq.md\":\"0786d812\",\"en_us_guide_servers.md\":\"6a8763a9\",\"en_us_guide_q6.md\":\"d419e2e8\",\"guide_dashboard.md\":\"ef8deb2f\",\"guide_q2.md\":\"d28b55d3\",\"index.md\":\"9d879a70\",\"guide_api.md\":\"5347bb07\",\"guide_q3.md\":\"84268a46\",\"guide_services.md\":\"df34c41d\",\"en_us_guide_q5.md\":\"e6d4e28b\",\"guide_loginq.md\":\"49339b59\",\"guide_q6.md\":\"ff122b32\",\"guide_q4.md\":\"6255ae8e\",\"guide_notifications.md\":\"4dbc8a99\",\"guide_q7.md\":\"8ff1280a\",\"guide_settings.md\":\"36ebd5cf\",\"guide_tasks.md\":\"8b7e71d2\",\"guide_agent.md\":\"7983b20e\",\"guide_dashboardq.md\":\"8324c03d\",\"guide_servers.md\":\"a3210937\",\"guide_q1.md\":\"14b81a96\"}")
<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></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 Line truncated
<script>__VP_HASH_MAP__ = JSON.parse("{\"case_case4.md\":\"9e214439\",\"case_index.md\":\"31af1136\",\"developer_theme.md\":\"32ee4c38\",\"en_us_case_case1.md\":\"1dfdb32c\",\"en_us_case_case2.md\":\"ac9f45a9\",\"case_case2.md\":\"54a463b1\",\"case_case3.md\":\"14549eec\",\"en_us_case_case3.md\":\"a2be66a9\",\"en_us_case_case4.md\":\"2e75b299\",\"case_case5.md\":\"479485ad\",\"developer_l10n.md\":\"01df187f\",\"case_case1.md\":\"61eb2903\",\"developer_index.md\":\"6ee1d746\",\"en_us_developer_theme.md\":\"e82bbb41\",\"en_us_guide_agent.md\":\"3f3cbcdb\",\"en_us_guide_q3.md\":\"a52c54c7\",\"en_us_guide_q2.md\":\"c9085d1d\",\"en_us_case_case5.md\":\"3acd7ff3\",\"guide_q1.md\":\"99c135c6\",\"guide_dashboardq.md\":\"665a23d7\",\"guide_q2.md\":\"033ea08a\",\"guide_agent.md\":\"39fa99af\",\"guide_loginq.md\":\"55425e33\",\"guide_agentq.md\":\"80433bb9\",\"guide_q3.md\":\"c60855a4\",\"guide_q4.md\":\"e686c885\",\"guide_q5.md\":\"429f6984\",\"guide_api.md\":\"005ff8d4\",\"guide_q6.md\":\"bea3ea52\",\"guide_notifications.md\":\"232529a0\",\"guide_q7.md\":\"73fc709e\",\"en_us_developer_index.md\":\"7596c2ba\",\"guide_dashboard.md\":\"f3b3f63e\",\"guide_servers.md\":\"6544db8b\",\"en_us_case_index.md\":\"ce7e7812\",\"en_us_developer_l10n.md\":\"df6e5115\",\"en_us_index.md\":\"30c3e7cc\",\"en_us_guide_q5.md\":\"5e5eab18\",\"en_us_guide_q6.md\":\"fc2e1b82\",\"en_us_guide_q7.md\":\"ee9b7ae3\",\"en_us_guide_servers.md\":\"62200dfc\",\"en_us_guide_tasks.md\":\"7be2bf13\",\"en_us_guide_q4.md\":\"98d043c3\",\"guide_services.md\":\"971e1151\",\"en_us_guide_dashboard.md\":\"e59ca237\",\"en_us_guide_dashboardq.md\":\"6f81b710\",\"en_us_guide_notifications.md\":\"c8752ad3\",\"en_us_guide_agentq.md\":\"fd262400\",\"guide_settings.md\":\"f4b50ec4\",\"en_us_guide_loginq.md\":\"95d0ed22\",\"en_us_guide_api.md\":\"d12b6a21\",\"en_us_guide_services.md\":\"9626ec29\",\"guide_tasks.md\":\"da45832e\",\"en_us_guide_settings.md\":\"670e5750\",\"index.md\":\"a84ed06c\"}")
__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 O&M tool\",\"link\"Line truncated
</body>