傻瓜式部署哪吒监控:一步一步教你轻松上手

傻瓜式部署哪吒监控:一步一步教你轻松上手

在这个信息化时代,监控系统已经成为了保障服务稳定性和性能的重要工具。今天,我们将介绍如何傻瓜式地部署哪吒监控,让你轻松上手,不再为监控问题烦恼,小白也可以轻松上手

先上几个成果预览图:

总体监控大图

链路监控大图

概览图

部署起来大概,分三大部分,其中是前两步,第三步可选

控制端 Dashboard

推荐使用 docker 部署, 方便升级和迁移

要求

控制端服务器 需要公网 可被访问

已安装 docker(可选)

已经安装 caddy, 也可以使用 nginx、traefik 等

安装 docker

默认使用 root 用户

export DOWNLOAD_URL="https://mirrors.tuna.tsinghua.edu.cn/docker-ce"

# 如您使用 curl

curl -fsSL https://raw.githubusercontent.com/docker/docker-install/master/install.sh | sh

# 如您使用 wget

wget -O- https://raw.githubusercontent.com/docker/docker-install/master/install.sh | sh

或者执行我提供的脚本

curl https://c.ysicing.net/oss/scripts/docker.sh | bash

初始化 docker

curl https://c.ysicing.net/oss/scripts/dockerconfig.sh | bash

哪吒配置文件

创建目录

mkdir nezha

touch nezha/config.yaml

哪吒的配置文件 config.yaml, 示例如下

AvgPingCount: 2

Cover: 0

DDNS:

AccessID: ""

AccessSecret: ""

Enable: false

MaxRetries: 3

Provider: webhook

WebhookHeaders: ""

WebhookMethod: POST

WebhookRequestBody: ""

WebhookURL: ""

Debug: false

EnableIPChangeNotification: false

EnablePlainIPInNotification: false

GRPCHost: agent.nzops.ysicing.net

GRPCPort: 5555

HTTPPort: 80

IPChangeNotificationTag: default

IgnoredIPNotification: ""

IgnoredIPNotificationServerIDs: {}

Language: zh-CN

Location: Asia/Shanghai

MaxTCPPingValue: 500

Oauth2:

Admin: admin

ClientID: 19507d56-xxxx

ClientSecret: gto_xxxx

Endpoint: https://gitea.local

Type: gitea

ProxyGRPCPort: 0

Site:

Brand: Monitor

CookieName: ops-dashboard

CustomCode:

DashboardTheme: default

Theme: default

ViewPassword: ""

TLS: false

这里说下几个比较重要的地方

GRPCHost: agent 连接地址

Oauth2 配置的地方,我示例的是用 Gitea,由于某些因素,哪吒监控只支持 Oauth2 方式,常见使用 Github 方式

哪吒监控接入 Github、Gitlab、Gitee、Gitea 作为后台管理员账号,这里主要已常见的 Github 和我自用的 Gitea 为例。

Github 方式

登录 Github 后,打开 Oauth App

Application name - 随意填写。

Homepage URL - 填写面板的访问域名,如:"http://dashboard.example.com"(你的域名)。

Authorization callback URL - 填写回调地址,如:"http://dashboard.example.com/oauth2/callback"(不要忘记 /oauth2/callback)。

保存页面中的 Client ID,然后点击 “Generate a new client secret“,创建一个新的 Client Secret,新建的密钥仅会显示一次,请妥善保存。

配置文件

Oauth2:

Admin: ysicing #你的github账号

ClientID: 19507d56-xxxx # github clientid

ClientSecret: gto_xxxx # github client secret

Type: github

Gitea 方式

登录你的 Gitea 后, 访问 https://你的 gitea 域名/user/settings/applications

应用名称: 随意填写。

重定向 URI: 填写回调地址,如:"http://dashboard.example.com/oauth2/callback"(不要忘记 /oauth2/callback)。

配置文件

Oauth2:

Admin: ysicing #你的github账号

ClientID: 19507d56-xxxx # github clientid

ClientSecret: gto_xxxx # github client secret

Endpoint: https://gitea.local

Type: gitea

配置 compose

推荐使用这个版本, 将下面的文件保存为 docker-compose.yaml

version: "3"

services:

nezha-dashboard:

image: registry.cn-shanghai.aliyuncs.com/naibahq/nezha-dashboard:v0.18.2

container_name: nezha-dashboard

restart: always

ports:

- 44544:80

- 44545:5555

volumes:

- ./nezha:/dashboard/data

启动 Dashboard

docker compose -f docker-compose.yaml up -d

配置 caddy 反代

示例: ops.ysicing.net 是控制 UI 域名,agent.ops.ysicing.net 是 agent 通信域名, 默认使用 caddy v2 版本

ops.ysicing.net {

tls root@ysicing.net

import LOG /var/log/caddy/nzops_ysicing_net.log

reverse_proxy 10.76.0.7:44544

}

agent.ops.ysicing.net {

tls root@ysicing.net

import LOG /var/log/caddy/nzops_agent_ysicing_net.log

reverse_proxy {

to 10.76.0.7:44545

transport http {

versions h2c 2

}

}

}

具体 caddy 安装参考 caddy 部署

到这里,哪吒监控面板部署完成了

部署 Agent

服务器区域负责管理 Agent,是哪吒探针中最基础的区域,也是其他功能的基础。部署Agant前需要新增服务器。

拥有相同分组的服务器会在受支持的主题中划分到一起进行显示,备注仅会在后台显示,无需担心泄露信息。

登陆控制端 Dashboard,切到管理后台

添加完成复制密钥

到需要安装 agent 的节点执行如下脚本

export NZ_URL=控制URL

export NZ_TOKEN=复制的token

curl https://c.ysicing.net/oss/scripts/nezha.sh | bash

或者使用管理后台的一键脚本

部署仪表面板

通过管理后台创建 API Token

services:

nezha-dash:

container_name: nezha-dash

image: ccr.ccs.tencentyun.com/k7scn/nezha-dash

restart: always

environment:

- NezhaBaseUrl="哪吒面包URL"

- NezhaAuth=your-nezha-api-token

ports:

- "3000:3000"

效果可见 运维探针

护士面试技巧和注意事项_护士面试常见问题|ns医学上是什么意思