接上篇https://wuyo.nl/network/37.html

其实购入这个小鸡纯纯吃灰,网络慢成渣,做科学上网的话YTB最多能跑到5000Kbps左右,勉强看1080P分辨率的视频没问题,只能拿做探针用。但不知为啥安装哪吒探针后过段时间自动离线了。登录ssh发现机器并没有重启,考虑可能是进程被杀了,通过脚本重启因为alpine无systemctl,所以重启Agent会失败。通过搜寻网络解决了此问题,记录一下,以防以后用到。

修改 SERVER、SECRET、TLS 然后在 shell 中执行

cat >/etc/init.d/nezha-agent<< EOF
#!/sbin/openrc-run
SERVER="" #Dashboard 地址 ip:port
SECRET="" #SECRET
TLS="" # 是否启用 tls 是 "--tls" 否留空
NZ_BASE_PATH="/opt/nezha"
NZ_AGENT_PATH="${NZ_BASE_PATH}/agent"
pidfile="/run/${RC_SVCNAME}.pid"
command="/opt/nezha/agent/nezha-agent"
command_args="-s ${SERVER}  -p ${SECRET} ${TLS}"
command_background=true
depend() {
    need net
}
checkconfig() {
    GITHUB_URL="github.com"
    if [ ! -f "${NZ_AGENT_PATH}/nezha-agent" ]; then
        if [[ $(uname -m | grep 'x86_64') != "" ]]; then
            os_arch="amd64"
        elif [[ $(uname -m | grep 'i386\|i686') != "" ]]; then
            os_arch="386"
        elif [[ $(uname -m | grep 'aarch64\|armv8b\|armv8l') != "" ]]; then
            os_arch="arm64"
        elif [[ $(uname -m | grep 'arm') != "" ]]; then
            os_arch="arm"
        elif [[ $(uname -m | grep 's390x') != "" ]]; then
            os_arch="s390x"
        elif [[ $(uname -m | grep 'riscv64') != "" ]]; then
            os_arch="riscv64"
        fi
        local version=$(curl -m 10 -sL "https://api.github.com/repos/naiba/nezha/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
        if [ ! -n "$version" ]; then
            version=$(curl -m 10 -sL "https://fastly.jsdelivr.net/gh/naiba/nezha/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/naiba\/nezha@/v/g')
        fi
        if [ ! -n "$version" ]; then
            version=$(curl -m 10 -sL "https://gcore.jsdelivr.net/gh/naiba/nezha/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/naiba\/nezha@/v/g')
        fi
        if [ ! -n "$version" ]; then
            echo -e "获取版本号失败,请检查本机能否链接 https://api.github.com/repos/naiba/nezha/releases/latest"
            return 0
        else
            echo -e "当前最新版本为: ${version}"
        fi
        wget -t 2 -T 10 -O nezha-agent_linux_${os_arch}.zip https://${GITHUB_URL}/naiba/nezha/releases/download/${version}/nezha-agent_linux_${os_arch}.zip >/dev/null 2>&1
        if [[ $? != 0 ]]; then
            echo -e "Release 下载失败,请检查本机能否连接 ${GITHUB_URL}${plain}"
            return 0
        fi
        mkdir -p $NZ_AGENT_PATH
        chmod 755 -R $NZ_AGENT_PATH
        unzip -qo nezha-agent_linux_${os_arch}.zip && mv nezha-agent $NZ_AGENT_PATH && rm -rf nezha-agent_linux_${os_arch}.zip README.md
    fi
    if [ ! -x "${NZ_AGENT_PATH}/nezha-agent" ]; then
        chmod +x ${NZ_AGENT_PATH}/nezha-agent
    fi
}
start_pre() {
    if [ "${RC_CMD}" != "restart" ]; then
        checkconfig || return $?
    fi
}
EOF

增加运行权限

chmod +x /etc/init.d/nezha-agent

运行 Nezha-Agent

rc-service nezha-agent start

添加开机自启动

rc-update add nezha-agent

以上内容参考自Nezha Wiki

在 其他 Linux 如 Alpine 使用 Openrc 的发行版 安装 Agent

最后修改:2023 年 05 月 03 日
如果觉得我的文章对你有用,请随意赞赏