44 lines
20 KiB
HTML
44 lines
20 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
<title>准备工作 | 哪吒监控</title>
|
||
<meta name="description" content="哪吒监控是一个轻量化的运维工具">
|
||
<link rel="stylesheet" href="/assets/style.17a88c2e.css">
|
||
<link rel="modulepreload" href="/assets/app.2c402e15.js">
|
||
<link rel="modulepreload" href="/assets/guide_dashboard.md.a8a51b7a.lean.js">
|
||
|
||
<meta name="twitter:title" content="准备工作 | 哪吒监控">
|
||
<meta property="og:title" content="准备工作 | 哪吒监控">
|
||
</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="/" aria-label="哪吒监控, back to home" data-v-675d8756 data-v-cc01ef16><!----> 哪吒监控</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="/" data-v-b8818f8c>使用指南 <!----></a></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item" href="/developer/index" data-v-b8818f8c>开发手册 <!----></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 active" 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" 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><!--[--><!--]--></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="/" data-v-b8818f8c>使用指南 <!----></a></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item" href="/developer/index" data-v-b8818f8c>开发手册 <!----></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 active" 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" 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><!--[--><!--]--><ul class="sidebar-links" data-v-83e92a68><!--[--><li class="sidebar-link"><p class="sidebar-link-item">安装手册</p><ul class="sidebar-links"><li class="sidebar-link"><a class="sidebar-link-item active" href="/guide/dashboard">安装 Dashboard</a><ul class="sidebar-links"><li class="sidebar-link"><a class="sidebar-link-item" href="#准备工作">准备工作</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="#获取github的client-id和密钥">获取Github的Client ID和密钥</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="#在服务器中安装dashboard">在服务器中安装Dashboard</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="#配置反向代理">配置反向代理</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="#在宝塔面板中配置ssl">在宝塔面板中配置SSL</a><!----></li></ul></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/agent">安装 Agent</a><!----></li></ul></li><li class="sidebar-link"><p class="sidebar-link-item">管理面板配置</p><ul class="sidebar-links"><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/servers">主机</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/services">服务</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/tasks">定时任务</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/notifications">报警通知</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/settings">设置</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/api">API</a><!----></li></ul></li><li class="sidebar-link"><p class="sidebar-link-item">常见问题</p><ul class="sidebar-links"><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/q1">TG api被墙</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/q2">Agent 启动/上线 问题自检流程</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/q3">如何反向代理 gRPC 端口</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/q4">实时通道断开/在线终端连接失败</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/q5">如何进行数据迁移、备份恢复?</a><!----></li></ul></li><li class="sidebar-link"><p class="sidebar-link-item">排障指南</p><ul class="sidebar-links"><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/dashboardq">Dashboard相关</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/agentq">Agent相关</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/loginq">登陆相关</a><!----></li></ul></li><!--]--></ul><!--[--><!--]--></aside><div class="sidebar-mask"></div><main class="page" data-v-7eddb2c4><div class="container" data-v-7eddb2c4><!--[--><!--]--><div style="position:relative;" class="content" data-v-7eddb2c4><div><h2 id="准备工作" tabindex="-1">准备工作 <a class="header-anchor" href="#准备工作" aria-hidden="true">#</a></h2><p>搭建一个哪吒监控,你需要:</p><ol><li>一台可以连接公网的VPS,防火墙和安全策略需要放行8008和5555端口,否则会无法访问和无法接收数据。单核512MB内存的服务器配置就足以满足大多数使用场景</li><li>一个已经设置好A记录,指向Dashboard服务器ip的域名</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>如果你想使用CDN,请准备两个域名,一个配置好CDN用作公开访问,CDN需要支持WebSocket协议;另一个域名不要使用CDN,用作Agent端与Dashboard的通信<br> 本文档分别以 "<a href="http://cdn.example.com" target="_blank" rel="noopener noreferrer">cdn.example.com</a>" 和 "<a href="http://data.example.com" target="_blank" rel="noopener noreferrer">data.example.com</a>" 两个域名来演示</p></div><ol start="3"><li>一个Github/Gitee账号</li></ol><p><strong>本文档将以宝塔面板反代面板的过程作为范例,随着未来版本的变化,部分功能的入口可能会发生改变,本文档仅供参考</strong><br><br></p><h2 id="获取github的client-id和密钥" tabindex="-1">获取Github的Client ID和密钥 <a class="header-anchor" href="#获取github的client-id和密钥" aria-hidden="true">#</a></h2><p>哪吒监控接入Github和Gitee作为后台管理员账号</p><ul><li>首先我们需要新建一个验证应用,以Github为例,登陆Github后,打开 <a href="https://github.com/settings/developers" target="_blank" rel="noopener noreferrer">https://github.com/settings/developers</a> ,依次选择“OAuth Apps” - “New OAuth App”<br><code>Application name</code> - 随意填写<br><code>Homepage URL</code> - 填写面板的访问域名,如:"<a href="http://cdn.example.com" target="_blank" rel="noopener noreferrer">http://cdn.example.com</a>"<br><code>Authorization callback URL</code> - 填写回调地址,如:"<a href="http://cdn.example.com/oauth2/callback" target="_blank" rel="noopener noreferrer">http://cdn.example.com/oauth2/callback</a>"</li><li>点击“Register application”</li><li>保存页面中的Client ID,然后点击 “Generate a new client secret“,创建一个新的Client Secret,新建的密钥仅会显示一次,请妥善保存 <br><br></li></ul><h2 id="在服务器中安装dashboard" tabindex="-1">在服务器中安装Dashboard <a class="header-anchor" href="#在服务器中安装dashboard" aria-hidden="true">#</a></h2><ul><li>在面板服务器中,运行安装脚本:</li></ul><div class="language-bash"><pre><code><span class="token function">curl</span> -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh <span class="token operator">&&</span> <span class="token function">chmod</span> +x nezha.sh <span class="token operator">&&</span> <span class="token function">sudo</span> ./nezha.sh
|
||
</code></pre></div><p>如果你的面板服务器位于中国大陆,可以使用镜像:</p><div class="language-bash"><pre><code><span class="token function">curl</span> -L https://fastly.jsdelivr.net/gh/naiba/nezha@master/script/install.sh -o nezha.sh <span class="token operator">&&</span> <span class="token function">chmod</span> +x nezha.sh <span class="token operator">&&</span> <span class="token function">sudo</span> <span class="token assign-left variable">CN</span><span class="token operator">=</span>true ./nezha.sh
|
||
</code></pre></div><ul><li><p>等待Docker安装完毕后,分别输入以下值:<br><code>OAuth提供商</code> - Github或Gitee<br><code>Client ID</code> - 之前保存的Client ID<br><code>Client Secret</code> - 之前保存的密钥<br><code>用户名</code> - Github或Gitee的用户名<br><code>站点标题</code> - 自定义站点标题<br><code>访问端口</code> - 公开访问端口,可自定义,默认8008<br><code>Agent的通信端口</code> - Agent与Dashboard的通信端口,默认5555</p></li><li><p>输入完成后,等待拉取镜像<br> 安装结束后,如果一切正常,此时你可以访问域名+端口号,如 “<a href="http://cdn.example.com:8008" target="_blank" rel="noopener noreferrer">http://cdn.example.com:8008</a>” 来查看面板</p></li><li><p>将来如果需要再次运行脚本,可以运行:</p></li></ul><div class="language-bash"><pre><code>./nezha.sh
|
||
</code></pre></div><p>来打开管理脚本<br><br><br></p><h2 id="配置反向代理" tabindex="-1">配置反向代理 <a class="header-anchor" href="#配置反向代理" aria-hidden="true">#</a></h2><ul><li><p>在宝塔面板中新建一个站点,域名填写公开访问域名,如 “<a href="http://cdn.example.com" target="_blank" rel="noopener noreferrer">http://cdn.example.com</a>“ ,然后点击“设置”进入站点设置选项,选择“反向代理” - “新建反向代理”</p></li><li><p>自定义一个代理名称,在下方“目标URL”中填入 <code>http://127.0.0.1</code> 然后点击“保存”</p></li><li><p>打开刚刚新建的反向代理右边的“配置文件”,将配置文件替换为以下内容:</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">$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">"Upgrade"</span></span><span class="token punctuation">;</span>
|
||
<span class="token directive"><span class="token keyword">proxy_set_header</span> Host <span class="token variable">$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>点击“保存”<br> 现在,你应该可以直接使用域名,如:“<a href="http://cdn.example.com" target="_blank" rel="noopener noreferrer">http://cdn.example.com</a>“ 来访问面板了<br><br></li></ul><h4 id="扩展内容:" tabindex="-1">扩展内容: <a class="header-anchor" href="#扩展内容:" aria-hidden="true">#</a></h4><ul><li><p>CaddyServer v1(v2 无需特别配置)</p><div class="language-"><pre><code>proxy /ws http://ip:8008 {
|
||
websocket
|
||
}
|
||
proxy /terminal/* http://ip:8008 {
|
||
websocket
|
||
}
|
||
</code></pre></div></li></ul><br><br><h2 id="在宝塔面板中配置ssl" tabindex="-1">在宝塔面板中配置SSL <a class="header-anchor" href="#在宝塔面板中配置ssl" aria-hidden="true">#</a></h2><p>首先,先暂时关闭反向代理<br> 正如在其他网站中配置SSL证书一样,进入站点设置中的“SSL”,你可以选择自动申请 Let´s Encrypt 证书或手动配置已有的证书<br> 完成SSL的设置后,你需要回到 <a href="https://github.com/settings/developers" target="_blank" rel="noopener noreferrer">https://github.com/settings/developers</a> ,编辑之前创建的验证应用程序,将之前我们填入的"Homepage URL"和"Authorization callback URL"中的域名全部从<code>http</code>改为<code>https</code>,如:"<a href="https://cdn.example.com" target="_blank" rel="noopener noreferrer">https://cdn.example.com</a>" 和 "<a href="https://cdn.example.com/oauth2/callback" target="_blank" rel="noopener noreferrer">https://cdn.example.com/oauth2/callback</a>" ,<strong>不更改此项可能会导致你无法登陆面板后台</strong></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/guide/dashboard.md" target="_blank" rel="noopener noreferrer" data-v-1ed99556>在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><!----></div></footer><div class="next-and-prev-link" data-v-7eddb2c4 data-v-38ede35f><div class="container" data-v-38ede35f><div class="prev" data-v-38ede35f><!----></div><div class="next" data-v-38ede35f><a class="link" href="/guide/agent" data-v-38ede35f><span class="text" data-v-38ede35f>安装 Agent</span><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="icon icon-next" data-v-38ede35f><path d="M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"></path></svg></a></div></div></div><!--[--><!--]--></div></main></div><!----><!--]--></div>
|
||
<script>__VP_HASH_MAP__ = JSON.parse("{\"developer_index.md\":\"ee592849\",\"developer_l10n.md\":\"ba294ec8\",\"developer_theme.md\":\"f7e1f379\",\"en_us_developer_index.md\":\"b71cc532\",\"en_us_developer_l10n.md\":\"7251e389\",\"en_us_developer_theme.md\":\"096ab5ad\",\"en_us_guide_agent.md\":\"8bed9873\",\"en_us_guide_agentq.md\":\"fc681108\",\"en_us_guide_api.md\":\"1cb185fb\",\"en_us_guide_dashboard.md\":\"c29d4037\",\"en_us_guide_dashboardq.md\":\"12f00603\",\"en_us_guide_loginq.md\":\"fccba1cc\",\"en_us_guide_notifications.md\":\"b30d610e\",\"en_us_guide_q2.md\":\"d1c860d2\",\"en_us_guide_q3.md\":\"4782ed4a\",\"en_us_guide_q4.md\":\"21280a24\",\"en_us_guide_q5.md\":\"410e46a9\",\"en_us_guide_servers.md\":\"c9b36fe3\",\"en_us_guide_services.md\":\"facaeeed\",\"en_us_guide_settings.md\":\"aac5fc45\",\"en_us_guide_tasks.md\":\"c5036e0b\",\"en_us_index.md\":\"c8719a21\",\"guide_agent.md\":\"d3fa781a\",\"guide_agentq.md\":\"8f3e39d8\",\"guide_api.md\":\"eb31daa7\",\"guide_dashboard.md\":\"a8a51b7a\",\"guide_dashboardq.md\":\"84fd553d\",\"guide_loginq.md\":\"d018cda9\",\"guide_notifications.md\":\"ac3a804b\",\"guide_q1.md\":\"60864821\",\"guide_q2.md\":\"9519d1ef\",\"guide_q3.md\":\"278a14da\",\"guide_q4.md\":\"49995c8a\",\"guide_q5.md\":\"ef18e2c9\",\"guide_servers.md\":\"aa5468b1\",\"guide_services.md\":\"c286c180\",\"guide_settings.md\":\"978f81fd\",\"guide_tasks.md\":\"fac6c260\",\"index.md\":\"2c78f74e\"}")</script>
|
||
<script type="module" async src="/assets/app.2c402e15.js"></script>
|
||
|
||
</body>
|
||
</html> |