记录nezha agent的配置修改过程(密钥、API等)

本文章来源 keke.su/posts/2025-...

前言

最近将nezha后端的地址全部换了个域名,命名更加合理了。

但是问题来了,10多台服务器不同的系统需要一个一个去替换api地址,还是有点麻烦的。

所以今天记录一下配置修改过程,以便后续查看。

Linux agent修改

nezha-agent在Linux中大部分以服务形式运行,因此下面的教程适用于这种情形。

使用如下步骤:

  1. 首先,修改之前,先确定你的nezha agent采用systemd方式运行。

    bash 复制代码
    root@MRCz2-VMdebian:~# systemctl status nezha-agent
    ● nezha-agent.service - 哪吒探针监控端
         Loaded: loaded (/etc/systemd/system/nezha-agent.service; enabled; preset: enabled)
         Active: active (running) since Tue 2025-02-11 16:19:52 HKT; 2h 53min ago
       Main PID: 1376213 (nezha-agent)
          Tasks: 17 (limit: 19096)
         Memory: 19.7M
            CPU: 3min 15.341s
         CGroup: /system.slice/nezha-agent.service
                 └─1376213 /opt/nezha/agent/nezha-agent -s abc.abc.com:443 -p WhP3TPnXZd484Eajv9 --tls
    
    Feb 11 16:19:52 MRCz2-VMdebian systemd[1]: Started nezha-agent.service - 哪吒探针监控端.

    可以看到确实nezha agent注册了服务,记下地址/etc/systemd/system/nezha-agent.service

  2. 修改之前先停止服务sudo systemctl stop nezha-agent.service

  3. 可以选择使用nano /etc/systemd/system/nezha-agent.service自行修改里面的配置内容。

    如果你跟博主一样也只是修改个api地址,可以使用如下命令将旧的服务地址进行替换:sudo sed -i 's/abc\.abc\.com/cde.cde.com/g' /etc/systemd/system/nezha-agent.service(假设你的旧api地址为abc.abc.com,新的地址为cde.cde.com,注意原地址在命令中要以\转义.号)

  4. 重新加载并重启服务 sudo systemctl daemon-reload&&sudo systemctl enable nezha-agent.service&&sudo systemctl start nezha-agent.service

  5. 观察nezha dashboard是否成功接收nezha agent的连接。

Windows agent修改

windows中的nezha agent大部分也是注册成了系统中的服务运行,如下所示:

然后,具体的配置形式是记录在了注册表中,所以我们需要修改注册表。

使用如下步骤:

  1. 使用 管理员权限 打开PowerShell

  2. 修改之前,需要先停止当前nezha agent服务,使用net stop nezha-agent

  3. 使用reg query "HKLM\SYSTEM\CurrentControlSet\Services\nezha-agent" /v ImagePath命令,查询当前nezha agent的信息,并记录下来。

    比如:

    powershell 复制代码
    PS C:\Windows\system32> reg query "HKLM\SYSTEM\CurrentControlSet\Services\nezha-agent" /v ImagePath
    
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nezha-agent
        ImagePath    REG_EXPAND_SZ    C:\nezha\nezha-agent.exe -s abc.abc.com:443 -p WhP3TPnXZd484Eajv9 --tls

    记下C:\nezha\nezha-agent.exe -s abc.abc.com:443 -p WhP3TPnXZd484Eajv9 --tls,然后根据需要修改需要的部分,比如博主将api地址修改为cde.cde.com,即:C:\nezha\nezha-agent.exe -s cde.cde.com:443 -p WhP3TPnXZd484Eajv9 --tls

  4. 使用reg add替换注册表的目标项,reg add "HKLM\SYSTEM\CurrentControlSet\Services\nezha-agent" /v ImagePath /t REG_EXPAND_SZ /d "上一步记下的部分" /f。比如:reg add "HKLM\SYSTEM\CurrentControlSet\Services\nezha-agent" /v ImagePath /t REG_EXPAND_SZ /d "C:\nezha\nezha-agent.exe -s cde.cde.com:443 -p WhP3TPnXZd484Eajv9 --tls" /f

  5. 重启服务,使用net start nezha-agent

  6. 观察nezha dashboard是否成功接收nezha agent的连接。

特别篇:修改Serv00的nezha agent(使用vfhky大佬的保活脚本)

喜欢折腾Serv00主机的朋友,并且使用 vfhky/serv00_ct8_nezha 大佬的保活脚本的,可以看这篇进行修改。

Serv00是基于FreeBSD系统,vfhky大佬的脚本事实上将nezha agent以nohup方式进行运行。

我们可以通过ps aux | grep nezha查看到该进程,然后配置是保存在/home/你的用户id/nezha_app/agent/nezha-agent.sh中。

使用如下步骤进行配置的修改:

  1. 登录Serv00的ssh,先使用ps aux | grep nezha,找到进程的pid。

    比如:

    bash 复制代码
    [abcdefg@s16]:<~/nezha_app/agent>$ ps aux | grep nezha
    abcdefg 27074  0.0  0.0 729912 19304   -  SN   12:30   0:00.68 /home/abcdefg/nezha_app/agent/nezha-ag
    abcdefg  5227  0.0  0.0  12888  2084 242  SN+  12:34   0:00.00 grep nezha

    记下pid27074,然后使用kill 27074,或kill -9 27074杀掉该进程。然后再次使用ps aux | grep nezha检查进程是否还存在。

  2. 可以使用nano ~/nezha_app/agent/nezha-agent.sh直接修改里面的配置文件。如果你只是更改api地址,可以使用该命令进行替换:sed -i '' 's/abc\.abc\.com/cde.cde.com/g' ~/nezha_app/agent/nezha-agent.sh(注意这里有-i '',跟前面的教程不太一样)

  3. 替换完成后,等待保活进程自动唤起nezha agent即可(顺带也是测试了一下保活服务是否正常执行了hhh)。

本文由博客一文多发平台 OpenWrite 发布!

相关推荐
九章云极AladdinEdu1 小时前
AI集群全链路监控:从GPU微架构指标到业务Metric关联
人工智能·pytorch·深度学习·架构·开源·gpu算力
蒋星熠1 小时前
深入 Kubernetes:从零到生产的工程实践与原理洞察
人工智能·spring boot·微服务·云原生·容器·架构·kubernetes
即兴小索奇1 小时前
Google AI Mode 颠覆传统搜索方式,它是有很大可能的
前端·后端·架构
敲上瘾2 小时前
Docker 存储卷(Volume)核心概念、类型与操作指南
linux·服务器·数据库·docker·容器·架构
John_ToDebug2 小时前
从源码视角全面解析 Chrome UI 布局系统及 Views 框架的定制化实现方法与实践经验
c++·chrome·架构
一水鉴天3 小时前
整体设计 之 绪 思维导图引擎 :思维价值链分层评估的 思维引导和提示词导航 之 引 认知系统 之8 之 序 认知元架构 之3(豆包助手 之5)
架构·认知科学
uzong3 小时前
深入浅出:画好技术图
后端·架构
眠りたいです13 小时前
基于脚手架微服务的视频点播系统-播放控制部分
c++·qt·ui·微服务·云原生·架构·播放器
Aczone2815 小时前
硬件(五) 存储、ARM 架构与指令系统
arm开发·嵌入式硬件·架构
闲看云起15 小时前
从 GPT 到 LLaMA:解密 LLM 的核心架构——Decoder-Only 模型
gpt·架构·llama