141 lines
52 KiB
JavaScript
141 lines
52 KiB
JavaScript
import{_ as s,o as a,c as n,R as l}from"./chunks/framework.44fd0451.js";const A=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/agent.md","filePath":"guide/agent.md","lastUpdated":1714679251000}'),p={name:"guide/agent.md"},o=l(`<p><strong>哪吒监控的被控端服务被称为 Agent,本文档将介绍如何在被控端服务器上安装 Agent,并与 Dashboard 连接</strong></p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>Agent 二进制文件仓库地址为:<a href="https://github.com/nezhahq/agent/releases" target="_blank" rel="noreferrer">https://github.com/nezhahq/agent/releases</a></p></div><h2 id="一键安装-agent" tabindex="-1">一键安装 Agent <a class="header-anchor" href="#一键安装-agent" aria-label="Permalink to "一键安装 Agent""></a></h2><p>目前哪吒监控已支持在 Windows 和 Linux上一键安装 Agent,遵循本文档的步骤,你可以很轻松的在服务器上部署它<br><br></p><h3 id="准备工作" tabindex="-1">准备工作 <a class="header-anchor" href="#准备工作" aria-label="Permalink to "准备工作""></a></h3><p>你需要提前在管理面板中设置好通信域名,此域名不可以接入CDN,这里以示例通信域名 “data.example.com” 来做演示<br> 进入后台管理面板,转到“设置”页,在“未接入 CDN 的面板服务器域名/IP”项中填入通信域名,然后点击"保存"<br><br></p><h3 id="在-linux-中一键安装-ubuntu、debian、centos" tabindex="-1">在 Linux 中一键安装 (Ubuntu、Debian、CentOS) <a class="header-anchor" href="#在-linux-中一键安装-ubuntu、debian、centos" aria-label="Permalink to "在 Linux 中一键安装 (Ubuntu、Debian、CentOS)""></a></h3><ul><li>首先在管理面板中添加一台服务器</li><li>点击新添加的服务器旁,绿色的 Linux 图标按钮,复制一键安装命令</li><li>在被控端服务器中运行复制的一键安装命令,等待安装完成后返回到 Dashboard 主页查看服务器是否上线<br><br></li></ul><h3 id="在-windows-中一键安装" tabindex="-1">在 Windows 中一键安装 <a class="header-anchor" href="#在-windows-中一键安装" aria-label="Permalink to "在 Windows 中一键安装""></a></h3><ul><li>首先在管理面板中添加一台服务器</li><li>点击新添加的服务器旁,绿色的 Windows 图标按钮,复制一键安装命令</li><li>进入 Windows 服务器,运行 PowerShell,在 PowerShell 中运行复制的安装命令</li><li>如遇到确认「执行策略变更」请选择 Y</li><li>等待安装完成后返回 Dashboard 主页查看服务器是否上线<br><br></li></ul><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>如果在 Powershell 中运行一键安装命令时遇到错误,请尝试下方的<strong>在 Windows 中手动安装 Agent</strong></p></div><br><h2 id="其他方式安装-agent" tabindex="-1">其他方式安装 Agent <a class="header-anchor" href="#其他方式安装-agent" aria-label="Permalink to "其他方式安装 Agent""></a></h2><h3 id="在-linux-中安装-agent-ubuntu、debian、centos" tabindex="-1">在 Linux 中安装 Agent (Ubuntu、Debian、CentOS) <a class="header-anchor" href="#在-linux-中安装-agent-ubuntu、debian、centos" aria-label="Permalink to "在 Linux 中安装 Agent (Ubuntu、Debian、CentOS)""></a></h3><ul><li>首先在管理面板中添加一台服务器</li><li>在被控服务器中,运行脚本(位于中国大陆的服务器请使用镜像):</li></ul><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-L</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nezha.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nezha.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">sudo</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">./nezha.sh</span></span></code></pre></div><p>如果你的被控服务器位于中国大陆,可以使用镜像:</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-L</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://gitee.com/naibahq/nezha/raw/master/script/install.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nezha.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nezha.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">sudo</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">CN=</span><span style="color:#89DDFF;">true</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">./nezha.sh</span></span></code></pre></div><ul><li>选择“安装监控 Agent”</li><li>输入通信域名,如:”data.example.com“</li><li>输入面板通信端口( gRPC 端口),默认为 5555</li><li>输入 Agent 密钥,Agent 密钥在管理面板中添加服务器时生成,可以在管理面板中的“服务器”页中找到</li><li>等待安装完成后返回 Dashboard 主页查看服务器是否上线<br><br></li></ul><h3 id="在-其他-linux-如-alpine-使用-openrc-的发行版-安装-agent" tabindex="-1">在 其他 Linux 如 Alpine 使用 Openrc 的发行版 安装 Agent <a class="header-anchor" href="#在-其他-linux-如-alpine-使用-openrc-的发行版-安装-agent" aria-label="Permalink to "在 其他 Linux 如 Alpine 使用 Openrc 的发行版 安装 Agent""></a></h3><p>本节内容由 <a href="https://github.com/unknwon0054" target="_blank" rel="noreferrer">unknown0054</a> 贡献</p><ul><li>修改 SERVER、SECRET、TLS 然后在 shell 中执行</li></ul><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;">cat</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">></span><span style="color:#C3E88D;">/etc/init.d/nezha-agent</span><span style="color:#89DDFF;"><<</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">EOF</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">#!/sbin/openrc-run</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">SERVER="" #Dashboard 地址 ip:port</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">SECRET="" #SECRET</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">TLS="" # 是否启用 tls 是 "--tls" 否留空</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">NZ_BASE_PATH="/opt/nezha"</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">NZ_AGENT_PATH="</span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">NZ_BASE_PATH</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;">/agent"</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">pidfile="/run/</span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">RC_SVCNAME</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;">.pid"</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">command="/opt/nezha/agent/nezha-agent"</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">command_args="-s </span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">SERVER</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;"> -p </span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">SECRET</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">TLS</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;">"</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">command_background=true</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">depend() {</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> need net</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">}</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">checkconfig() {</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> GITHUB_URL="github.com"</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> if [ ! -f "</span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">NZ_AGENT_PATH</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;">/nezha-agent" ]; then</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> if [[ </span><span style="color:#89DDFF;">$(</span><span style="color:#FFCB6B;">uname</span><span style="color:#C3E88D;"> -m </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">x86_64</span><span style="color:#89DDFF;">')</span><span style="color:#C3E88D;"> != "" ]]; then</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> os_arch="amd64"</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> elif [[ </span><span style="color:#89DDFF;">$(</span><span style="color:#FFCB6B;">uname</span><span style="color:#C3E88D;"> -m </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">i386\\|i686</span><span style="color:#89DDFF;">')</span><span style="color:#C3E88D;"> != "" ]]; then</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> os_arch="386"</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> elif [[ </span><span style="color:#89DDFF;">$(</span><span style="color:#FFCB6B;">uname</span><span style="color:#C3E88D;"> -m </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">aarch64\\|armv8b\\|armv8l</span><span style="color:#89DDFF;">')</span><span style="color:#C3E88D;"> != "" ]]; then</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> os_arch="arm64"</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> elif [[ </span><span style="color:#89DDFF;">$(</span><span style="color:#FFCB6B;">uname</span><span style="color:#C3E88D;"> -m </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">arm</span><span style="color:#89DDFF;">')</span><span style="color:#C3E88D;"> != "" ]]; then</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> os_arch="arm"</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> elif [[ </span><span style="color:#89DDFF;">$(</span><span style="color:#FFCB6B;">uname</span><span style="color:#C3E88D;"> -m </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">s390x</span><span style="color:#89DDFF;">')</span><span style="color:#C3E88D;"> != "" ]]; then</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> os_arch="s390x"</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> elif [[ </span><span style="color:#89DDFF;">$(</span><span style="color:#FFCB6B;">uname</span><span style="color:#C3E88D;"> -m </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">riscv64</span><span style="color:#89DDFF;">')</span><span style="color:#C3E88D;"> != "" ]]; then</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> os_arch="riscv64"</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> fi</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> local version=</span><span style="color:#89DDFF;">$(</span><span style="color:#FFCB6B;">curl</span><span style="color:#C3E88D;"> -m </span><span style="color:#F78C6C;">10</span><span style="color:#C3E88D;"> -sL </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">https://api.github.com/repos/nezhahq/agent/releases/latest</span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">tag_name</span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">head</span><span style="color:#C3E88D;"> -n </span><span style="color:#F78C6C;">1</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">awk</span><span style="color:#C3E88D;"> -F </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">:</span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">{print $2}</span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">sed</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">s/\\"//g;s/,//g;s/ //g</span><span style="color:#89DDFF;">')</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> if [ ! -n "</span><span style="color:#A6ACCD;">$version</span><span style="color:#C3E88D;">" ]; then</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> version=</span><span style="color:#89DDFF;">$(</span><span style="color:#FFCB6B;">curl</span><span style="color:#C3E88D;"> -m </span><span style="color:#F78C6C;">10</span><span style="color:#C3E88D;"> -sL </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">https://fastly.jsdelivr.net/gh/nezhahq/agent/</span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">option\\.value</span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">awk</span><span style="color:#C3E88D;"> -F </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">'</span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">{print $2}</span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">sed</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">s/nezhahq\\/agent@/v/g</span><span style="color:#89DDFF;">')</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> fi</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> if [ ! -n "</span><span style="color:#A6ACCD;">$version</span><span style="color:#C3E88D;">" ]; then</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> version=</span><span style="color:#89DDFF;">$(</span><span style="color:#FFCB6B;">curl</span><span style="color:#C3E88D;"> -m </span><span style="color:#F78C6C;">10</span><span style="color:#C3E88D;"> -sL </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">https://gcore.jsdelivr.net/gh/nezhahq/agent/</span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">option\\.value</span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">awk</span><span style="color:#C3E88D;"> -F </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">'</span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">{print $2}</span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">sed</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">s/nezhahq\\/agent@/v/g</span><span style="color:#89DDFF;">')</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> fi</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> if [ ! -n "</span><span style="color:#A6ACCD;">$version</span><span style="color:#C3E88D;">" ]; then</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> echo -e "获取版本号失败,请检查本机能否链接 https://api.github.com/repos/nezhahq/agent/releases/latest"</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> return 0</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> else</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> echo -e "当前最新版本为: </span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">version</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;">"</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> fi</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> wget -t 2 -T 10 -O nezha-agent_linux_</span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">os_arch</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;">.zip https://</span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">GITHUB_URL</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;">/nezhahq/agent/releases/download/</span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">version</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;">/nezha-agent_linux_</span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">os_arch</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;">.zip >/dev/null 2>&1</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> if [[ </span><span style="color:#A6ACCD;">$?</span><span style="color:#C3E88D;"> != 0 ]]; then</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> echo -e "Release 下载失败,请检查本机能否连接 </span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">GITHUB_URL</span><span style="color:#89DDFF;">}\${</span><span style="color:#A6ACCD;">plain</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;">"</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> return 0</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> fi</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> mkdir -p </span><span style="color:#A6ACCD;">$NZ_AGENT_PATH</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> chmod 755 -R </span><span style="color:#A6ACCD;">$NZ_AGENT_PATH</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> unzip -qo nezha-agent_linux_</span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">os_arch</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;">.zip && mv nezha-agent </span><span style="color:#A6ACCD;">$NZ_AGENT_PATH</span><span style="color:#C3E88D;"> && rm -rf nezha-agent_linux_</span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">os_arch</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;">.zip README.md</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> fi</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> if [ ! -x "</span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">NZ_AGENT_PATH</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;">/nezha-agent" ]; then</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> chmod +x </span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">NZ_AGENT_PATH</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;">/nezha-agent</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> fi</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">}</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">start_pre() {</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> if [ "</span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">RC_CMD</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;">" != "restart" ]; then</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> checkconfig || return </span><span style="color:#A6ACCD;">$?</span></span>
|
||
<span class="line"><span style="color:#C3E88D;"> fi</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">}</span></span>
|
||
<span class="line"><span style="color:#89DDFF;">EOF</span></span></code></pre></div><ul><li><p>增加运行权限</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;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/init.d/nezha-agent</span></span></code></pre></div></li><li><p>运行 Nezha-Agent</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;">rc-service</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nezha-agent</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">start</span></span></code></pre></div></li><li><p>添加开机自启动</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;">rc-update</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">add</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nezha-agent</span></span></code></pre></div></li></ul><h3 id="在-windows-中手动安装-agent" tabindex="-1">在 Windows 中手动安装 Agent <a class="header-anchor" href="#在-windows-中手动安装-agent" aria-label="Permalink to "在 Windows 中手动安装 Agent""></a></h3><ul><li>请参考社区文章:<br><a href="https://nyko.me/2020/12/13/nezha-windows-client.html" target="_blank" rel="noreferrer">哪吒探针 - Windows 客户端安装</a><br><br></li></ul><h3 id="在-群晖dsm-中安装-agent" tabindex="-1">在 群晖DSM 中安装 Agent <a class="header-anchor" href="#在-群晖dsm-中安装-agent" aria-label="Permalink to "在 群晖DSM 中安装 Agent""></a></h3><ul><li><p>请参考社区文章:<br><a href="https://blog.mitsea.com/3929551d08bd4bb0a8baa453e2d92b0c/" target="_blank" rel="noreferrer">群晖 DSM 7.x 安装 哪吒监控 Agent</a><br><a href="https://wl.gta5pdx.cn/archives/546/" target="_blank" rel="noreferrer">哪吒探针——群晖客户端(被控端)安装教程</a></p></li><li><p>Systemd 实现 <em>仅适用于 DSM7</em>:</p><div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#676E95;font-style:italic;"># 客户端路径</span></span>
|
||
<span class="line"><span style="color:#A6ACCD;">EXEC</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">/PATH/TO/nezha-agent</span><span style="color:#89DDFF;">"</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># 日志路径地址</span></span>
|
||
<span class="line"><span style="color:#A6ACCD;">LOG</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">"\${</span><span style="color:#A6ACCD;">EXEC</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;">.log</span><span style="color:#89DDFF;">"</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># 额外执行参数, 可留空</span></span>
|
||
<span class="line"><span style="color:#A6ACCD;">ARGS</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">--disable-command-execute</span><span style="color:#89DDFF;">"</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># 哪吒服务端gRPC地址</span></span>
|
||
<span class="line"><span style="color:#A6ACCD;">SERVER</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">HOST_OR_IP:gRPC_PORT</span><span style="color:#89DDFF;">"</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># 上一步获取的主机密钥</span></span>
|
||
<span class="line"><span style="color:#A6ACCD;">SECRET</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">APP_SECRET</span><span style="color:#89DDFF;">"</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># 服务运行用户名, *强烈建议使用非root用户执行*</span></span>
|
||
<span class="line"><span style="color:#A6ACCD;">RUN_USER</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">nezha</span><span style="color:#89DDFF;">"</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># 写入到systemd服务文件</span></span>
|
||
<span class="line"><span style="color:#FFCB6B;">cat</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"><<</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">EOF</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">></span><span style="color:#A6ACCD;"> /usr/lib/systemd/system/nezha.service</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">[Unit]</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">Description=Nezha Agent Service</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">After=network.target</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#C3E88D;">[Service]</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">Type=simple</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">ExecStart=/bin/nohup </span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">EXEC</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">ARGS</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;"> -s </span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">SERVER</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;"> -p </span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">SECRET</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;"> &>> </span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">LOG</span><span style="color:#89DDFF;">}</span><span style="color:#C3E88D;"> &</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">ExecStop=ps -fe |grep nezha-agent|awk '{print </span><span style="color:#A6ACCD;">\\$</span><span style="color:#C3E88D;">2}'|xargs kill</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">User=</span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">RUN_USER</span><span style="color:#89DDFF;">}</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">Restart=on-abort</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#C3E88D;">[Install]</span></span>
|
||
<span class="line"><span style="color:#C3E88D;">WantedBy=multi-user.target</span></span>
|
||
<span class="line"><span style="color:#89DDFF;">EOF</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># 重载服务</span></span>
|
||
<span class="line"><span style="color:#FFCB6B;">systemctl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">daemon-reload</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># 启动服务</span></span>
|
||
<span class="line"><span style="color:#FFCB6B;">systemctl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">start</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nezha</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># 服务自启动</span></span>
|
||
<span class="line"><span style="color:#FFCB6B;">systemctl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">enable</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nezha</span></span></code></pre></div><p>‼️修改对应信息后‼️</p><p>使用 <code>root</code> 账号执行上述命令即可安装完成</p></li></ul><br><h3 id="在-macos-中安装-agent" tabindex="-1">在 MacOS 中安装 Agent <a class="header-anchor" href="#在-macos-中安装-agent" aria-label="Permalink to "在 MacOS 中安装 Agent""></a></h3><p><em><strong>本节内容改编自 <a href="https://blog.mitsea.com/e796f93db38d49e4b18df234c6ee75f5" target="_blank" rel="noreferrer">Mitsea Blog</a>,改编已获得原作者授权</strong></em><br><br></p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>安装过程中如提示“macOS 无法验证此 app“,请前往系统设置手动允许程序运行</p></div><ul><li>首先在管理面板中添加一台服务器</li><li>前往 <a href="https://github.com/nezhahq/agent/releases" target="_blank" rel="noreferrer">Release</a> 页下载 Agent 二进制文件,根据 CPU 架构选择下载 darwin amd64 还是 arm64 的 Agent<br> 如 Intel CPU 下载 amd64,Apple Silicon 下载 arm64 版本。下载完成后解压 Agent 二进制文件,如解压到下载文件夹</li><li>新建一个名为 <code>nezha_agent.plist</code> 的文件并保存,修改文件内容如下:</li></ul><div class="language-xml"><button title="Copy Code" class="copy"></button><span class="lang">xml</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#89DDFF;"><?</span><span style="color:#F07178;">xml</span><span style="color:#C792EA;"> version</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">1.0</span><span style="color:#89DDFF;">"</span><span style="color:#C792EA;"> encoding</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">UTF-8</span><span style="color:#89DDFF;">"</span><span style="color:#89DDFF;">?></span></span>
|
||
<span class="line"><span style="color:#89DDFF;"><!</span><span style="color:#F78C6C;">DOCTYPE</span><span style="color:#89DDFF;"> </span><span style="color:#A6ACCD;">plist</span><span style="color:#89DDFF;"> PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"></span></span>
|
||
<span class="line"><span style="color:#89DDFF;"><</span><span style="color:#F07178;">plist</span><span style="color:#89DDFF;"> </span><span style="color:#C792EA;">version</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">1.0</span><span style="color:#89DDFF;">"</span><span style="color:#89DDFF;">></span></span>
|
||
<span class="line"><span style="color:#89DDFF;"><</span><span style="color:#F07178;">dict</span><span style="color:#89DDFF;">></span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"><</span><span style="color:#F07178;">key</span><span style="color:#89DDFF;">></span><span style="color:#A6ACCD;">KeepAlive</span><span style="color:#89DDFF;"></</span><span style="color:#F07178;">key</span><span style="color:#89DDFF;">></span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"><</span><span style="color:#F07178;">true</span><span style="color:#89DDFF;">/></span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"><</span><span style="color:#F07178;">key</span><span style="color:#89DDFF;">></span><span style="color:#A6ACCD;">Label</span><span style="color:#89DDFF;"></</span><span style="color:#F07178;">key</span><span style="color:#89DDFF;">></span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"><</span><span style="color:#F07178;">string</span><span style="color:#89DDFF;">></span><span style="color:#A6ACCD;">nezha_agent</span><span style="color:#89DDFF;"></</span><span style="color:#F07178;">string</span><span style="color:#89DDFF;">></span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"><</span><span style="color:#F07178;">key</span><span style="color:#89DDFF;">></span><span style="color:#A6ACCD;">Program</span><span style="color:#89DDFF;"></</span><span style="color:#F07178;">key</span><span style="color:#89DDFF;">></span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"><</span><span style="color:#F07178;">string</span><span style="color:#89DDFF;">></span><span style="color:#A6ACCD;">在这里修改 Agent 二进制文件的的路径,如:/Users/123/Downloads/nezha-agent</span><span style="color:#89DDFF;"></</span><span style="color:#F07178;">string</span><span style="color:#89DDFF;">></span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"><</span><span style="color:#F07178;">key</span><span style="color:#89DDFF;">></span><span style="color:#A6ACCD;">ProgramArguments</span><span style="color:#89DDFF;"></</span><span style="color:#F07178;">key</span><span style="color:#89DDFF;">></span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"><</span><span style="color:#F07178;">array</span><span style="color:#89DDFF;">></span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"><</span><span style="color:#F07178;">string</span><span style="color:#89DDFF;">></span><span style="color:#A6ACCD;">在这里修改 Agent 二进制文件的的路径,同上</span><span style="color:#89DDFF;"></</span><span style="color:#F07178;">string</span><span style="color:#89DDFF;">></span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"><</span><span style="color:#F07178;">string</span><span style="color:#89DDFF;">></span><span style="color:#A6ACCD;">--password</span><span style="color:#89DDFF;"></</span><span style="color:#F07178;">string</span><span style="color:#89DDFF;">></span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"><</span><span style="color:#F07178;">string</span><span style="color:#89DDFF;">></span><span style="color:#A6ACCD;">通信密钥,如:529664783eeb23cc25</span><span style="color:#89DDFF;"></</span><span style="color:#F07178;">string</span><span style="color:#89DDFF;">></span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"><</span><span style="color:#F07178;">string</span><span style="color:#89DDFF;">></span><span style="color:#A6ACCD;">--server</span><span style="color:#89DDFF;"></</span><span style="color:#F07178;">string</span><span style="color:#89DDFF;">></span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"><</span><span style="color:#F07178;">string</span><span style="color:#89DDFF;">></span><span style="color:#A6ACCD;">通信网址和gRPC端口,如:data.example.com:5555</span><span style="color:#89DDFF;"></</span><span style="color:#F07178;">string</span><span style="color:#89DDFF;">></span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"></</span><span style="color:#F07178;">array</span><span style="color:#89DDFF;">></span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"><</span><span style="color:#F07178;">key</span><span style="color:#89DDFF;">></span><span style="color:#A6ACCD;">RunAtLoad</span><span style="color:#89DDFF;"></</span><span style="color:#F07178;">key</span><span style="color:#89DDFF;">></span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"><</span><span style="color:#F07178;">true</span><span style="color:#89DDFF;">/></span></span>
|
||
<span class="line"><span style="color:#89DDFF;"></</span><span style="color:#F07178;">dict</span><span style="color:#89DDFF;">></span></span>
|
||
<span class="line"><span style="color:#89DDFF;"></</span><span style="color:#F07178;">plist</span><span style="color:#89DDFF;">></span></span></code></pre></div><ul><li>在 Terminal 中使用下面的命令加载 plist 文件到 launchd 里,<strong>注意替换文件路径</strong></li></ul><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;">launchctl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">load</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/Users/123/Desktop/nezha_agent.plist</span></span></code></pre></div><ul><li>启动进程</li></ul><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;">launchctl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">start</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nezha_agent</span></span></code></pre></div><ul><li>检查进程是否运行</li></ul><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;">launchctl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">list</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nezha_agent</span></span></code></pre></div><ul><li>停止进程并移除</li></ul><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;">launchctl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">stop</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nezha_agent</span></span></code></pre></div><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;">launchctl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">remove</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nezha_agent</span></span></code></pre></div><br><h3 id="在-macos-中使用-homebrew-安装-agent" tabindex="-1">在 macOS 中使用 Homebrew 安装 Agent <a class="header-anchor" href="#在-macos-中使用-homebrew-安装-agent" aria-label="Permalink to "在 macOS 中使用 Homebrew 安装 Agent""></a></h3><p><em><strong>本节内容改编自 <a href="https://blog.mre.red/archives/install_nezha_monitoring_agent_service_with_homebrew" target="_blank" rel="noreferrer">🐿️松鼠收集🌰</a>,改编已获得原作者授权</strong></em></p><ul><li>添加 Homebrew 第三方仓库</li></ul><p><em><strong>由于暂未提交到 Homebrew Core 官方库,暂时放在上述博客作者参与维护的第三方 Homebrew 仓库中</strong></em></p><div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">brew</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">tap</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">brewforge/chinese</span></span></code></pre></div><ul><li>安装 Nezha Agent</li></ul><div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">brew</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">install</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nezha-agent</span></span></code></pre></div><ul><li>添加环境变量</li></ul><div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#82AAFF;">echo</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">export HOMEBREW_NEZHA_AGENT_PASSWORD="你的密钥,在你的服务页面获取"</span><span style="color:#89DDFF;">'</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">>></span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">~/.zshrc</span></span>
|
||
<span class="line"><span style="color:#82AAFF;">echo</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">export HOMEBREW_NEZHA_AGENT_SERVER="你的服务器和端口,格式 your.domain:5555 "</span><span style="color:#89DDFF;">'</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">>></span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">~/.zshrc</span></span>
|
||
<span class="line"><span style="color:#82AAFF;">source</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">~/.zshrc</span></span></code></pre></div><ul><li>通过 Homebrew 启动 Nezha Agent 服务</li></ul><div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">brew</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">services</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">start</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nezha-agent</span></span></code></pre></div><ul><li>检查服务状态</li></ul><div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">brew</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">services</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">info</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nezha-agent</span></span></code></pre></div><ul><li>停止服务</li></ul><div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">brew</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">services</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">stop</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nezha-agent</span></span></code></pre></div><ul><li>卸载 Nezha Agent</li></ul><div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">brew</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">rm</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nezha-agent</span></span></code></pre></div><br><h3 id="在-openwrt-中安装-agent" tabindex="-1">在 OpenWRT 中安装 Agent <a class="header-anchor" href="#在-openwrt-中安装-agent" aria-label="Permalink to "在 OpenWRT 中安装 Agent""></a></h3><p><strong>如何 一步到位,解决安装过程疑难杂症</strong></p><ul><li>请参考项目:<br><a href="https://github.com/dysf888/NZ-OpenWrt" target="_blank" rel="noreferrer">NZ-OpenWrt</a><br><br></li></ul><p><strong>如何使 旧版 OpenWRT/LEDE 自启动</strong></p><ul><li>请参考项目:<br><a href="https://github.com/Erope/openwrt_nezha" target="_blank" rel="noreferrer">哪吒监控 For OpenWRT</a><br><br></li></ul><p><strong>如何使 新版 OpenWRT 自启动?来自 @艾斯德斯</strong></p><ul><li>首先在 release 下载对应的二进制解压 zip 包后放置到 <code>/root</code></li><li>运行 <code>chmod +x /root/nezha-agent</code> 赋予执行权限,然后创建 <code>/etc/init.d/nezha-service</code>:</li></ul><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:#676E95;font-style:italic;">#!/bin/sh /etc/rc.common</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#A6ACCD;">START</span><span style="color:#89DDFF;">=</span><span style="color:#F78C6C;">99</span></span>
|
||
<span class="line"><span style="color:#A6ACCD;">USE_PROCD</span><span style="color:#89DDFF;">=</span><span style="color:#F78C6C;">1</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#82AAFF;">start_service</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:#FFCB6B;">procd_open_instance</span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">procd_set_param</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">command</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/root/nezha-agent</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-s</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">面板通信地址:端口</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-p</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">秘钥</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-d</span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">procd_set_param</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">respawn</span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">procd_close_instance</span></span>
|
||
<span class="line"><span style="color:#89DDFF;">}</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#82AAFF;">stop_service</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:#FFCB6B;">killall</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nezha-agent</span></span>
|
||
<span class="line"><span style="color:#89DDFF;">}</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#82AAFF;">restart</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:#FFCB6B;">stop</span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">sleep</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">2</span></span>
|
||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">start</span></span>
|
||
<span class="line"><span style="color:#89DDFF;">}</span></span></code></pre></div><ul><li>运行 <code>chmod +x /etc/init.d/nezha-service</code> 赋予执行权限</li><li>启动服务: <code>/etc/init.d/nezha-service enable && /etc/init.d/nezha-service start</code><br><br></li></ul><br><h2 id="faq" tabindex="-1">FAQ <a class="header-anchor" href="#faq" aria-label="Permalink to "FAQ""></a></h2><h3 id="agent-有-docker-镜像吗" tabindex="-1">Agent 有 Docker 镜像吗? <a class="header-anchor" href="#agent-有-docker-镜像吗" aria-label="Permalink to "Agent 有 Docker 镜像吗?""></a></h3><p><strong>Agent 目前没有推出 Docker 镜像。</strong><br> Agent 的设计思路和 Dashboard 相反,Dashboard 要尽可能不影响宿主机工作,但 Agent 则需要在宿主机中执行监控服务和运行命令。<br> 将 Agent 放入容器中确实可以继续执行监控任务,但 WebShell 等功能无法正常运行,因此不提供 Docker 镜像。</p>`,75),e=[o];function t(c,r,D,y,C,i){return a(),n("div",null,e)}const h=s(p,[["render",t]]);export{A as __pageData,h as default};
|