最近撸了几台oracel的小鸡,放着吃灰,那就挂个探针继续吃灰吧!这里主要记录一下使用Docker部署的方法!Docker真是个好东西,有机会的建议学习一下,随手就能用到,轻量便捷!

前言

ServerStatus中文版是一个酷炫高逼格的云探针、云监控、服务器云监控、多服务器探针~
cppla大佬完成汉化并完成docker化。

项目

在线演示:

项目地址:

官方预览图

安装

手动安装

cppla大佬原项目的README文档:https://github.com/cppla/ServerStatus

一键脚本安装

逗比根据地原文:https://doubibackup.com/wae9j8oa.html

Docker自动部署

两个角色:

  • 服务端:部署ServerStatus来监控其他主机的主机
  • 客户端:被监控主机

安装Docker

直接使用系统包管理工具进行安装:

1
apt-get install docker.io

我这里使用的是Ubuntu系统,其他版本的linux系统请根据各自的系统包管理工具进行安装!

服务端Docker版ServerStatus下载安装

下载脚本:

1
mkdir serverstatus && cd serverstatus && wget https://raw.githubusercontent.com/cppla/ServerStatus/master/autodeploy/config.json

运行Docker容器:

1
docker run -d --restart=always --name=serverstatus -v ~/serverstatus/config.json:/ServerStatus/server/config.json -p 10086:80 -p 35601:35601 cppla/serverstatus

这里稍微解释一下几个选项的意思(可以略过直接进入下一节):

  • --restart=always:容器自启动,即Docker服务启动的时候,自启动这个容器 ;

  • --name=serverstatus:给容器取个名字,便于识别 ;

  • -v:即Volume,挂载的意思,是将主机的一个目录挂载到容器中,这里是为了便于配置文件的修改;挂载之后,每次修改就不用进入容器找到相应文件再去修改,而是直接在宿主机上修改该文件;还有就是很多时候你的容器中不一定有文本编辑器(比如vim等);

  • -p:宿主机和容器间的端口映射关系;对于容器中的web服务,可以使用容器IP:容器端口访问,但是容器是没有公网IP的,所以在公网上是无法访问到的;所以使用宿主机IP:映射端口的方式来访问容器中的web服务;

至此,已安装完毕,访问宿主机IP:10086即可看到默认配置文件展示的一些主机。

配置客户端主机

下载脚本:

1
wget --no-check-certificate -qO client-linux.py 'https://raw.githubusercontent.com/cppla/ServerStatus/master/clients/client-linux.py'

运行脚本:

1
nohup python client-linux.py SERVER={$SERVER} USER={$USER} PASSWORD={$PASSWORD} >/dev/null 2>&1 &

参数说明:

  • {$SERVER}:你的服务端IP;
  • {$USER}:你服务端配置文件中的一个username
  • {$PASSWORD}:你服务端配置文件中该username对应的password;

这里的user和password并不是你要监控主机的root账户和密码,这两项配置只是为了给这个被监控主机一个能够被服务端识别展示的身份而已,随便写就行了!

配置服务端

  1. 先查看运行该探针服务的容器:

    1
    docker ps

    获得该容器的ID

  2. 停止该容器

    1
    docker stop containerID

    这里的containerID不一定非要把第一步看到的长ID全部写上,只需要能区别于其他container即可,一个容器时,取第一位即可!

  3. 修改配置文件

    1
    vi config.json

    修改config.json文件,注意username, password的值需要和你给客户端设置的对应一致,才能匹配上,从而显示出被监控段的信息;

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    {"servers":
    [
    {
    "username": "s01",
    "name": "Mainserver 1",
    "type": "Dedicated Server",
    "host": "GenericServerHost123",
    "location": "Austria",
    "password": "some-hard-to-guess-copy-paste-password"
    },
    ]
    }
  1. 重新启动容器

    1
    docker start containerID

结果

刷新网页:

点击左上角“风格”,切换夜间主题:

评论