nezhahq.github.io/assets/guide_servers.md.52611fd4.js

27 lines
17 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{_ as a,o as s,c as e,R as o}from"./chunks/framework.44fd0451.js";const u=JSON.parse('{"title":"服务器","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/servers.md","filePath":"guide/servers.md","lastUpdated":1714697355000}'),l={name:"guide/servers.md"},n=o(`<h1 id="服务器" tabindex="-1">服务器 <a class="header-anchor" href="#服务器" aria-label="Permalink to &quot;服务器&quot;"></a></h1><h2 id="介绍" tabindex="-1">介绍 <a class="header-anchor" href="#介绍" aria-label="Permalink to &quot;介绍&quot;"></a></h2><p>服务器区域负责管理 Agent是哪吒探针中最基础的区域也是其他功能的基础。</p><h2 id="新增服务器" tabindex="-1">新增服务器 <a class="header-anchor" href="#新增服务器" aria-label="Permalink to &quot;新增服务器&quot;"></a></h2><p>第一步是新增服务器,可以自定义名称、分组、排序和备注。<br> 拥有相同分组的服务器会在受支持的主题中划分到一起进行显示,备注仅会在后台显示,无需担心泄露信息。</p><h2 id="安装-agent" tabindex="-1">安装 Agent <a class="header-anchor" href="#安装-agent" aria-label="Permalink to &quot;安装 Agent&quot;"></a></h2><p>请参考前文<a href="/guide/agent.html">安装 Agent</a><br> 推荐使用一键安装,即<strong>配置好参数后</strong>,点击服务器<strong>一键安装</strong>列上的对应的系统图标即可复制安装命令,在相应服务器上进行安装。</p><h2 id="强制更新" tabindex="-1">强制更新 <a class="header-anchor" href="#强制更新" aria-label="Permalink to &quot;强制更新&quot;"></a></h2><p>Agent 更新相关的参数是 <a href="/guide/agent.html#自定义agent监控项目">自定义 Agent 监控项目</a> 中的 <code>--disable-auto-update</code> 和 <code>--disable-force-update</code>。<br> 默认情况下Agent 会自动更新,无需干预。但当用户关闭自动更新后,也可以选中指定服务器进行强制更新。<br><code>disable-force-update</code> 开启时此功能不生效。</p><h2 id="数据列" tabindex="-1">数据列 <a class="header-anchor" href="#数据列" aria-label="Permalink to &quot;数据列&quot;"></a></h2><ul><li>版本号: 记录 Agent 当前版本</li><li>对游客隐藏: 为 True 时,游客在面板中无法查看到此服务器</li><li>启用DDNS: 为 True 时当该服务器IP发生变化Dashboard 会自动更新 DNS 记录</li><li>DDNS域名为该服务器配置的 DDNS 域名</li><li>密钥: 即 secret\\key配置 Agent 时会用到,用于验证 Agent 与 Dashboard 的通信</li><li>一键安装: 点击相应的系统按钮,复制命令到服务器执行即可一键安装</li><li>管理: 分别为连接 WebShell修改服务器配置删除服务器</li></ul><h2 id="在线终端" tabindex="-1">在线终端 <a class="header-anchor" href="#在线终端" aria-label="Permalink to &quot;在线终端&quot;"></a></h2><p>即 WebShell<code>disable-command-execute</code>开启时此功能不生效。<br> Linux 和 Windows 均可用,可使用 Ctrl+Shift+V 粘贴。<br> 连接失败请参考<a href="/guide/q4.html">实时通道断开/在线终端连接失败</a>。<br> 注意在线终端功能中Agent 也是通过 WebSocket 连接到<strong>公开访问域名</strong>,而非通过 gRPC 交互。</p><h2 id="ddns-功能" tabindex="-1">DDNS 功能 <a class="header-anchor" href="#ddns-功能" aria-label="Permalink to &quot;DDNS 功能&quot;"></a></h2><p>DDNS 功能适用于使用动态 IP 的服务器,当 Agent 上报了一个新的 IPDashboard 会根据配置自动更新 DNS 记录。</p><h3 id="为什么我要使用哪吒监控的-ddns-功能" tabindex="-1">为什么我要使用哪吒监控的 DDNS 功能? <a class="header-anchor" href="#为什么我要使用哪吒监控的-ddns-功能" aria-label="Permalink to &quot;为什么我要使用哪吒监控的 DDNS 功能?&quot;"></a></h3><ul><li>方便集中管理 DDNS 设置,而不是在每台机器上都部署一个 DDNS 服务;</li><li>仅在面板机上保存您的机密信息,防止外泄。</li></ul><h3 id="配置说明" tabindex="-1">配置说明 <a class="header-anchor" href="#配置说明" aria-label="Permalink to &quot;配置说明&quot;"></a></h3><p>目前 DDNS 功能支持两种形式的配置:单配置和多配置。如使用单配置,则所有 Agent 服务器都使用相同的配置更新 DDNS如使用多配置则可为每台服务器指定一个配置更新 DDNS灵活性更强。</p><h4 id="单配置" tabindex="-1">单配置 <a class="header-anchor" href="#单配置" aria-label="Permalink to &quot;单配置&quot;"></a></h4><div class="language-yaml"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#F07178;">DDNS</span><span style="color:#89DDFF;">:</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">Enable</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#FF9CAC;">true</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">Provider</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">webhook</span><span style="color:#89DDFF;">&quot;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">AccessID</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;&quot;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">AccessSecret</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;&quot;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">WebhookMethod</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;&quot;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">WebhookURL</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;&quot;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">WebhookRequestBody</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;&quot;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">WebhookHeaders</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;&quot;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">MaxRetries</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">3</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">Profiles</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">null</span></span></code></pre></div><h5 id="enable" tabindex="-1">Enable <a class="header-anchor" href="#enable" aria-label="Permalink to &quot;Enable&quot;"></a></h5><p>布尔值,选择是否开启 DDNS 功能。</p><h5 id="provider" tabindex="-1">Provider <a class="header-anchor" href="#provider" aria-label="Permalink to &quot;Provider&quot;"></a></h5><p>DDNS 供应商的名称。目前支持 <code>webhook</code>、<code>cloudflare</code> 以及 <code>tencentcloud</code>。</p><h5 id="accessid" tabindex="-1">AccessID <a class="header-anchor" href="#accessid" aria-label="Permalink to &quot;AccessID&quot;"></a></h5><p>DDNS 供应商的令牌 ID。</p><p>仅适用于供应商 <code>tencentcloud</code>。</p><h5 id="accesssecret" tabindex="-1">AccessSecret <a class="header-anchor" href="#accesssecret" aria-label="Permalink to &quot;AccessSecret&quot;"></a></h5><p>DDNS 供应商的令牌 Secret。</p><p>仅适用于供应商 <code>cloudflare</code> 及 <code>tencentcloud</code>。</p><h5 id="webhookmethod" tabindex="-1">WebhookMethod <a class="header-anchor" href="#webhookmethod" aria-label="Permalink to &quot;WebhookMethod&quot;"></a></h5><p>Webhook 的请求方法。例如 <code>GET</code>、<code>POST</code>等。</p><p>仅适用于供应商 <code>webhook</code>。</p><h5 id="webhookurl" tabindex="-1">WebhookURL <a class="header-anchor" href="#webhookurl" aria-label="Permalink to &quot;WebhookURL&quot;"></a></h5><p>Webhook 的请求地址。</p><p>仅适用于供应商 <code>webhook</code>。</p><h5 id="webhookrequestbody" tabindex="-1">WebhookRequestBody <a class="header-anchor" href="#webhookrequestbody" aria-label="Permalink to &quot;WebhookRequestBody&quot;"></a></h5><p>Webhook 的请求体。</p><p>仅适用于供应商 <code>webhook</code>。</p><h5 id="webhookheaders" tabindex="-1">WebhookHeaders <a class="header-anchor" href="#webhookheaders" aria-label="Permalink to &quot;WebhookHeaders&quot;"></a></h5><p>Webhook 的请求头。</p><p>仅适用于供应商 <code>webhook</code>。</p><h5 id="maxretries" tabindex="-1">MaxRetries <a class="header-anchor" href="#maxretries" aria-label="Permalink to &quot;MaxRetries&quot;"></a></h5><p>当请求失败时,重试请求的次数。</p><h5 id="profiles" tabindex="-1">Profiles <a class="header-anchor" href="#profiles" aria-label="Permalink to &quot;Profiles&quot;"></a></h5><p>多配置设定。在单配置设定中,此项不进行处理。</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p><code>WebhookURL</code>、<code>WebhookRequestBody</code> 以及<code>WebhookHeaders</code>可以使用如下参数:</p><p><code>{ip}</code> - 主机当前IP</p><p><code>{domain}</code> - ddns域名</p><p><code>{type}</code> - IP类型可能为&quot;ipv4&quot;和&quot;ipv6&quot;</p><p><code>{access_id}</code> - 凭据1</p><p><code>{access_secret}</code> - 凭据2</p><p>例如以下配置:</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;">WebhookHeaders: |</span></span>
<span class="line"><span style="color:#A6ACCD;"> a:{access_id}</span></span>
<span class="line"><span style="color:#A6ACCD;"> b:{access_secret}</span></span>
<span class="line"><span style="color:#A6ACCD;">WebhookRequestBody: &#39;{&quot;domain&quot;: &quot;{domain}&quot;, &quot;ip&quot;: &quot;{ip}&quot;, &quot;type&quot;: &quot;{type}&quot;}&#39;</span></span></code></pre></div></div><h4 id="多配置" tabindex="-1">多配置 <a class="header-anchor" href="#多配置" aria-label="Permalink to &quot;多配置&quot;"></a></h4><p>当使用多配置时,请将 <code>DDNS.Provider</code> 留空。如 <code>DDNS.Provider</code> 的值不为空,多配置设定将被无视。</p><div class="language-yaml"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#F07178;">DDNS</span><span style="color:#89DDFF;">:</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">Enable</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#FF9CAC;">true</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">MaxRetries</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">3</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">Profiles</span><span style="color:#89DDFF;">:</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">example</span><span style="color:#89DDFF;">:</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">Provider</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;&quot;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">AccessID</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;&quot;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">AccessSecret</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;&quot;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">WebhookMethod</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;&quot;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">WebhookURL</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;&quot;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">WebhookRequestBody</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;&quot;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">WebhookHeaders</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;&quot;</span></span></code></pre></div><h5 id="profiles-1" tabindex="-1">Profiles <a class="header-anchor" href="#profiles-1" aria-label="Permalink to &quot;Profiles&quot;"></a></h5><p>多配置设定。</p><h5 id="example" tabindex="-1">example <a class="header-anchor" href="#example" aria-label="Permalink to &quot;example&quot;"></a></h5><p>你的 DDNS 配置名,可填任意字符串。</p><p>其它选项请参考<a href="#单配置">单配置</a>段。</p><h3 id="dashboard-配置" tabindex="-1">Dashboard 配置 <a class="header-anchor" href="#dashboard-配置" aria-label="Permalink to &quot;Dashboard 配置&quot;"></a></h3><p>修改好配置文件后,还需要在 Dashboard 中修改服务器设置才能使 DDNS 生效。 DDNS 相关选项说明:</p><ul><li>启用DDNS 为此服务器启用 DDNS 功能。</li><li>启用DDNS IPv4 更新 DDNS 记录时,启用 IPv4 解析。</li><li>启用DDNS IPv6 更新 DDNS 记录时,启用 IPv6 解析。</li><li>DDNS域名 记录指向的域名。</li><li>DDNS配置 在多配置情况下,要使用的 DDNS 配置。</li></ul><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>在 Dashboard 设置中修改配置并保存时,会在 <code>config.yaml</code> 中填入默认配置选项,此时 DDNS 段中会同时存在单配置和多配置的选项。</p><p>如需使用单配置,请无视 <code>Profiles</code> 选项相关内容。</p><p>如需使用多配置,请将 <code>DDNS.Provider</code> 留空。如 <code>DDNS.Provider</code> 的值不为空,多配置设定将被无视。</p></div><h3 id="查看日志" tabindex="-1">查看日志 <a class="header-anchor" href="#查看日志" aria-label="Permalink to &quot;查看日志&quot;"></a></h3><p>在 Dashboard 的日志中,可以看到 DDNS 功能的相关日志,配置正确时,更新 DNS 记录时会有相应的日志记录。</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">dashboard_1</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">2024/03/16</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">23</span><span style="color:#C3E88D;">:16:25</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">NEZH</span><span style="color:#A6ACCD;">A</span><span style="color:#89DDFF;">&gt;&gt;</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">正在尝试更新域名</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">ddns.example.com</span><span style="color:#89DDFF;">)</span><span style="color:#C3E88D;">DDNS</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">1/3</span><span style="color:#89DDFF;">)</span></span>
<span class="line"><span style="color:#FFCB6B;">dashboard_1</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">2024/03/16</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">23</span><span style="color:#C3E88D;">:16:28</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">NEZH</span><span style="color:#A6ACCD;">A</span><span style="color:#89DDFF;">&gt;&gt;</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">尝试更新域名</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">ddns.example.com</span><span style="color:#89DDFF;">)</span><span style="color:#C3E88D;">DDNS成功</span></span></code></pre></div>`,63),p=[n];function t(r,c,d,i,D,h){return s(),e("div",null,p)}const C=a(l,[["render",t]]);export{u as __pageData,C as default};