服务器探针-服务器动态监控

前言

手头目前有六台服务器虽然都是虚拟的VPS,但是管理和查看状态比较麻烦,很久之前就在用uptiemebot,简单易用但是只能测ping而且有时候不准,今天闲的无聊挂了探针,懒得写教程了,因为这位大佬的教程实在写的太好了,直接搬过来

我的服务器探针面板

感谢大佬教程:

哪吒面板,一个便携服务器状态监控面板搭建教程,不想拥有一个自己的探针吗?

 Linuxhaoduck  4个月前 (12-12)  351次浏览  19个评论

今天看到有人说哪吒面板这款探针,看了一下,感觉挺不错的

自己尝试部署了一下,哪吒面板,YES!

好鸭探针,就此诞生

不过开发者的并没有写一个详细的部署教程,我这里就从头到尾说清楚一点吧

包括部署面板、添加服务器、配置SSL、套CDN

预览:https://tz.haoduck.com/

暂时有两个主题,图一默认,图二CakeMine-Hotaru。好鸭探针用的是默认的。

哪吒面板,一个便携服务器状态监控面板搭建教程,不想拥有一个自己的探针吗?
哪吒面板,一个便携服务器状态监控面板搭建教程,不想拥有一个自己的探针吗?

一、域名解析需要的操作

开始之前,请先确定你搭建探针的域名

强烈建议用两个(子)域名做解析
第一个是面板的域名,套CDN比较方便
第二个仅仅解析到面板服务器的域名,用于客户端连接服务端试用(这个可以没有,但是不建议,如果直接用IP的话,迁移面板后会非常麻烦!)

比如我的tz.haoduck.com作为面板的域名,还有一个tzzzz.haoduck.com是用来记录面板服务器的IP(其实不是这个域名,因为我写出来就暴露了我的IP了,所以就当它是吧)

暂且将两个域名都解析到部署面板服务器的IP,我之前改本地hosts部署没有成功

二、GitHub上需要的操作

2.1 得到GitHub账号ID

如果没有Github账号,先注册

浏览器中打开https://api.github.com/users/你的GitHub用户名

返回的是Json的信息,第二行id对应的值就是你的ID,纯数字的。如图

哪吒面板,一个便携服务器状态监控面板搭建教程,不想拥有一个自己的探针吗?

2.2 创建一个OAuth Apps

先打开:https://github.com/settings/developers,然后点击New OAuth App按钮

哪吒面板,一个便携服务器状态监控面板搭建教程,不想拥有一个自己的探针吗?

在这里其实有一个分岔口,也就是你是否要反代(和WEB服务器共用80口)、配置SSL,那么填写的内容、后面操作的先后顺序也不同。我就只说其中一个方法,免得把各位看官绕晕了,还请先往下看吧!

参考图片填写,记得端口也填写上去,不填域名填IP也行,如果你只是用IP访问的话

http://你的域名:8008http://你的域名:8008/oauth2/callback
哪吒面板,一个便携服务器状态监控面板搭建教程,不想拥有一个自己的探针吗?

2.3 OAuth Apps的Client ID和Client secrets

创建好OAuth Apps后看图操作

哪吒面板,一个便携服务器状态监控面板搭建教程,不想拥有一个自己的探针吗?
哪吒面板,一个便携服务器状态监控面板搭建教程,不想拥有一个自己的探针吗?

三、面板服务器上需要的操作

3.1 防火墙放行端口

需要放行80085555两个端口,这是默认的,如果你程序中改为其他的,防火墙放行相应的端口

3.2 部署面板服务

哪吒面板开发者提供了一键脚本

curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh./nezha.sh
# 国内机器curl -L https://raw.sevencdn.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.shCN=true ./nezha.sh
哪吒面板,一个便携服务器状态监控面板搭建教程,不想拥有一个自己的探针吗?

输入1回车

接着就要输入前面记录下来的GitHub账号IDOAuth Apps的Client IDOAuth Apps的Client secrets

按照提示输入

哪吒面板,一个便携服务器状态监控面板搭建教程,不想拥有一个自己的探针吗?

到这里面板服务算是完成了大部分了

可以访问http://域名:8008查看,用你的GitHub账号验证登录

3.3 反代、SSL、CDN

反代配置

