今天要和大家介紹在WEB端使用腳本SSH進入主機執行命令,本文範例創建一個重新啟動Zabbix-Agent的腳本,也可以套用到重新啟動其他服務,首先需要創建腳本,建立目錄與金鑰,並在該執行主機上添加密鑰讓Zabbix-Server或Zabbix-Proxy能夠不使用密碼進入且執行SSH指令。
1.進入Web介面點選 管理 >> 腳本 >> 創建腳本
2.配置腳本內容
名稱: Restart Zabbix Agent
類型: 腳本
執行在: Zabbix Server(也可以選擇Proxy)
命令: ssh {HOST.CONN} -l root 'systemctl restart zabbix-agent'
(本文範例已重新啟動Zabbix-Agent為範例,如需重新啟動其他服務也可以把SSH指令改為'systemctl restart 欲重啟服務')
確認文字: 為非必填,但通常會設一下,做二次確認,避免誤觸。
配置完成點擊更新
3.至 監測 >> 主機 >> 左鍵點選一台主機即可看到剛剛配置的Restart Zabbix Agent腳本
1.登入Agent編輯Agent.conf調整參數
#vim /etc/zabbix/zabbix_agentd.conf
添加更改以下參數
#UnsafeUserParameters=1
#AllowKey=system.run[*]
保存退出
2.檢查Zabbix用戶目錄
#grep zabbix /etc/passwd
確認目錄為var/lib/zabbix
3.添加目錄
創建目錄
#sudo chown zabbix:zabbix /var/lib/zabbix
設定權限
#sudo chown zabbix:zabbix /var/lib/zabbix/.ssh
#sudo chmod 700 /var/lib/zabbix/.ssh
設置無密碼SSH登入,使用SSH金鑰進行身份驗證
1.切換至Zabbix用戶
#sudo -u zabbix -s
2.生成RSA金鑰
#ssh-keygen -t rsa
會提示輸入金鑰儲存的位置和passphrase,可以保持默認值並按Enter即可
3.將創建的金鑰複製到Agent
#ssh-copy-id root@zabbix-agent-IP
輸入會跳出輸入密碼,輸入該Agent主機的密碼後,金鑰就會成功複製
至Zabbix Server輸入以下指令嘗試連接配置完成的Agent主機
#sudo -u zabbix ssh root@zabbix-agent-IP
連線成功後回到Zabbix Web先停用該Agent,測試腳本是否能成功執行
這個按鈕就是一開始配置的確認文字,點擊按鈕執行
成功執行會顯示以下
等待一下後可以看到可用性的部分已變綠燈,表示Zabbix-Agent已重新啟動
這個腳本也可以套用到其他服務,如服務有問題不需進入到主機,在Web端即可將該服務重啟。