哪吒监控(NeZha)是一种开源的分布式监控系统,用于收集和展示各种系统或应用程序的监控数据。它由京东开源,采用Java语言编写,旨在提供高性能、易扩展和易用性的监控解决方案。
github
https://github.com/naiba/nezha
获取 Github 的 Client ID 和密钥
首先我们需要新建一个验证应用,以 Github 为例,登录 Github 后,打开 https://github.com/settings/developers ,依次选择“OAuth Apps” - “New OAuth App” Application name
- 随意填写 Homepage URL
- 填写面板的访问域名,如:"http://nezha.example.com" Authorization callback URL
- 填写回调地址,如:"http://nezha.example.com/oauth2/callback" 点击 “Register application” 保存页面中的 Client ID,然后点击 “Generate a new client secret“,创建一个新的 Client Secret,新建的密钥仅会显示一次,请妥善保存
安装 Dashboard
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
等待Docker安装完毕后,分别输入以下值: OAuth提供商
- Github,Gitlab,Jihulab,Gitee 中选择一个 Client ID
- 之前保存的 Client ID Client Secret
- 之前保存的密钥 用户名
- OAuth 提供商中的用户名 站点标题
- 自定义站点标题 访问端口
- 公开访问端口,可自定义,默认 8008 Agent的通信端口
- Agent与Dashboard的通信端口,默认 5555 修改配置文件/opt/nezha/dashboard/data/config.yaml
proxygrpcport: 443
tls: true
修改完成后,运行nezha.sh并选择5,重启面板。
Nginx代理设置
server {
listen 443 ssl;
server_name nezha.example.com;
...
#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/
}
server {
listen 443 ssl http2;
server_name grpc.example.com;
...
underscores_in_headers on;
location / {
grpc_read_timeout 300s;
grpc_send_timeout 300s;
grpc_socket_keepalive on;
grpc_pass grpc://grpcservers;
}
}
upstream grpcservers {
server 1127.0.0.1:5555;
keepalive 1024;
}
设置CF
在网络设置中,开启gRPC和WebSocket 在https://one.dash.cloudflare.com/页面中新建隧道 在Public Hostname新建 填入以下内容 同时Additional application settings 设置TLS Origin Server Name
输入域名 HTTP2 connection
选择开启 设置HTTP Settings HTTP Host Header
输入域名 在DNS在添加一条A记录,并开启小黄鱼 此时,我们完成了CF反代哪吒的设置,面板和GRPC服务的真实IP都被隐藏。
CF客户端支持http2
指定Cloudflare Tunnel的传输协议为http2 对于直接通过官网service install一键安装的用户,需要在systemd配置中增加 --protocol http2 参数,请在安装时修改
。 修改文件 /etc/systemd/system/cloudflared.service
#找到并修改启动命令
ExecStart=/usr/bin/cloudflared --no-autoupdate tunnel run --protocol http2 --token 你的Token
#完成修改后刷新配置并重启服务
systemctl daemon-reload
systemctl restart cloudflared
一键安装 Agent
目前哪吒监控已支持在 Windows 和 Linux上一键安装 Agent,遵循本文档的步骤,你可以很轻松的在服务器上部署它
准备工作
你需要提前在管理面板中设置好通信域名,这里以前面提到过的示例通信域名 “grpc.example.com” 来做演示 进入后台管理面板,转到“设置”页,在“未接入 CDN 的面板服务器域名/IP”项中填入通信域名,然后点击"保存"
在 Linux 中一键安装 (Ubuntu、Debian、CentOS)
首先在管理面板中添加一台服务器 点击新添加的服务器旁,绿色的 Linux 图标按钮,复制一键安装命令 在被控端服务器中运行复制的一键安装命令,等待安装完成后返回到 Dashboard 主页查看服务器是否上线
在 Windows 中一键安装
首先在管理面板中添加一台服务器 点击新添加的服务器旁,绿色的 Windows 图标按钮,复制一键安装命令 进入 Windows 服务器,运行 PowerShell,在 PowerShell 中运行复制的安装命令 如遇到确认「执行策略变更」请选择 Y 等待安装完成后返回 Dashboard 主页查看服务器是否上线
评论