手動安裝syAgent的代理程式

發表於 July 3, 2023 (於 July 9, 2023 修改過) • 1 分 閱讀 • 51 字
分享

手動安裝syAgent的代理程式

syAgent是頗為推薦的免費線上主機監視服務,主要因素有:

  • 可以抓到整部主機的資源使用情形並產生圖表: 相較於其他免費服務僅能針對特定通訊協定監看,這個特點相當突出;而且syAgent僅使用shell命令就達成這樣的服務內容。
  • 承前一點,不需要為了可以抓到這些資源而安裝SNMP service或開啟對應的通訊埠,這件事情對於主客觀因素無法開通訊埠的主機非常有吸引力。
  • 通知可以支援 pushover: 這是個人偏好,pushover在通知服務上面相當有效率。

但可惜的是,目前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程式的執行權限進行修改,讓它擁有特殊的權限: chmod +s 'type -p ping'

這樣手動安裝步驟已經完成,你可以先試著執行sh-agent.sh,應該在syAgent就可以看到主機狀態已經更新。接著回到DSM,從「控制台」中找到「任務排程表」,新增一個「排程任務」,類型是「使用者自訂指令碼」,設定執行的身分、執行時間後,在「使用者自訂指令碼」輸入bash /etc/syAgent/sh-agent.sh,這樣就可以看到監控資訊一直更新了。

Follow me

I work on everything coding and tweet developer memes