This commit is contained in:
naiba committed 2023-06-19 15:56:49 +00:00
1 parent 34598694c7
commit de82899984
296 files changed
+2466 -2578

No files matched your search

+32 -36
View File
@@ -1,46 +1,42 @@
<!DOCTYPE html>
<html lang="en-US">
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Preparations | Nezha Monitoring</title>
<title>Nezha Monitoring | Nezha Monitoring</title>
<meta name="description" content="Nezha Monitoring is a lightweight O&M tool">
<link rel="stylesheet" href="/assets/style.0b9f658b.css">
<link rel="modulepreload" href="/assets/chunks/AlgoliaSearchBox.5f34673f.js">
<link rel="modulepreload" href="/assets/app.38e99b9a.js">
<link rel="modulepreload" href="/assets/en_US_guide_dashboard.md.be69dfc3.lean.js">
<meta name="twitter:title" content="Preparations | Nezha Monitoring">
<meta property="og:title" content="Preparations | Nezha Monitoring">
<link rel="preload stylesheet" href="/assets/style.ac216bba.css" as="style">
<script type="module" src="/assets/app.52883806.js"></script>
<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_dashboard.md.d78e0670.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>
<div id="app"><!--[--><div class="theme"><header class="nav-bar" data-v-675d8756><div class="sidebar-button" data-v-675d8756><svg class="icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z" class></path></svg></div><a class="nav-bar-title" href="/en_US/" aria-label="Nezha Monitoring, back to home" data-v-675d8756 data-v-cc01ef16><!----> Nezha Monitoring</a><div class="flex-grow" data-v-675d8756></div><div class="nav" data-v-675d8756><nav class="nav-links" data-v-675d8756 data-v-eab3edfe><!--[--><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item active" href="/en_US/" data-v-b8818f8c>User Guide <!----></a></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item" href="/en_US/case/index" data-v-b8818f8c>Community Projects <!----></a></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item" href="/en_US/developer/index" data-v-b8818f8c>Development Manual <!----></a></div></div><!--]--><div class="item" data-v-eab3edfe><div class="nav-dropdown-link" data-v-eab3edfe data-v-56bf3a3f><button class="button" data-v-56bf3a3f><span class="button-text" data-v-56bf3a3f>Languages</span><span class="right button-arrow" data-v-56bf3a3f></span></button><ul class="dialog" data-v-56bf3a3f><!--[--><li class="dialog-item" data-v-56bf3a3f><div class="nav-dropdown-link-item" data-v-56bf3a3f data-v-bbc27490><a class="item" href="/guide/dashboard.html" data-v-bbc27490><span class="arrow" data-v-bbc27490></span><span class="text" data-v-bbc27490>简体中文</span><span class="icon" data-v-bbc27490><!----></span></a></div></li><li class="dialog-item" data-v-56bf3a3f><div class="nav-dropdown-link-item" data-v-56bf3a3f data-v-bbc27490><a class="item active" href="/en_US/guide/dashboard.html" data-v-bbc27490><span class="arrow" data-v-bbc27490></span><span class="text" data-v-bbc27490>English</span><span class="icon" data-v-bbc27490><!----></span></a></div></li><!--]--></ul></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item isExternal" href="https://github.com/nezhahq/nezhahq.github.io" target="_blank" rel="noopener noreferrer" data-v-b8818f8c>GitHub <svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" data-v-b8818f8c><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div></div></nav></div><!--[--><!--[--><div class="algolia-search-box" id="docsearch"></div><!--]--><!--]--></header><aside class="sidebar" data-v-83e92a68><nav class="nav-links nav" data-v-83e92a68 data-v-eab3edfe><!--[--><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item active" href="/en_US/" data-v-b8818f8c>User Guide <!----></a></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item" href="/en_US/case/index" data-v-b8818f8c>Community Projects <!----></a></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item" href="/en_US/developer/index" data-v-b8818f8c>Development Manual <!----></a></div></div><!--]--><div class="item" data-v-eab3edfe><div class="nav-dropdown-link" data-v-eab3edfe data-v-56bf3a3f><button class="button" data-v-56bf3a3f><span class="button-text" data-v-56bf3a3f>Languages</span><span class="right button-arrow" data-v-56bf3a3f></span></button><ul class="dialog" data-v-56bf3a3f><!--[--><li class="dialog-item" data-v-56bf3a3f><div class="nav-dropdown-link-item" data-v-56bf3a3f data-v-bbc27490><a class="item" href="/guide/dashboard.html" data-v-bbc27490><span class="arrow" data-v-bbc27490></span><span class="text" data-v-bbc27490>简体中文</span><span class="icon" data-v-bbc27490><!----></span></a></div></li><li class="dialog-item" data-v-56bf3a3f><div class="nav-dropdown-link-item" data-v-56bf3a3f data-v-bbc27490><a class="item active" href="/en_US/guide/dashboard.html" data-v-bbc27490><span class="arrow" data-v-bbc27490></span><span class="text" data-v-bbc27490>English</span><span class="icon" data-v-bbc27490><!----></span></a></div></li><!--]--></ul></div></div><div class="item" data-v-eab3edfe><div class="navLine truncated
</code></pre></div><ul><li><p>After waiting for the Docker installation to complete, input the following settings:<br><code>OAuth2 provider</code> - Github or Gitlab<br><code>Client ID</code> - Previously saved Client ID<br><code>Client Secret</code> - Previously saved secret<br><code>GitHub/Gitee login name</code> - Github o Gitlab username<br><code>Site title</code> - Custom site title<br><code>Site access port</code> - Public access port, customizable, default 8008<br><code>RPC port</code> - The communication port between Agent and Dashboard, default 5555</p></li><li><p>After the input is complete, wait to pull the mirror<br> After the installation, if everything is fine, you can visit the domain + port number, such as &quot;<a href="http://cdn.example.com:8008" target="_blank" rel="noopener noreferrer">http://cdn.example.com:8008</a>&quot; to view the Dashboard</p></li><li><p>In the future, if you need to run the script again, you can run:</p></li></ul><div class="language-bash"><pre><code>./nezha.sh
</code></pre></div><p>to open the management script<br><br><br></p><h2 id="configure-reverse-proxy" tabindex="-1">Configure reverse proxy <a class="header-anchor" href="#configure-reverse-proxy" aria-hidden="true">#</a></h2><ul><li><p>Create a new site in the aaPanel, fill in the public access domain name, such as &quot;<a href="http://cdn.example.com" target="_blank" rel="noopener noreferrer">http://cdn.example.com</a>&quot;, then click &quot;Settings&quot; to enter the site settings option, select &quot; Reverse proxy&quot; - &quot;New reverse proxy&quot;</p></li><li><p>Customize a proxy name, fill in <code>http://127.0.0.1</code> in the &quot;Target URL&quot; and click &quot;Save&quot;</p></li><li><p>Open the &quot; configuration&quot; to the right of the new reverse proxy you just created and replace the configuration file with the following:</p></li></ul><div class="language-nginx"><pre><code><span class="token comment">#PROXY-START/</span>
<span class="token directive"><span class="token keyword">location</span> /</span> <span class="token punctuation">{</span>
<span class="token directive"><span class="token keyword">proxy_pass</span> http://127.0.0.1:8008</span><span class="token punctuation">;</span>
<span class="token directive"><span class="token keyword">proxy_set_header</span> Host <span class="token variable">$http_host</span></span><span class="token punctuation">;</span>
<span class="token directive"><span class="token keyword">proxy_set_header</span> Upgrade <span class="token variable">$http_upgrade</span></span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token directive"><span class="token keyword">location</span> ~ ^/(ws|terminal/.+)$</span> <span class="token punctuation">{</span>
<span class="token directive"><span class="token keyword">proxy_pass</span> http://127.0.0.1:8008</span><span class="token punctuation">;</span>
<span class="token directive"><span class="token keyword">proxy_http_version</span> 1.1</span><span class="token punctuation">;</span>
<span class="token directive"><span class="token keyword">proxy_set_header</span> Upgrade <span class="token variable">$http_upgrade</span></span><span class="token punctuation">;</span>
<span class="token directive"><span class="token keyword">proxy_set_header</span> Connection <span class="token string">&quot;Upgrade&quot;</span></span><span class="token punctuation">;</span>
<span class="token directive"><span class="token keyword">proxy_set_header</span> Host <span class="token variable">$http_host</span></span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">#PROXY-END/</span>
</code></pre></div><ul><li>Click &quot;Save&quot;<br> Now, you should be able to access the panel directly using a domain name such as: &quot;<a href="http://cdn.example.com" target="_blank" rel="noopener noreferrer">http://cdn.example.com</a>&quot;<br><br></li></ul><h4 id="other" tabindex="-1">Other: <a class="header-anchor" href="#other" aria-hidden="true">#</a></h4><ul><li><p>CaddyServer v1(v2 no special configuration required)</p><div class="language-"><pre><code>proxy /ws http://ip:8008 {
websocket
header_upstream -Origin
}
proxy /terminal/* http://ip:8008 {
websocket
header_upstream -Origin
}
</code></pre></div></li></ul><br><br><h2 id="configuring-ssl-in-the-aapanel" tabindex="-1">Configuring SSL in the aaPanel <a class="header-anchor" href="#configuring-ssl-in-the-aapanel" aria-hidden="true">#</a></h2><p>First, temporarily disable the reverse proxy<br> As with other websites, you can choose to automatically apply for a Let´s Encrypt certificate or manually configure an existing certificate by going to &quot;SSL&quot; in the site settings<br> After you finish setting up SSL, you need to go back to <a href="https://github.com/settings/developers" target="_blank" rel="noopener noreferrer">https://github.com/settings/developers</a> and edit the authentication application you created before, change all the domain names in the &quot;Homepage URL&quot; and &quot;Authorization callback URL&quot; you filled in before from <code>http</code> to <code>https</code>, such as: &quot;<a href="https://cdn.example.com" target="_blank" rel="noopener noreferrer">https://cdn.example.com</a>&quot; and &quot;<a href="https://cdn.example.com/oauth2/callback" target="_blank" rel="noopener noreferrer">https://cdn.example.com/oauth2/callback</a>&quot;, <strong>If you don&#39;t change these links, you may not be able to log into the admin panel</strong></p><h2 id="faq" tabindex="-1">FAQ <a class="header-anchor" href="#faq" aria-hidden="true">#</a></h2><h3 id="what-should-i-do-if-terminal-or-ws-cannot-be-connected-after-https-is-enabled" tabindex="-1">What should I do if /terminal or /ws cannot be connected after HTTPS is enabled? <a class="header-anchor" href="#what-should-i-do-if-terminal-or-ws-cannot-be-connected-after-https-is-enabled" aria-hidden="true">#</a></h3><p>It is often caused by incomplete certificates. Please add -d to the agent running parameters. If there is x509: certificate signed by unknown authority in the log, replacing the complete certificate can solve the problem 100%.</p><h3 id="i-am-not-satisfied-with-the-data-modification-or-addition-function-provided-by-the-dashboard-what-if-i-want-to-modify-or-add-data-myself" tabindex="-1">I am not satisfied with the data modification or addition function provided by the Dashboard, what if I want to modify or add data myself? <a class="header-anchor" href="#i-am-not-satisfied-with-the-data-modification-or-addition-function-provided-by-the-dashboard-what-if-i-want-to-modify-or-add-data-myself" aria-hidden="true">#</a></h3><p>Commonly used in requirements such as batch installation of Agents, where you can modify the database directly.<br> Please note that not everything can be modified in the database, wrong modification will lead to data confusion and failure to start Dashboard, <strong>please do not modify the database at will!</strong></p><div class="danger custom-block"><p class="custom-block-title">WARNING</p><p>Again, <strong>please do not modify the database at will!</strong></p></div><p>If you need to modify the data in the database, please <strong>stop</strong> the Dashboard container before modifying it.<br> The database type is sqlite3, located in <code>/opt/nezha/dashboard/data/sqlite.db</code>, please backup before modifying the data</p><h3 id="what-are-each-table-or-column-in-the-database" tabindex="-1">What are each table or column in the database? <a class="header-anchor" href="#what-are-each-table-or-column-in-the-database" aria-hidden="true">#</a></h3><p>The documentation does not provide an explanation of the database. If you have the ability to modify the database, you should be able to read it with a little thinking.</p><h3 id="does-dashboard-update-automatically" tabindex="-1">Does Dashboard update automatically? <a class="header-anchor" href="#does-dashboard-update-automatically" aria-hidden="true">#</a></h3><p>The Agent normally updates automatically, but the Dashboard does not and needs to be updated manually.</p><h3 id="how-do-i-update-the-dashboard" tabindex="-1">How do I update the Dashboard? <a class="header-anchor" href="#how-do-i-update-the-dashboard" aria-hidden="true">#</a></h3><p>Run the script <code>. /nezha.sh</code> and select restart Dashboard and update</p></div></div><footer class="page-footer" data-v-7eddb2c4 data-v-07c132fc><div class="edit" data-v-07c132fc><div class="edit-link" data-v-07c132fc data-v-1ed99556><a class="link" href="https://github.com/nezhahq/nezhahq.github.io/edit/main/docs/en_US/guide/dashboard.md" target="_blank" rel="noopener noreferrer" data-v-1ed99556>Edit this page on GitHub <svg class="icon outbound icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" data-v-1ed99556><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div></div><div class="updated" data-v-07c132fc><p class="lasLine truncated
<script>__VP_HASH_MAP__ = JSON.parse("{\"case_case1.md\":\"956a40f8\",\"case_case2.md\":\"4d834a0c\",\"case_case3.md\":\"85d1e1c0\",\"case_case4.md\":\"a5fb1d3d\",\"case_case5.md\":\"1d848f08\",\"case_index.md\":\"f4b9e618\",\"developer_index.md\":\"1d920d5e\",\"developer_l10n.md\":\"d42f1824\",\"developer_theme.md\":\"32336d93\",\"en_us_case_case1.md\":\"b1099816\",\"en_us_case_case2.md\":\"33204eeb\",\"en_us_case_case3.md\":\"1efbaa2b\",\"en_us_case_case4.md\":\"4f2828a8\",\"en_us_case_index.md\":\"6aa40f9f\",\"en_us_developer_index.md\":\"5a95ac08\",\"en_us_developer_l10n.md\":\"845f37b9\",\"en_us_developer_theme.md\":\"4d44f242\",\"en_us_guide_agent.md\":\"40cde11a\",\"en_us_guide_agentq.md\":\"8375be03\",\"en_us_guide_api.md\":\"2c0446dc\",\"en_us_guide_dashboard.md\":\"be69dfc3\",\"en_us_guide_dashboardq.md\":\"efd84150\",\"en_us_guide_loginq.md\":\"9b35f520\",\"en_us_guide_notifications.md\":\"d8574f81\",\"en_us_guide_q2.md\":\"3e6e1cdd\",\"en_us_guide_q3.md\":\"0f9a8389\",\"en_us_guide_q4.md\":\"3be05c03\",\"en_us_guide_q5.md\":\"37848528\",\"en_us_guide_q6.md\":\"a9435239\",\"en_us_guide_q7.md\":\"6accd74b\",\"en_us_guide_servers.md\":\"735e9397\",\"en_us_guide_services.md\":\"be09692c\",\"en_us_guide_settings.md\":\"4066d609\",\"en_us_guide_tasks.md\":\"f66d7e8d\",\"en_us_index.md\":\"43b5665f\",\"guide_agent.md\":\"4e71a28f\",\"guide_agentq.md\":\"0c0df351\",\"guide_api.md\":\"068d6940\",\"guide_dashboard.md\":\"6e93d7e8\",\"guide_dashboardq.md\":\"f24ebc9d\",\"guide_loginq.md\":\"bcca00e1\",\"guide_notifications.md\":\"cd6f64ca\",\"guide_q1.md\":\"54c60c52\",\"guide_q2.md\":\"b9912dcd\",\"guide_q3.md\":\"62b46b60\",\"guide_q4.md\":\"6aaac407\",\"guide_q5.md\":\"d30a059b\",\"guide_q6.md\":\"074f1740\",\"guide_q7.md\":\"92ad8104\",\"guide_servers.md\":\"20577d5f\",\"guide_services.md\":\"81eefc44\",\"guide_settings.md\":\"b4021a97\",\"guide_tasks.md\":\"d014d940\",\"index.md\":\"6967ecd8\"}")</script>
<script type="module" async src="/assets/app.38e99b9a.js"></script>
<div id="app"><div class="Layout" data-v-b2cf3e0b><!--[--><!--]--><!--[--><span tabindex="-1" data-v-b8b11faa></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-b8b11faa> Skip to content </a><!--]--><!----><header class="VPNav" data-v-b2cf3e0b data-v-7e5bc4a5><div class="VPNavBar has-sidebar" data-v-7e5bc4a5 data-v-7683ced7><div class="container" data-v-7683ced7><div class="title" data-v-7683ced7><div class="VPNavBarTitle has-sidebar" data-v-7683ced7 data-v-4d981103><a class="title" href="/en_US/" data-v-4d981103><!--[--><!--]--><!----><!--[-->Nezha Monitoring<!--]--><!--[--><!--]--></a></div></div><div class="content" data-v-7683ced7><div class="curtain" data-v-7683ced7></div><div class="content-body" data-v-7683ced7><!--[--><!--]--><div class="VPNavBarSearch search" style="--vp-meta-key:&#39;Meta&#39;;" data-v-7683ced7><!--[--><div id="docsearch"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg class="DocSearch-Search-Icon" width="20" height="20" viewBox="0 0 20 20" aria-label="search icon"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><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-7683ced7 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-5e623618 data-v-8f4dc553><!--[-->User Guide<!--]--><!----></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/en_US/case/index.html" tabindex="0" data-v-7f418b0f data-v-5e623618 data-v-8f4dc553><!--[-->Community Projects<!--]--><!----></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/en_US/developer/index.html" tabindex="0" data-v-7f418b0f data-v-5e623618 data-v-8f4dc553><!--[-->Development Manual<!--]--><!----></a><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-7683ced7 data-v-74abcbb9 data-v-764effdf><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="Change language" data-v-764effdf><span class="text" data-v-764effdf><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="option-icon" data-v-764effdf><path d="M0 0h24v24H0z" fill="none"></path><path d=" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z " class="css-c4d79v"></path></svg> <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="text-icon" data-v-764effdf><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="menu" data-v-764effdf><div class="VPMenu" data-v-764effdf data-v-e7ea1737><!----><!--[--><!--[--><div class="items" data-v-74abcbb9><p class="title" data-v-74abcbb9>English</p><!--[--><div class="VPMenuLink" data-v-74abcbb9 data-v-2f2cfafc><a class="VPLink link" href="/guide/dashboard.html" data-v-2f2cfafc data-v-8f4dc553><!--[-->简体中文<!--]--><!----></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-7683ced7 data-v-f6a63727><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="toggle dark mode" aria-checked="false" data-v-f6a63727 data-v-82b282f1 data-v-f3c41672><span class="check" data-v-f3c41672><span class="icon" data-v-f3c41672><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-82b282f1><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20Line truncated
<span class="line"><span style="color:#C792EA;">location</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">/ </span><span style="color:#A6ACCD;">{</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"> proxy_pass </span><span style="color:#A6ACCD;">http://127.0.0.1:8008</span><span style="color:#89DDFF;">;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"> proxy_set_header </span><span style="color:#A6ACCD;">Host </span><span style="color:#89DDFF;">$</span><span style="color:#A6ACCD;">http_host</span><span style="color:#89DDFF;">;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"> proxy_set_header </span><span style="color:#A6ACCD;"> Upgrade </span><span style="color:#89DDFF;">$</span><span style="color:#A6ACCD;">http_upgrade</span><span style="color:#89DDFF;">;</span></span>
<span class="line"><span style="color:#A6ACCD;">}</span></span>
<span class="line"><span style="color:#C792EA;">location</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">~</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">^/(ws|terminal/.+)$ </span><span style="color:#A6ACCD;">{</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"> proxy_pass </span><span style="color:#A6ACCD;">http://127.0.0.1:8008</span><span style="color:#89DDFF;">;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"> proxy_http_version </span><span style="color:#A6ACCD;">1.1</span><span style="color:#89DDFF;">;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"> proxy_set_header </span><span style="color:#A6ACCD;">Upgrade </span><span style="color:#89DDFF;">$</span><span style="color:#A6ACCD;">http_upgrade</span><span style="color:#89DDFF;">;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"> proxy_set_header </span><span style="color:#A6ACCD;">Connection </span><span style="color:#C3E88D;">&quot;Upgrade&quot;</span><span style="color:#89DDFF;">;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"> proxy_set_header </span><span style="color:#A6ACCD;">Host </span><span style="color:#89DDFF;">$</span><span style="color:#A6ACCD;">http_host</span><span style="color:#89DDFF;">;</span></span>
<span class="line"><span style="color:#A6ACCD;">}</span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">#PROXY-END/</span></span></code></pre></div><ul><li>Click &quot;Save&quot;<br> Now, you should be able to access the panel directly using a domain name such as: &quot;<a href="http://cdn.example.com" target="_blank" rel="noreferrer">http://cdn.example.com</a>&quot;<br><br></li></ul><h4 id="other" tabindex="-1">Other: <a class="header-anchor" href="#other" aria-label="Permalink to &quot;Other:&quot;">​</a></h4><ul><li><p>CaddyServer v1(v2 no special configuration required)</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">proxy /ws http://ip:8008 {</span></span>
<span class="line"><span style="color:#A6ACCD;"> websocket</span></span>
<span class="line"><span style="color:#A6ACCD;"> header_upstream -Origin</span></span>
<span class="line"><span style="color:#A6ACCD;">}</span></span>
<span class="line"><span style="color:#A6ACCD;">proxy /terminal/* http://ip:8008 {</span></span>
<span class="line"><span style="color:#A6ACCD;"> websocket</span></span>
<span class="line"><span style="color:#A6ACCD;"> header_upstream -Origin</span></span>
<span class="line"><span style="color:#A6ACCD;">}</span></span></code></pre></div></li></ul><br><br><h2 id="configuring-ssl-in-the-aapanel" tabindex="-1">Configuring SSL in the aaPanel <a class="header-anchor" href="#configuring-ssl-in-the-aapanel" aria-label="Permalink to &quot;Configuring SSL in the aaPanel&quot;">​</a></h2><p>First, temporarily disable the reverse proxy<br> As with other websites, you can choose to automatically apply for a Let´s Encrypt certificate or manually configure an existing certificate by going to &quot;SSL&quot; in the site settings<br> After you finish setting up SSL, you need to go back to <a href="https://github.com/settings/developers" target="_blank" rel="noreferrer">https://github.com/settings/developers</a> and edit the authentication application you created before, change all the domain names in the &quot;Homepage URL&quot; and &quot;Authorization callback URL&quot; you filled in before from <code>http</code> to <code>https</code>, such as: &quot;<a href="https://cdn.example.com" target="_blank" rel="noreferrer">https://cdn.example.com</a>&quot; and &quot;<a href="https://cdn.example.com/oauth2/callback" target="_blank" rel="noreferrer">https://cdn.example.com/oauth2/callback</a>&quot;, <strong>If you don&#39;t change these links, you may not be able to log into the admin panel</strong></p><h2 id="faq" tabindex="-1">FAQ <a class="header-anchor" href="#faq" aria-label="Permalink to &quot;FAQ&quot;">​</a></h2><h3 id="what-should-i-do-if-terminal-or-ws-cannot-be-connected-after-https-is-enabled" tabindex="-1">What should I do if /terminal or /ws cannot be connected after HTTPS is enabled? <a class="header-anchor" href="#what-should-i-do-if-terminal-or-ws-cannot-be-connected-after-https-is-enabled" aria-label="Permalink to &quot;What should I do if /terminal or /ws cannot be connected after HTTPS is enabled?&quot;">​</a></h3><p>It is often caused by incomplete certificates. Please add -d to the agent running parameters. If there is x509: certificate signed by unknown authority in the log, replacing the complete certificate can solve the problem 100%.</p><h3 id="i-am-not-satisfied-with-the-data-modification-or-addition-function-provided-by-the-dashboard-what-if-i-want-to-modify-or-add-data-myself" tabindex="-1">I am not satisfied with the data modification or addition function provided by the Dashboard, what if I want to modify or add data myself? <a class="header-anchor" href="#i-am-not-satisfied-with-the-data-modification-or-addition-function-provided-by-the-dashboard-what-if-i-want-to-modify-or-add-data-myself" aria-label="Permalink to &quot;I am not satisfied with the data modification or addition function provided by the Dashboard, what if I want to modify or add data myself?&quot;">​</a></h3><p>Commonly used in requirements such as batch installation of Agents, where you can modify the database directly.<br> Please note that not everything can be modified in the database, wrong modification will lead to data confusion and failure to start Dashboard, <strong>please do not modify the database at will!</strong></p><div class="danger custom-block"><p class="custom-block-title">DANGER</p><p>Again, <strong>please do not modify the database at will!</strong></p></div><p>If you need to modify the data in the database, please <strong>stop</strong> the Dashboard container before modifying it.<br> The database type is sqlite3, located in <code>/opt/nezha/dashboard/data/sqlite.db</code>, please backup before modifying the data</p><h3 id="what-are-each-table-or-column-in-the-database" tabindex="-1">What are each table or column in the database? <a class="header-anchor" href="#what-are-each-table-or-column-in-the-database" aria-label="Permalink to &quot;What are each table or column in the database?&quot;">​</a></h3><p>The documentation does not provide an explanation of the database. If you have the ability to modify the database, you should be able to read it with a little thinking.</p><h3 id="does-dashboard-update-automatically" tabindex="-1">Does Dashboard update automatically? <a class="header-anchor" href="#does-dashboard-update-automatically" aria-label="Permalink to &quot;Does Dashboard update automatically?&quot;">​</a></h3><p>The Agent normally updates automatically, but the Dashboard does not and needs to be updated manually.</p><h3 id="how-do-i-update-the-dashboard" tabindex="-1">How do I update the Dashboard? <a class="header-anchor" href="#how-do-i-update-the-dashboard" aria-label="Permalink to &quot;How do I update the Dashboard?&quot;">​</a></h3><p>Run the script <code>. /nezha.sh</code> and select restart Dashboard and update</p></div></div></main><footer class="VPDocFooter" data-v-c4b0d3cf data-v-face870a><!--[--><!--]--><div class="edit-info" data-v-face870a><div class="edit-link" data-v-face870a><a class="VPLink link edit-link-button" href="https://github.com/nezhahq/nezhahq.github.io/edit/main/docs/en_US/guide/dashboard.md" target="_blank" rel="nLine truncated
<script>__VP_HASH_MAP__ = JSON.parse("{\"case_case1.md\":\"ecc14085\",\"en_us_guide_api.md\":\"23c9cbfd\",\"en_us_guide_dashboard.md\":\"d78e0670\",\"en_us_developer_theme.md\":\"71386f12\",\"en_us_guide_notifications.md\":\"f27b667a\",\"en_us_guide_loginq.md\":\"9b2c983a\",\"en_us_guide_q2.md\":\"7d419ac0\",\"en_us_guide_q3.md\":\"413034ab\",\"en_us_guide_q4.md\":\"29c73660\",\"en_us_guide_q5.md\":\"6147bc60\",\"en_us_guide_q6.md\":\"5546f36f\",\"en_us_guide_q7.md\":\"e3e49f45\",\"en_us_guide_servers.md\":\"15cdd004\",\"en_us_guide_services.md\":\"496a9331\",\"en_us_guide_settings.md\":\"a3fde31e\",\"case_case2.md\":\"6c7d5ccf\",\"case_case3.md\":\"5e4a3d1d\",\"case_case4.md\":\"9da898b3\",\"case_case5.md\":\"8d0f657b\",\"en_us_guide_agentq.md\":\"79461295\",\"en_us_guide_agent.md\":\"ec3cceee\",\"en_us_guide_tasks.md\":\"2f23de0e\",\"en_us_index.md\":\"a2928aa3\",\"guide_agent.md\":\"aa1597de\",\"guide_agentq.md\":\"58353381\",\"guide_dashboard.md\":\"2c7ebc9c\",\"guide_dashboardq.md\":\"45324b02\",\"guide_loginq.md\":\"b86b5d13\",\"guide_notifications.md\":\"c2a46afe\",\"case_index.md\":\"490516a2\",\"developer_index.md\":\"50de2d0d\",\"developer_l10n.md\":\"97d82e33\",\"developer_theme.md\":\"3f733e73\",\"en_us_case_case1.md\":\"4184634e\",\"en_us_case_case2.md\":\"a2d0c610\",\"guide_q1.md\":\"da6990ac\",\"en_us_case_case3.md\":\"6c813a79\",\"en_us_case_index.md\":\"c59e34c7\",\"en_us_developer_index.md\":\"722364da\",\"en_us_developer_l10n.md\":\"830faa6a\",\"en_us_guide_dashboardq.md\":\"f8c0f2c4\",\"guide_q2.md\":\"dc262f4e\",\"guide_q3.md\":\"5b71ea6c\",\"guide_q4.md\":\"d3d700bd\",\"guide_q5.md\":\"8c32a6a8\",\"guide_q6.md\":\"468b73f3\",\"guide_q7.md\":\"46c4299c\",\"guide_servers.md\":\"38e933fe\",\"guide_services.md\":\"8e52c9c8\",\"guide_settings.md\":\"0b01b850\",\"guide_api.md\":\"b7dd76b3\",\"guide_tasks.md\":\"9090b413\",\"index.md\":\"c741ff17\",\"en_us_case_case4.md\":\"b17c51fa\"}")
__VP_SITE_DATA__ = JSON.parse("{\"lang\":\"zh-CN\",\"dir\":\"ltr\",\"title\":\"VitePress\",\"description\":\"A VitePress site\",\"base\":\"/\",\"head\":[],\"appearance\":true,\"themeConfig\":{\"algolia\":{\"appId\":\"HP6QF6KMZD\",\"apiKey\":\"fb8bae9ed373d1057e0c07fcf32b3f1a\",\"indexName\":\"nezhahq\"},\"footer\":{\"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. Nezha server over Argo tunnel 白嫖利器\",\"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\":\"/en_US/\",\"themeConfig\":{\"lastUpdatedText\":\"Last Updated\",\"editLink\":{\"text\":\"Edit this page on GitHub\",\"pattern\":\"https://github.com/nezhahq/nezhahq.github.io/edit/main/docs/:path\"},\"nav\":[{\"text\":\"User Guide\",\"link\":\"/en_US/\",\"activeMatch\":\"^/en_US/guide/\"},{\"text\":\Line truncated
</body>
</html>