healthcheck-rs

Crates.iohealthcheck-rs
lib.rshealthcheck-rs
version0.1.2
sourcesrc
created_at2020-07-09 19:02:50.614002
updated_at2022-06-22 19:16:51.039413
descriptionA Rust executable for simple HTTP check status.
homepagehttps://github.com/selatotal/healthcheck-rs
repositoryhttps://github.com/selatotal/healthcheck-rs
max_upload_size
id262960
size33,868
Tales Bitelo Viegas (selatotal)

documentation

README

healthcheck-rs Latest Version

A Rust executable for simple HTTP check status.

healthcheck-rs use a config file containing URLs and check if the return of HTTP GET request of each one is successfully

Configure and build

Create a config.json file with the following specification:

{
    "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"
                }
            ]
        }
    ]
}

Install using:

cargo install healthcheck-rs

Running

To run, you can use the binary generated in target/ folder or use (it will use config.json file in the same folder):

healthcheck-rs

You can pass config.json file in command-line using:

healthcheck-rs new-config-file.json

healthcheck-rs will do a HTTP GET request in each service and return an output like this:

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

Dependency Crates

This project use the following crates:

  • reqwest - An ergonomic, batteries-included HTTP Client for Ru
  • serde - Serde is a framework for serializing and deserializing Rust data structures efficiently and generically.
  • serde-json - Serde is a framework for serializing and deserializing Rust data structures efficiently and generically in JSON format
Commit count: 12

cargo fmt