banner
NEWS LETTER

给自己的服务器装个监控!

Scroll down

[toc]

写在前面

今天突然想起来我的服务器性能似乎不太行(1c1g),而且java程序内存开销也不算小,所以突发奇想给我的服务器装一个ServerStatus监控探针来随时随地看服务器状态。这不装不知道,遇上不少问题所以打算也简单写一下自己的安装过程,一方面为也想装监控的同学提供参考,另一方面记录下自己遇到的那些问题。

目前本站已经成功部署了,可以通过导航栏-状态查看,或者地址栏输入https://yahoo94.love/status查看。

md2pic1

在服务器上安装serverStatus-Hotaru

具体安装可以参看ServerStatus-Hotaru

老规矩Xshell连上自己的服务器然后着手安装!

服务端

1
2
3
wget https://raw.githubusercontent.com/cokemine/ServerStatus-Hotaru/master/status.sh
# wget https://cokemine.coding.net/p/hotarunet/d/ServerStatus-Hotaru/git/raw/master/status.sh 若服务器位于中国大陆建议选择 Coding.net 仓库
bash status.sh s

执行命令以后可以看到操作页面,这里我已经安装好了 所以最底部显示是已安装已运行。
md2pic2
第一次安装选择1,他会一键安装好。

过程中的配置项比如ip或者域名,因为这里我们是给本机配置所以都选默认就好(127.0.0.1),服务端和客户端的通信端口也可以使用默认的35601

中途会询问是否自动配置http服务,这里选择N,后续我们自己去nginx中配置就好。

安装完成后选择7设置服务端。这里配置账号密码(后续在配置客户端的时候用),虚拟化类型默认就好。名称地区可以输入中文(如果有需要),这个不是很重要可以自行设置,比如CN是中国,HK是香港可以自行百度查阅。

客户端:

1
bash status.sh c

执行这个命令后进入客户端的操作页面,和服务端基本是一样的。
还是先按1安装,ip还是127.0.0.1(默认就好),端口设置和服务端一样的(没有自己单独设置就用默认),账号密码填入刚刚在服务端设置的账号密码就ok。

查看页面并配置nginx

这个时候我们在nginx配置监听8888端口并指定目录为/usr/local/ServerStatus/web/,index配置为index.html
通过http://服务器ip:8888 (默认为8888) 就可以查看监控页面了(记得开放了端口才能直接访问)。
但是我要的效果是通过https://域名/status 访问,这个时候就需要进入nginx.conf里重新配置了。
第一步需要删除8888端口的监听,我们不需要通过端口访问,因为需要通过https访问,所以来到443端口的server块里配置(如果不需要https访问的话可以忽略)。
首先我们需要同时监听80和443端口并把所有的http请求改为https。

1
2
3
4
5
6
7
8
9
10
listen 80;
# 服务器端口使用443,开启ssl
listen 443 ssl;
# 域名,多个以空格分开
server_name 你的域名;
#下边填写证书相关配置
#证书配置在这里
if ($scheme = http) {
return 301 https://$host$request_uri;
}

然后需要配置通过/status访问我们的监控页面

1
2
3
4
location ^~ /status {
alias /usr/local/ServerStatus/web/;
index index.html;
}

上述配置最好写在halo博客的前边

1
2
3
location / {
#halo相关配置
}

到最后大概的配置文件就是如下结构

1
2
3
4
5
6
7
8
9
10
11
12
13
server{
listen 80;
listen 443 ssl;
server_name 域名;
#证书配置
#上边给出的http改https配置
location ^~ /status{
#serverStatus配置
}
location /{
#halo博客配置
}
}

在halo博客后台添加新菜单

如果不想让其他用户看到这个页面可以不设置,自己记住访问路径就可以。
通过halo博客的后台可以新增菜单,我们需要新增一个菜单指向监控页。
halo后台-外观-菜单设置
md2pic3
到这里就可以通过博客的状态菜单跳转到我们的监控页面了。
关于这个页面的美化问题可以自行去github参考开发者给出的方法,链接在文章开头有给。
最后如果在前面配置过程中开放了8888或者其他端口的话,建议关掉避免不必要的麻烦。

其他文章
cover
Spring面试题
  • 22/11/16
  • 13:02
  • java资料