目 录CONTENT

文章目录

哪吒面板-随时随地查看你的服务器运行状态

yyzq
2022-09-20 / 0 评论 / 5 点赞 / 2,272 阅读 / 1,485 字

简介:

哪吒监控
一个开源、轻量的服务器和网站监控、运维工具
官方网站https://nezhahq.github.io/index.html
GitHubhttps://github.com/naiba/nezha
官方文档https://nezhahq.github.io/guide/dashboard.html
Demo: https://nezha.yyzq.cf/

准备工作:

搭建一个哪吒监控,你需要:
一台可以连接公网的 VPS,防火墙和安全策略需要放行 8008 和 5555 端口,否则会无法访问和无法接收数据。单核 512MB 内存的服务器配置就足以满足大多数使用场景
配置2个已经设置好 A 记录,指向 Dashboard 服务器 ip 的域名
第一个
vps.yyzq.cf
第二个不要CDN
ip.yyzq.cf

一个 Github 账号(或:Gitlab、Jihulab、Gitee)

git认证
创建一个OAuth Apps,
打开:
https://github.com/settings/developers 然后点击New OAuth App按钮,填入你第一个域名
http://你的域名:8008
http://你的域名:8008/oauth2/callback

git账号创建新的登录验证

Client ID
71d3b44cffc6533267165a
Client secrets
c4c28d758015414354ee9rsefd1e46c1f021f6b6c1cbd

一、服务端安装脚本

在面板服务器中,运行安装脚本:

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://cdn.example.com:8008” 来查看面板

将来如果需要再次运行脚本,可以运行

./nezha.sh

来打开管理脚本

二、被监控端安装 Agent

curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh  -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh

三、报警通知方式

3.1.TG通知

名称:telegram 机器人消息通知
URL:https://api.telegram.org/botXXXXXX/sendMessage?chat_id=YYYYYY&text=#NEZHA#
请求方式: GET
请求类型: 默认
Body: 空
URL 参数获取说明:botXXXXXX 中的 XXXXXX 是在 telegram 中关注官方 @Botfather ,输入/newbot ,创建新的机器人(bot)时,会提供的 token(在提示 Use this token to access the HTTP API:后面一行)这里 ‘bot’ 三个字母不可少。创建 bot 后,需要先在 telegram 中与 BOT 进行对话(随便发个消息),然后才可用 API 发送消息。YYYYYY 是 telegram 用户的数字 ID。与机器人@userinfobot 对话可获得。

3.2.微信公众号通知

注册并且创建应用
https://wxpusher.zjiecode.com/admin/login 使用微信扫码登录,无需注册,新用户首次扫码自动注册。
wxpusher 示例,需要关注你的应用

名称: wxpusher
URL:http://wxpusher.zjiecode.com/api/send/message
请求方式: POST
请求类型: JSON
Body:

四、报警规则

基本规则

type:可选取一个或多个类型,如在一个规则中选择了多个类型,需要同时满足所有选择的类型才会触发通知(可参考后面的示例)
cpu、memory、swap、disk
net_in_speed 入站网速、net_out_speed 出站网速、net_all_speed 双向网速、transfer_in 入站流量、transfer_out 出站流量、transfer_all 双向流量
offline 离线监控
load1、load5、load15 负载
process_count 进程数 目前取线程数占用资源太多,暂时不支持
tcp_conn_count、udp_conn_count 连接数
duration:持续数秒,数秒内采样记录 30% 以上触发阈值才会报警(防数据插针)
min 或 max
流量、网速类数值 为字节(1KB=1024B,1MB = 1024*1024B)
内存、硬盘、CPU 以占用百分比计数
离线监控无需设置此项
cover
0 监控所有,通过 ignore 忽略特定服务器
1 忽略所有,通过 ignore 监控特定服务器
例如:[{“type”:“offline”,“duration”:10, “cover”:0, “ignore”:{“5”: true}}]
ignore: 选择忽略特定服务器,搭配 cover 使用,内容为服务器 id 和布尔值

4.1服务器在线离线报警通知

名称:离线通知
规则:

[{"Type":"offline","Duration":10}]

启用:√

4.2CPU占用率报警通知

名称:CPU报警
规则:

[{"type":"cpu","max":40,"duration":10}]

启用:√

4.3内存占用率报警通知

名称:内存报警
规则:

[{"type":"memory","min":50,"duration":10}]

启用:√

4.4硬盘使用率报警通知

名称:硬盘使用率超过警报值(80%)
规则:

[{"type":"disk","max":80,"duration":20}]

启用:√

4.5一小时内(出/入)流量超过1G

名称:一小时内(出/入)流量超过1G
规则:

[{"type":"transfer_all_cycle","max":1099511627,"cycle_start":"2022-07-01T00:00:00+08:00","cycle_interval":1,"cycle_unit":"hour","cover":1,"ignore":{"1":true,"10":true,"11":true,"12":true,"13":true,"14":true,"15":true,"2":true,"3":true,"4":true,"5":true,"6":true,"7":true,"8":true,"9":true}}]

启用:√

5

评论区