开源、轻量、易用的服务器实时监控工具:哪吒探针

本文首发于只抄博客,欢迎点击原文链接了解更多内容。

前言

哪吒探针是一个开源、轻量、易用的服务器监控、运维工具,它有以下几个特点:

  • 一键安装:可以一键安装面板与 Agent,并且支持 Linux、Windows、MacOS、OpenWRT 以及群晖等主流系统
  • 实时监控:支持同时监控多个服务器的实时状态、网络延迟
  • 功能丰富:支持 WebSSH、DDNS、流量监控,并且可以支持定时任务以及告警通知

安装哪吒探针一般需要有一台公网 IP 的 VPS 用于安装面板、一个 Github 账号用于登录后台,如果你想在没有公网 IP 的设备上部署哪吒探针,可以参考 没有公网 IP 如何部署哪吒探针?(适用于家里云 Nas、Nat VPS、IPv6 Only VPS)

安装面板

Github 创建应用

  1. 打开 Github 创建一个应用

  2. 填写应用的信息

    • Application name:应用名字,可以随意填写

    • Homepage URL:面板的域名,如果不打算使用域名,可以直接填写 http://ip:port

    • Authorization callback URL:在域名后面添加 /oauth2/callback 填入

nezha1

  1. 创建完成后,点击页面中的 Generate a new client secret 生成密钥,并将 Client ID 与 Client secrets 记录下来 (密钥只会显示一次)

nezha2

服务器安装面板

通过一键脚本进行安装面板

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

如果服务器位于国内,可以使用 gitee 的地址下载脚本

curl -L https://gitee.com/naibahq/nezha/raw/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh
  1. 输入 2 选择独立安装

  2. 输入 1 安装面板端

    • OAuth2 提供商 github
    • Client ID 与 Client secrets 填写刚才记录下来的
    • 管理员填写 Github 的用户名
    • 标题任意,端口默认

nezha3

  1. 稍等片刻,安装成功后,使用 http://ip:8008 就能进入面板了

安装 Agent

  1. 在面板的后台点击新增服务器,任意起一个名字

nezha4

  1. 来到设置中,填入面板绑定的域名或者 IP

nezha5

  1. 在列表中点击复制一键安装脚本到想要监控的服务器上运行

nezha6

  1. Agent 安装完成后,就能在面板上看到机器上线了

nezha7

DDNS

哪吒探针的 Agent 会上报机器的 IP,因此我们可以在面板端配置 DDNS,即可实现一端部署,多端 DDNS,不再需要在每台机器上安装 ddns-go

启用哪吒探针的 DDNS 功能非常简单,只需要编辑配置文件 vim /opt/nezha/dashboard/data/config.yaml

将 Cloudflare 的 token 填入 AccessSecret 中,token 的获取可以参考 通过 ddns-go 动态域名解析 实现公网访问内网服务

DDNS:Enable: trueProvider: "cloudflare"AccessSecret: ""MaxRetries: 3Profiles: null

然后返回面板后台,勾选启用 DDNS、启用 DDNS IPv6、输入 DDNS 域名

nezha8

默认情况下,Agent 每 30 分钟上报一次 IP,建议在安装 Agent 时,添加 -u 参数修改上报间隔,单位为秒

./nezha.sh install_agent 192.168.1.1 5555 123456789 -u 60

服务 - 网络监控

在后台管理的服务页面中,按如图所示添加监控,安装有 Agent 的机器会定期 Ping 目标 IP,并记录下延迟在前台形成图表

nezha9

添加后,等待几分钟 ,来到前台的网络选项中,就可以查看 24 小时内的延迟情况

nezha10

任务 - 计划任务

如果你有多台服务器都需要定时执行任务,则可以在任务页面中,添加计划任务替代 crontab,无需在每台机器上编辑 crontab,更加的方便

nezhe11

告警 - 通知与告警

通知

在告警页面中,可以添加通知方式,用于触发告警任务或完成计划任务时的通知,哪吒探针支持多种通知方式,可以参考官方文档 - 灵活的通知方式,下图以飞书机器人通知为例

