#health-check #devops #config-file #status #executable #http #cli

app healthcheck-rs

Rust 编写的简单 HTTP 检查状态的可执行文件

3 个版本

0.1.2 2022年6月22日
0.1.1 2020年7月9日
0.1.0 2020年7月9日

#2554 in 命令行工具

MIT 许可证

11KB
76

healthcheck-rs 最新版本

Rust 编写的简单 HTTP 检查状态的可执行文件。

healthcheck-rs 使用包含 URL 的配置文件,并检查每个 URL 的 HTTP GET 请求返回是否成功

配置和构建

创建一个符合以下规范的 config.json 文件

{
    "groups": [
        {
            "name": "GOOGLE SERVICES",
            "hosts": [
                {
                    "name": "Google Search", 
                    "url": "https://www.google.com"
                },
                {
                    "name": "Google Drive", 
                    "url": "https://drive.google.com"
                }
            ]
        },
        {
            "name": "FACEBOOK SERVICES",
            "hosts": [
                {
                    "name": "Facebook", 
                    "url": "https://facebook.com"
                },
                {
                    "name": "Instagram", 
                    "url": "https://instagram.com"
                }
            ]
        }
    ]
}

使用以下方式安装

cargo install healthcheck-rs

运行

运行时,您可以使用 target/ 文件夹中生成的二进制文件或使用 (它将使用同一文件夹中的 config.json 文件)

healthcheck-rs

您可以通过命令行传递 config.json 文件

healthcheck-rs new-config-file.json

healthcheck-rs 将对每个服务执行 HTTP GET 请求并返回如下输出

===== GOOGLE SERVICES =====
Google Search - ✅
Google Drive - ✅
===== FACEBOOK SERVICES =====
Facebook - ❌ - reqwest::Error { kind: Request, url: "https://facebook.com", source: TimedOut }
Instagram - ✅

依赖 Crates

此项目使用以下 Crates

  • reqwest - Rust 的一个方便、包含电池的 HTTP 客户端
  • serde - Serde 是一个用于高效和通用地序列化和反序列化 Rust 数据结构的框架。
  • serde-json - Serde 是一个用于在 JSON 格式中高效和通用地序列化和反序列化 Rust 数据结构的框架

依赖关系

~4–16MB
~226K SLoC