location /{    proxy_pass http://127.0.0.1:8008;    proxy_set_header Host $host;}location /ws{    proxy_pass http://127.0.0.1:8008;    proxy_http_version 1.1;    proxy_set_header Upgrade $http_upgrade;    proxy_set_header Connection "Upgrade";    proxy_set_header Host $host;}

图片为宝塔的设置方法
哪吒面板,一个便携服务器状态监控面板搭建教程,不想拥有一个自己的探针吗?

配置SSL就不用说了,常规建站怎么配置,这个就怎么配置

如果没有问题,就可以通过https://域名/来访问了

确保可以访问了,回到GitHub的OAuth Apps设置

打开:https://github.com/settings/developers

看图操作

哪吒面板,一个便携服务器状态监控面板搭建教程,不想拥有一个自己的探针吗?

改好之后就可以对8008端口取消放行了

关于套CDN,就和常规建站一样,比如我的,就将tz.haoduck.com解析到CDN服务商,回源地址填部署面板的服务器IP,但要注意的是CDN需要支持WebSocket协议

四、关于客户端(被监控机器)需要的操作

通过https://tz.haoduck.com/登录后台,如果没配置反代、SSL,那它将是http://tz.haoduck.com:8008

用你的GitHub账号验证登录后跳转到https://tz.haoduck.com/server

按图操作

哪吒面板,一个便携服务器状态监控面板搭建教程,不想拥有一个自己的探针吗?
哪吒面板,一个便携服务器状态监控面板搭建教程,不想拥有一个自己的探针吗?

到需要被监控的机器执行脚本

curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh./nezha.sh
# 国内机器curl -L https://raw.sevencdn.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.shCN=true ./nezha.sh
哪吒面板,一个便携服务器状态监控面板搭建教程,不想拥有一个自己的探针吗?

输入8回车

接着就要输入前面记录下来的ID密钥

按照提示输入

“解析到面板所在IP的域名”就是指本文中第一步的”第二个域名”,也可以直接填IP(不建议)

哪吒面板,一个便携服务器状态监控面板搭建教程,不想拥有一个自己的探针吗?

如果没出错,到此就是完成了

有多台被监控机器时,按照此步骤在控制面板添加服务器,在被监控机执行脚本填写ID和密钥。

本文为自己部署的过程,如果有误请指出

常见问题

1. 国内服务器出现curl: (7) Failed to connect to raw.githubusercontent.com

echo 199.232.68.133 raw.githubusercontent.com >> /etc/hosts

2. 修改服务器备注后变成”离线”久不恢复

在安装客户端(被监控)的服务器上执行systemctl restart nezha-agent重启程序

启动nezha-agent还是一直显示离线

检查配置有没有写对cat /etc/systemd/system/nezha-agent.service | grep ExecStart

相关

项目地址:https://github.com/naiba/nezha

关于哪吒探针修改页面页脚、头像Logo等的方法教程,新版本可以在后台用CSS自定义了。

年轻人的第一次自制智能家居

今下午清消息的时候,看到了Twitch给手机配置的快捷指令突然想起来之前看巨峰的视频,用IOS自带的快捷指令配合Siri可以完成某些指令比如SSH,手头上只有刷了Openwrt的树莓派暂时没什么好点子,就想起了备份这个还比较实用的指令,简单讲一讲步骤吧

一、打开手机 搜索 快捷指令 找到ssh选项
二、填入你要ssh的ip / 端口 / 用户名 /密码或密钥
三、填入要执行的指令 并定义口令
名称为xxx
四、呼叫Siri 嘿siri,XXX

为了方便观看我录了个屏:

通过查找Openwrt的相关文档,备份的指令为

  • 备份配置文件到/tmp/backup.tgz
    sysupgrade -b /tmp/backup.tgz

更多指令参考:openwrt sysupgrade命令实现分析

然后呼叫siri 我定义的为备份树莓派

我:嘿!Siri ! 备份树莓派
Siri:稍等
Siri:搞定!

一定要配置对ssh信息和指令

下一步准备等交房之后搬新家了自己搞智能家居,这个不能算是智能家居,到时候再零买一个mini pi或nanopi做主板,性价比高些,刷Homebrige系统

Frp内网穿透指南

用一台闲置的广州轻量搭Frps内网穿透实现在外面没有也能访问内网设备

一、前言

回想起去年疫情在家,企图用笔电跑Tomcat做服务端,用同一局域网下手机能够访问但是发给朋友却访问不了,那是我第一次有了外网ip/内网ip的概念,后来使用软路由后通过Openwrt自带的Frp插件让我了解了内网穿透的这种东西的存在,大概是刚买软路由的时候,当时浅尝辄止现在回想起来是服务端(Server)和客户端(Client)混淆了导致失败。

今下午论文写的枯燥,正好手中有一台的广州地区的腾讯轻量应用服务器在吃灰,不如好好利用起来,搭建Frps也就是Frp Server端,实现在外面也可以访问家中路由器或NAS!

二、前期准备

  • *服务端:一台带有公网IP的服务器/ VPS / NAT
  • *客户端:想实现外网访问的内网机器 例如:软路由/ PC/NAS/ etc.

服务端的搭建我选用的是腾讯云的广州轻量应用服务器 选择的原因首先是闲置了、国内三网接入相对国外延迟低可以带来更还的体验,而且价格相对来说也比较便宜,如果手头上没有备案域名的朋友可以选择轻量应用服务器的海外地区,推荐香港地域。


我想在外面可以看到家中软路由的情况,所以客户端选用软路由系统Openwrt自带的Frp插件如下图所示

三、服务端安装Frps

小白推荐观看Youtube教程视频结合本文进行搭建,大佬们勿喷 Frp肯定不放在眼里 可以跳过本文啦

项目地址:GitHub – MvsCode/frps-onekey: Frps 一键安装脚本&管理脚本 A tool to auto-compile & install frps on Linux

1、SSH连接到你的vps,记住要用root用户登陆才可以

2、粘贴一键FRPS一键安装脚本,分阿里云和GIthub版本,国内机器推荐使用阿里云版本

wget https://code.aliyun.com/MvsCode/frps-onekey/raw/master/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install

3、按照提示进行操作即可,无特殊要求按回车默认即可(密码最好自定义)然后最后一定复制下来备份,后面配置会用到,比如我的

============== Check your input ==============
 You Server IP      : 159.75.69.***     //服务器IP/域名
 Bind port          : 5443             //客户端端口 后面会用到
 kcp support        : true              
 vhost http port    : 80                  
 vhost https port   : 443
 Dashboard port     : 6443             //服务器面板端口
 Dashboard user     : admin            //服务器端后台用户名
 Dashboard password : ******           //服务器端后台用户名
 token              : zYhupXwhhzqLDxeI
 subdomain_host     : 159.75.69.***
 tcp_mux            : true
 Max Pool count     : 50
 Log level          : info
 Log max days       : 3
 Log file           : enable

4.到这里服务端已经部署好了可以跳到下面服务端配置了,也可以进入面板后台看一下,地址是You Server IP:6443
输入上面的用户名(Dashboard user)和密码Dashboard Password进行登陆

大概这个样子

哦对了,如果你也使用的腾讯或者阿里的机子记得在防火墙中放行端口

四、客户端配置

一、根据复制的信息一一填入

============== Check your input ==============
 You Server IP      : 159.75.69.***     //填服务器那一栏
 Bind port          : 5443             //填端口那一栏
 kcp support        : true              
 vhost http port    : 80                  
 vhost https port   : 443
 Dashboard port     : 6443             
 Dashboard user     : admin           
 Dashboard password : ******           
 token              : zYhupXwhhzqLDxeI     //密令
 subdomain_host     : 159.75.69.***
 tcp_mux            : true
 Max Pool count     : 50
 Log level          : info
 Log max days       : 3
 Log file           : enable

二、添加服务列表

到后台面板看一下,HTTP是否多了一项

接下来访问你绑定的域名加端口号试一下,能访问就说明穿透成功!!

WordPress登录页添加验证码

最近发现网站老的有人恶意攻击并登陆后台,想暴力破解密码,网上也找个很多插件,但都不是很满意,复杂且怕插件安装过多,漏洞也多。终于找到可以用代码实现wordpress后台登陆进行验证,防止机器恶意登陆,此种方案能防止大部分恶意登陆。方法很简单,主题模板文件函数functions文件下增加以下代码。

//后台登陆数学验证码
function rhymo_add_login_fields() {
  //获取两个随机数, 范围0~9
  $num1=rand(0,9);
  $num2=rand(0,9);
  //最终网页中的具体内容
      echo "<p><label for="math" class="small">验证码</label><br> <input type="text" name="sum" placeholder="$num1 + $num2 = ?" class="input" value="" size="25" tabindex="4">"
  ."<input type="hidden" name="num1" value="$num1">"
  ."<input type="hidden" name="num2" value="$num2"></p>";
}
add_action('login_form','rhymo_add_login_fields');
function login_val() {
  $sum=$_POST['sum'];//用户提交的计算结果
  switch($sum){
    //得到正确的计算结果则直接跳出
    case $_POST['num1']+$_POST['num2']:break;
    //未填写结果时的错误讯息
    case null:wp_die('错误: 请输入验证码.');break;
    //计算错误时的错误讯息
    default:wp_die('错误: 验证码错误,请重试.');
  }
}
add_action('login_form_login','login_val');

原文链接:https://www.luoyechenfei.com/html/2869.html