nezha12

告警

告警规则可以用于监控服务器是否在线、CPU 占用、内存占用、硬盘占用以及网速、流量等,当超过设定的阈值时,通过上面设置的通知方式进行告警

告警规则的设置为 json 格式的对象,更多的配置可以参考官方文档 - 告警规则说明

  • type 设置监控的类型,例如监控 CPU 占用
  • max 设置监控的阈值
  • duration 设置持续时长,超过该时长后触发通知
  • cover 与 ignore 设置规则覆盖的机器

一个告警可以添加多个类型,如在一个规则中选择了多个类型,需要同时满足所有选择的类型才会触发通知

nezha13

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/317180.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

纯血鸿蒙APP实战开发——发布图片评论

介绍 本示例将通过发布图片评论场景,介绍如何使用startAbilityForResult接口拉起相机拍照,并获取相机返回的数据。 效果图预览 使用说明 通过startAbilityForResult接口拉起相机,拍照后获取图片地址。 实现思路 创建CommentData类&#…

VSCode 配置 CMake

VSCode 配置 C/C 环境的详细过程可参考:VSCode 配置 C/C 环境 1 配置C/C编译环境 方案一 如果是在Windows,需要安装 MingW,可以去官网(https://sourceforge.net/projects/mingw-w64/)下载安装包。 注意安装路径不要出现中文。 打开 windows…

虚析构与纯虚析构

这里的new Cat("Tom"&#xff09;是由于基类函数中的构造函数里面带有string变量 1. 法一:利用虚函数&#xff0c;虚化基类中的析构函数 virtual ~Animal() { cout << "动物的析构函数调用" << endl; } 2. 法二:利用纯…

VitePress 构建的博客如何部署到 Netlify 平台?

VitePress 构建的博客如何部署到 Netlify 平台&#xff1f; 前言 之前写了篇文章【使用 Vitepress 构建博客并部署到 github 平台】&#xff0c;有个老哥说 github page 访问太慢了&#xff0c;希望放到 Netlify 平台上面。 咱也没部署过&#xff0c;就试了一下&#xff0c;发…

低功耗数字IC后端设计实现典型案例| UPF Flow如何避免工具乱用Always On Buffer?

下图所示为咱们社区低功耗四核A7 Top Hierarchical Flow后端训练营中的一个案例&#xff0c;设计中存在若干个Power Domain&#xff0c;其中Power Domain2(简称PD2)为default Top Domain&#xff0c;Power Domain1&#xff08;简称PD1&#xff09;为一个需要power off的domain&…

【再探】设计模式—抽象工厂及建造者模式

抽象工厂模式和建造者模式都属于创建型模式。两者都能创建对应的对象&#xff0c;而创建者模式更侧重于创建复杂对象&#xff0c;将对象的创建过程封装起来&#xff0c;让客户端不需要知道对象的内部细节。 1 抽象工厂模式 需求&#xff1a; 在使用工厂方法模式时&#xff0…

Postgresql 从小白到高手 十一 :数据迁移ETL方案

文章目录 Postgresql 数据迁移ETL方案1、Pg 同类型数据库2 、Pg 和 不同数据库 Postgresql 数据迁移ETL方案 1、Pg 同类型数据库 备份 : pg_dump -U username -d dbname -f backup.sql插入数据&#xff1a; psql -U username -d dbname -f backup.sqlpg_restore -U username…

【Godot4.2】自定义Todo清单类 - myTodoList

概述 在写myList类的时候&#xff0c;就想到可以写一个类似的Todo清单类。 基础思路 本质还是在内部维护一个数组&#xff0c;在其基础上进行增删改查操作的封装为了方便存储数据&#xff0c;编写一个自定义内置类TodoItem&#xff0c;内部数组就变成了Array[TodoItem]类型的…

JENKINS 安装,学习运维从这里开始

Download and deployJenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their softwarehttps://www.jenkins.io/download/首先点击上面。下载Jenkins 为了学习&#xff0c;从windows开始&#x…

mysql-sql练习-5-行列互转

目录 成绩单 简单互转 需求 多行转多列 分组 判断 聚合 理解 分组 合并 逆向需求 多列转多行 输出 合并 abc 去重 合并 拆分 需求 建表 多行转多列 逆向需求 多列转多行 拆分 按长度 拆分 按个数 成绩单 简单互转 需求 多行转多列 分组 判断 聚合 with tmp as(--…

【快速入门 LVGL】-- 5、Gui Guider界面移植到STM32工程

上篇&#xff0c;我们已学习&#xff1a;【快速入门 LVGL】-- 4、显示中文 工程中添加了两个按钮作示范。运行效果如图&#xff1a; 本篇&#xff1a;把Gui Guider设计好的界面&#xff0c;移植到STM32工程。 特别地&#xff1a; 在使用Gui Guider进行界面设计时&#xff0c;应…

如何在Linux上安装Python?2024Python安装教程

在Linux上安装Python并不难&#xff0c;对于Ubuntu或Debian系统&#xff0c;使用命令sudo apt install python3&#xff1b;对于CentOS、Red Hat或Fedora系统&#xff0c;使用命令sudo yum install python3。 如何在Linux上安装Python&#xff1f; 确切的安装步骤有所不同&am…

LabVIEW 2024安装教程(附免费安装包资源)

鼠标右击软件压缩包&#xff0c;选择“解压到LabVIEW.2024”。 返回解压后的文件夹&#xff0c;鼠标右击“ni_labview-2024”选择“装载”。 鼠标右击“Install”选择“以管理员身份运行”。 点击“我接受上述2条许可协议”&#xff0c;然后点击“下一步”。 点击“下一步”。 …

用html画一个四叶草

<!DOCTYPE html> <html lang"en" > <head> <meta charset"UTF-8"> <title>四叶草</title> <link href"" rel"stylesheet"> <link rel"stylesheet" href"css/style.css&q…

xLua详解

目录 环境准备xLua导入 C#调用LuaLua解析器Lua文件加载重定向Lua解析管理器全局变量的获取全局函数的获取List和Dictionary映射table类映射table接口映射tableLuaTable映射table Lua调用C#准备工作Lua使用C#类Lua调用C#枚举Lua使用C# 数组 List 字典数组List字典 Lua使用C#扩展…

Ubuntu如何更换 PyTorch 版本

环境&#xff1a; Ubuntu22.04 WLS2 问题描述&#xff1a; Ubuntu如何更换 PyTorch 版本考虑安装一个为 CUDA 11.5 编译的 PyTorch 版本。如何安装旧版本 解决方案&#xff1a; 决定不升级CUDA版本&#xff0c;而是使用一个与CUDA 11.5兼容的PyTorch版本&#xff0c;您可…

22 重构系统升级-实现不停服的数据迁移和用户切量

专栏的前 21 讲&#xff0c;从读、写以及扣减的角度介绍了三种特点各异的微服务的构建技巧&#xff0c;最后从微服务的共性问题出发&#xff0c;介绍了这些共性问题的应对技巧。 在实际工作中&#xff0c;你就可以参考本专栏介绍的技巧构建新的微服务&#xff0c;架构一个具备…

图像处理的基本操作

一、PyCharm中安装OpenCV模块 二、读取图像 1、基本语法 OpenCV提供了用于读取图像的imread()方法&#xff0c;其语法如下&#xff1a; image cv2.imread&#xff08;filename&#xff0c;flags&#xff09; &#xff08;1&#xff09;image&#xff1a;是imread方法的返回…

前后缀分离,CF1209 C. Maximal Intersection

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 Problem - 1029C - Codeforces 二、解题报告 1、思路分析 线段相交具有可…

预编码算法学习笔记

文章目录 1. 基本原理2. 常见应用2.1 自编码器2.2 变分自编码器2.3 稀疏自编码器 3. 学习笔记 在机器学习领域&#xff0c;预编码算法是一种强大的工具&#xff0c;用于将高维数据映射到低维表示&#xff0c;从而提取数据中的重要特征。本文将介绍预编码算法的基本原理、常见应…