ServerStatus 雲探針安裝教程

安裝必要依賴

Centos 7

sudo yum -y install epel-release
sudo yum -y install python-pip
sudo yum clean all
sudo yum -y install gcc
sudo yum -y install python-devel
sudo pip install psutil

Ubuntu/Debian

sudo root
apt-get -y install python-setuptools python-dev build-essential
apt-get -y install python-pip
pip install psutil

Windows

下載網址:點我進入下載頁面

下載及安裝psutil for windows程序包

伺服器端

下載原始碼

git clone https://github.com/BotoX/ServerStatus.git

編譯並生成服務端程序

cd ServerStatus/server
make

執行程式

./sergate

如果沒錯誤提示,OK,ctrl+c關閉

如果有錯誤提示,檢查35601端口是否被佔用

防火牆設定

firewall方式

firewall-cmd --zone=public --permanent --add-port=35601/tcp

iptables方式

iptables -I OUTPUT -m state --state NEW -m tcp -p tcp --dport 35601 -j ACCEPT

iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 35601 -j ACCEPT

修改配置文件

vim config.json

注意username, password的值需要和客戶端對應一致
username 必須跟其他的不同,但password可以相同

{"servers":
    [
        {
            "username": "s01", #使用者名稱
            "name": "Mainserver 1",#顯示的名稱
            "type": "Dedicated Server",#伺服器屬性
            "host": "GenericServerHost123",#主機名
            "location": "Austria",#主機位置
            "password": "some-hard-to-guess-copy-paste-password"#使用者的密碼
        },
    ]
}  

複製ServerStatus/status底下的網頁到你的網站目錄

sudo cp -r ServerStatus/web/* /home/wwwroot/default

執行服務端

web-dir參數為上一步設置的網站目錄位置,務必修改成自己網站的路徑

./sergate --config=config.json --web-dir=/home/wwwroot/default

伺服器端加入開機自啟

cp ServerStatus/other/sergate.service /etc/systemd/system/sergate.service

客戶端

(客戶端程序在ServerStatus/clients下):
客戶端有兩個版本,client-linux為普通linux,client-psutil為跨平台版,普通版不成功,換成跨平台版即可。
官方建議使用普通版

client-linux版配置:

  1. vim client-linux.py, 修改SERVER地址,username帳號, password密碼
  2. python client-linux.py 運行即可

打開雲探針頁面,就可以正常的監控。接下來把服務器和客戶端腳本自行加入開機啟動,或者進程守護,或以後台方式運行即可!

後台方式運行

nohup python client-linux.py &

客戶端建立開機自啟

**因官網並沒給客戶端的service檔,所以要自行建立
建立並編輯sergate-client.service**

vim /etc/systemd/system/sergate-client.service

貼上以下內容

[Unit]
Description=ServerStatus Master Client
After=syslog.target
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/ServerStatus/clients
User=root
Group=root
ExecStart=/usr/bin/python /opt/ServerStatus/clients/client.py
ExecReload=/bin/kill -HUP $MAINPID
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=sergate

[Install]
WantedBy=multi-user.target

完成後存檔並加入開機自啟
啟動

systemctl start sergate-client.service

加入開機自啟

systemctl enable sergate-client.service

查看目前狀態

systemctl status sergate-client.service

執行結果

執行結果

官方原項目

https://github.com/BotoX/ServerStatus

Last modification:December 4, 2018
If you think my article is useful to you, please feel free to appreciate