手動安裝syAgent的代理程式
發佈於 2023年7月3日 (最後修改於 2024年12月27日) • 2 分鐘 閱讀 • 904 字syAgent是頗為推薦的免費線上主機監視服務,主要因素有:
但可惜的是,目前syAgent的安裝方式是在建立監控主機標的時,必須在主機以root權限執行bash指令來安裝;而我希望監控的對象包含兩台Sysnology的NAS,安裝步驟會很快地中斷在安裝會設定cron
程式的步驟。
但好消息是,Sysnology的DSM內建了「任務排程表」,且可執行使用者自訂指令碼,所以我參考 syAgent代理程式的github做出手動安裝agent的程序,目前已經分別讓執行DSM 7.1與7.2的兩部NAS正常地被監控。
首先,要建立syAgent需要的資料夾:
mkdir -p /etc/syAgent
建立監控主機時,要求你執行的指令,最後一個字串是你監控主機的token,請把token加到sa-auth.log
中:
echo 'token'>/etc/syAgent/sa-auth.log
下載代理程式,這個指令會從github下載代理程式:
wget -nv -o /dev/stdout -O /etc/syAgent/sh-agent.sh --no-check-certificate https://raw.githubusercontent.com/syagent/agent-2/main/sh-agent.sh
先使用 chown 指令,它的作用是改變文件或文件夾的擁有者。我把這個資料夾的擁有者改為將在DSM中執行使用者自訂指令碼的使用者。
接著,使用 chmod 指令改變文件或文件夾的權限為700
: 僅擁有者才能讀取、寫入和執行,其他人則無法做任何操作 (請記得修改斜體文字中的內容):
chown -R user:group /etc/syAgent && chmod -R 700 /etc/syAgent
讓主機對ping
程式的執行權限進行修改,讓它擁有特殊的權限:
sudo chmod u+s $(which ping)
這樣手動安裝步驟已經完成,你可以先試著執行sh-agent.sh
,應該在syAgent就可以看到主機狀態已經更新。接著回到DSM,從「控制台」中找到「任務排程表」,新增一個「排程任務」,類型是「使用者自訂指令碼」,設定執行的身分、執行時間後,在「使用者自訂指令碼」輸入bash /etc/syAgent/sh-agent.sh
,這樣就可以看到監控資訊一直更新了。