哪吒监控:一个开源、轻量的服务器和网站监控、运维工具,可实时监控多个主机的信息,配置简单。支持同时监控多个服务器的系统状态,支持监控网页、端口、SSL证书状态;支持故障、流量等状态报警,支持多种通知方式(Telegram、邮件、微信等);支持在线SSH,支持流量循环监控,支持设置定时任务、服务器批量执行任务;支持一键脚本安装面板和监控服务,轻松使用;Linux、Windows、MacOS、OpenWRT等主流系统均受支持。
哪吒监控项目地址:GitHub - naiba/nezha: Self-hosted, lightweight server and website monitoring and O&M tool
安装时分为控制端和被控端,控制端为一台主机,被控端可为多台。
一、控制端的安装 最后稳定、安全性高
1、有一个域名,并解析到控制端主机IP
2、控制端主机需开放 8008 和 5555 端口
3、一个 Github 账号(或:Gitlab、Jihulab、Gitee)
获取 Github/Jihulab 的 Client ID 和密钥#
哪吒监控接入 Github、Gitlab、Jihulab、Gitee 作为后台管理员账号
首先我们需要新建一个验证应用,以 Github 为例,登录 Github 后,打开 https://github.com/settings/developers ,依次选择“OAuth Apps” – “New OAuth App”
Application name – 随意填写
Homepage URL – 填写面板的访问域名,如:”http://ping.example.com”
Authorization callback URL – 填写回调地址,如:”http://ping.example.com/oauth2/callback”
点击 “Register application”
保存页面中的 Client ID,然后点击 “Generate a new client secret“,创建一个新的 Client Secret,新建的密钥仅会显示一次,请妥善保存
JihuLab 的应用创建入口为:https://jihulab.com/-/profile/applications
Redirect URL 中应填入回调地址
在下方范围中勾选 read_user 和 read_api
创建完成后,保存好应用程序 ID 和密码
4、在控制端主机安装控制面板
在面板服务器中,运行安装脚本:
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
如果你的面板服务器位于中国大陆,可以使用镜像:
curl -L https://jihulab.com/nezha/nezha/-/raw/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh
等待Docker安装完毕后,分别输入以下值:
OAuth提供商 – Github,Gitlab,Jihulab,Gitee 中选择一个
Client ID – 之前保存的 Client ID
Client Secret – 之前保存的密钥
用户名 – OAuth 提供商中的用户名
站点标题 – 自定义站点标题
访问端口 – 公开访问端口,可自定义,默认 8008
Agent的通信端口 – Agent与Dashboard的通信端口,默认 5555
输入完成后,等待拉取镜像
安装结束后,如果一切正常,此时你可以访问域名+端口号,如 “http://ping.example.com:8008” 来查看面板
将来如果需要再次运行脚本,可以运行:
./nezha.sh
来打开管理脚本
5、配置反向代理后,记得把配置文件中的反向代码改为以下代码:
127.0.0.1为你的控制端主机IP
#PROXY-START/
location / {
proxy_pass http://127.0.0.1:8008;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
}
location ~ ^/(ws|terminal/.+)$ {
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 $http_host;
}
#PROXY-END/
5、数据库更改
如需要在数据库中修改数据,请先停止面板容器再修改。
数据库类型是 sqlite3,位于 /opt/nezha/dashboard/data/sqlite.db,修改前请备份
二、被控端的安装
1、在控制端设置后域名后,在添加主机后会显示一键安装代码
2、在被控端执行以上一键代码,即可。
演示:http://ping.kx.al/