#状态 #crisp #基础设施 #本地服务器 #本地节点 #监控 #crisp-status

应用 crisp-status-local

Crisp Status本地探测中继

14个稳定版本

新版本 1.4.0 2024年8月14日
1.3.7 2023年9月1日
1.3.4 2023年1月6日
1.3.3 2022年7月9日
0.0.1 2018年6月25日

#164 in Web编程

Download history 6/week @ 2024-06-30 2/week @ 2024-07-28 114/week @ 2024-08-11

每月 116 次下载

MPL-2.0 许可证

54KB
998

Crisp Status Local

Test and Build Build and Release dependency status

Crisp Status Local用于监控内部主机并向Crisp Status报告其状态。

Crisp Status Local是一个守护程序,您可以使用它向您的Crisp Status状态页面报告内部服务健康状况。它设计用于在防火墙后面使用,并监控绑定到您的本地回环或局域网网络的宿主(例如,在局域网IP地址上运行的MySQL服务器)。

在您的服务器上安装Crisp Status Local,并使用您的Crisp Status令牌进行配置;然后它将自动开始监控您在Crisp中配置的所有节点(在local模式下)。local模式类似于poll模式,但专门用于crisp-status-local监控。

版权所有 2018 Crisp IM SAS。有关复制信息,请参阅LICENSE。

在Rust版本:rustc 1.62.0 (a8314ef7d 2022-06-27)上进行测试

Crisp Status是什么?

Crisp Status是Crisp上提供的状态页面服务。在Crisp上查看Crisp Status的实时演示(Enrich是一个使用Crisp的服务)。

它允许Crisp用户使用各种方法监控其关键系统:使用Crisp Status Reporter库的应用程序使用push,公共互联网的HTTP & TCP服务使用poll,以及私有局域网的HTTP & TCP服务使用local

当监控节点出现故障时,Crisp Status会向网站管理员发送警报。如果故障持续时间过长,网站用户也会通过Crisp Chatbox、Crisp 帮助台以及Crisp状态页面的详细信息来接收通知。

Crisp Status Local允许Crisp Status用户监控配置在local模式下的节点(即私有局域网内HTTP & TCP服务),同时还可以使用不需要Crisp Status Local工具的其他监控方法。

它是如何工作的呢?

Crisp Status Local需要安装在你的基础设施服务器上。每个Crisp状态页面最多只能运行一个Crisp Status Local实例。

Crisp Status Local会动态获取你的Crisp状态配置并检查local模式节点的健康状态。然后它会报告这些内部节点是健康的生病的还是死亡的

👉 Crisp Status Local是开源的,并使用Rust编写;因此,你可以自由地审查、修改其代码并自行编译。我们知道在您的基础设施中运行此类二进制文件可能会很敏感,这就是为什么我们将其开源。

如何添加监控节点?

您可以在Crisp仪表板上轻松添加要监控的本地节点,方法如下

How to add monitored nodes

如何使用它?

安装

您可能会发现通过Docker运行Crisp Status Local很方便。您可以在Docker Hub上找到预构建的Crisp Status Local镜像,网址为crispim/crisp-status-local

首先,拉取crispim/crisp-status-local镜像

docker pull crispim/crisp-status-local:v1.4.0

然后,创建一个配置文件并运行它(将/path/to/your/crisp-status-local/config.cfg替换为您配置文件的路径)

docker run -v /path/to/your/crisp-status-local/config.cfg:/etc/crisp-status-local.cfg crispim/crisp-status-local:v1.4.0

在配置文件中,请确保

  • report.token设置为您的Crisp状态报告者令牌(您可以在Crisp仪表板上获取它)

B. 从软件包安装

Crisp Status Local为基于Debian的系统(Debian、Ubuntu等)提供了预构建的软件包

重要提示:Crisp Status Local目前只提供针对Debian 10、11 & 12的64位软件包(代号:busterbullseye & bookworm)。您仍然可以在其他Debian版本以及Ubuntu上使用它们。

首先,添加Crisp Status Local APT仓库(例如,对于Debian bookworm

echo "deb [signed-by=/usr/share/keyrings/crisp-im_crisp-status-local.gpg] https://packagecloud.io/crisp-im/crisp-status-local/debian/ bookworm main" > /etc/apt/sources.list.d/crisp-im_crisp-status-local.list
curl -fsSL https://packagecloud.io/crisp-im/crisp-status-local/gpgkey | gpg --dearmor -o /usr/share/keyrings/crisp-im_crisp-status-local.gpg
apt-get update

然后,安装Crisp Status Local软件包

apt-get install crisp-status-local

然后,编辑预填充的Crisp Status Local配置文件

nano /etc/crisp-status-local.cfg

最后,重新启动Crisp Status Local

service crisp-status-local restart

C. 从二进制文件安装

Crisp Status Local的二进制文件在GitHub的发行版中共享。您可以直接从发行版页面下载最新的二进制版本,并在您的服务器上运行。每个发行版二进制文件都附带一个.asc签名文件,可以使用Crisp GPG密钥进行验证。

您仍然需要为二进制文件提供配置文件,因此请确保您已准备好Crisp Status Local的config.cfg文件。

提供的二进制文件是静态链接的,这意味着它可以在任何基于Linux的服务器上运行。然而,它将无法在MacOS或Windows机器上运行。

D. 从Cargo安装

如果您更喜欢通过Rust的Cargo管理crisp-status-local,可以直接通过cargo install直接安装

cargo install crisp-status-local

确保您的 $PATH 正确配置以源码编译 Crates 二进制文件,然后使用 crisp-status-local 命令运行 Crisp Status Local。

E. 从源码构建

最后一个选项是从 Git 拉取源代码,通过 cargo 编译 Crisp Status Local。

cargo build --release

您可以在 ./target/release 目录中找到编译后的二进制文件。

配置

使用示例 config.cfg 配置文件,并根据您的环境进行修改。

您还可以在配置文件中使用环境变量和字符串插值,例如:token = ${{CRISP_STATUS_TOKEN}}

以下列出了可用的配置选项和允许的值

[server]

  • log_level(类型:字符串,允许:debuginfowarnerror,默认:warn)— 日志详细程度,在生产环境中设置为 error

[report]

  • token(类型:字符串,允许:任何字符串,无默认值)— 您的 Crisp Status Reporter 令牌(您可以在 Crisp 控制台中获取)

注意:如果 report.token 值无效,当守护进程运行时,您将在 syslog 中看到错误。

运行

Crisp Status Local 可以这样运行

./crisp-status-local -c/path/to/config.cfg

获取更多帮助

您可以在我们的帮助文章中找到更多帮助:[如何设置 Crisp Status Local 服务?](https://help.crisp.chat/en/article/1vbyqkt/)

🔥 报告漏洞

如果您在 Crisp Status Local 中发现漏洞,非常欢迎您直接通过发送加密邮件到 [email protected]@crisp-im 报告。请勿在公共 GitHub 问题中报告漏洞,因为这可能会被恶意人士利用,针对运行未打补丁的 Crisp Status Local 服务器。

⚠️ 您必须使用 @crisp-im GPG 公钥加密您的电子邮件,该公钥可在:漏洞披露 中找到。

依赖项

~18MB
~441K SLoC