探測器代理程式維運

檢查、設定、更新、重新啟動、監控及解除安裝 Netstamp Linux systemd 探測器代理程式。

探測器代理程式是一個 Linux 執行檔,內建 systemd 服務管理與執行排程器。

安裝的檔案

路徑用途
/usr/local/bin/netstamp-agent代理程式執行檔
/etc/netstamp/probe.env僅 root 可讀的執行憑證與控制器網址,權限模式為 0600
/etc/systemd/system/netstamp-agent.servicesystemd unit
/var/lib/netstamp專用服務帳號的家目錄與資料目錄

服務會以 netstamp 使用者與群組執行,只有 ICMP 所需的 CAP_NET_RAW 能力。systemd unit 也會啟用 NoNewPrivileges、獨立暫存目錄、受保護的家目錄,並在可行範圍內將系統檢視設為唯讀。

查看狀態與記錄

bash
sudo netstamp-agent service status
sudo systemctl status netstamp-agent
sudo journalctl -u netstamp-agent -n 200 --no-pager
sudo journalctl -u netstamp-agent --since '30 minutes ago' --follow

控制器的探測器詳細資料應顯示近期心跳、代理程式版本、位址、支援能力與上線狀態。

重新啟動與重裝憑證

bash
sudo systemctl restart netstamp-agent
sudo systemctl is-active netstamp-agent

再次執行 service install 會更新環境檔與 systemd unit,重新載入 systemd,並啟用及啟動服務:

bash
sudo netstamp-agent service install \
--url 'https://netstamp.example.com' \
--probe-id '<probe UUID>' \
--probe-secret '<new secret>'

更新執行檔

bash
sudo netstamp-agent update \
--url 'https://netstamp.example.com' \
--api-version 'v1'

代理程式會從控制器下載符合主機架構的版本,以不可分割的方式取代已安裝的執行檔;若 systemd unit 存在,也會重新啟動服務。更新後請確認控制器回報的代理程式版本及心跳都正常。

調整執行參數

編輯 /etc/netstamp/probe.env,再重新啟動服務。所有預設值請參閱設定參考

重要設定包括 worker 並行數、結果佇列與批次大小、指派存留時間與輪詢間隔、心跳間隔、重試退避、關機逾時及記錄層級。

Metrics 與 pprof

這兩個診斷 listener 預設都不會啟用。除非受保護的監控網路確實需要連入,否則請只綁定 loopback:

dotenv
NETSTAMP_PROBE_METRICS_ADDR=127.0.0.1:9091
NETSTAMP_PROBE_PPROF_ADDR=127.0.0.1:6060

重新啟動後可用下列命令測試:

bash
curl http://127.0.0.1:9091/metrics
curl http://127.0.0.1:6060/debug/pprof/

pprof 可能揭露敏感的執行狀態,絕對不要直接公開到網際網路。

解除安裝

如果可能稍後重新安裝,可保留設定與服務帳號:

bash
sudo netstamp-agent service uninstall

若也要移除環境檔、資料目錄、使用者與群組:

bash
sudo netstamp-agent service uninstall --purge

解除安裝主機上的代理程式不會刪除 Netstamp 中的探測器。若不再需要該資源,仍須另外在控制器中停用或刪除。