Nezha 监控迁移v0迁移v1

Nezha 监控迁移v0迁移v1

背景

Nezha监控是我监控vps的工具,比传统的Prometheus+grafana简单很多。由于v0已不再维护,并且v0和v1不兼容,这里记录下我的迁移修改过程。

我这里记录主要由于我的Dashboard 和 gRPC 端口共用443,并且使用相同的cf cdn域名。给需要这种配置的人做参考。如果没有这个需求,可以直接参考官方的简单配置。

部署架构

Nezha监控分为dashboard和gRPC data两部分。Dashboard负责信息展示、data是后台的数据引擎。从 V1 版本开始,不再区分 Dashboard 和 gRPC 端口,我计划Dashboard 和 gRPC 端口共用443方便管理,并且都接入cf的cdn保障安全。

在这里插入图片描述

迁移步骤

迁移历史监控

如果v0版本有重要监控需要提前迁移,避免监控丢失

搭建Dashboard

我未使用一键脚本搭建,为了方便管理,我直接使用docker compose搭建。

Dashboard数据存储在./data

我未使用8008默认端口而使用了9080端口

services:
  dashboard:
    image: ghcr.io/nezhahq/nezha
    restart: always
    container_name: nezha
    volumes:
      - ./data:/dashboard/data
    ports:
      - 9080:8008

修改nginx

ng需要转发 Dashboard的根目录、websocket、数据的GRpc。set_real_ip_fromreal_ip_header一定要,否者GRpc通信会报错,具体未深入了解。

本配置和我实际使用有差异,依据实际情况改造,仅供参考。

server {
    access_log  /var/log/nginx/eu.org.access.log  main;

    listen 443 ssl proxy_protocol;
    listen [::]:443 ssl proxy_protocol;
    http2  on;
    port_in_redirect  off;
    ssl_certificate /etc/data/certificate/xxx.eu.org.pem;
    ssl_certificate_key /etc/data/certificate/xxx.eu.org.key;
    # 下面三个配置不可缺 否者GRpc服务报错
    underscores_in_headers on;
    set_real_ip_from 0.0.0.0/0;
    real_ip_header CF-Connecting-IP;

    location / {
        proxy_pass http://127.0.0.1:9080;
        proxy_set_header Host $http_host;
        proxy_set_header      Upgrade $http_upgrade;
    }

    location ~* ^/api/v1/ws/(server|terminal|file)(.*)$  {
        proxy_pass http://127.0.0.1:9080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $http_host;
    }

    location ^~ /proto.NezhaService/ {
            grpc_set_header Host $host;
            grpc_set_header nz-realip $http_CF_Connecting_IP;
            grpc_read_timeout 600s;
            grpc_send_timeout 600s;
            grpc_socket_keepalive on;
            client_max_body_size 10m;
            grpc_buffer_size 4m;
            grpc_pass grpc://grpcservers;
    }

}

upstream grpcservers {
    server 127.0.0.1:9080;
    keepalive 512;
}

调试Dashboard

上述如果没问题,就可以正常访问Dashboard。按照教程即可。

v1版本取消了oauth2,配置根本简单,但建议用户名和密码都修改为高强度,避免爆破。

调试Agent接入

由于我使用了Grpc是使用了cf的cdn接入。这里需要特别说明一下。

  • Agent的接入地址必须带上端口

  • 勾选使用TLS

在这里插入图片描述

如果需要debug,可以把通过修改/opt/nezha/agent/config.yml开启debug模式,并通过 journalctl -xe就行排错。

迁移效果

嘎嘎的香,每天上班第一件事就是看Nezha面板,哈哈哈哈
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值