{"id":37141533,"url":"https://github.com/cvilsmeier/moni","last_synced_at":"2026-01-14T16:37:00.656Z","repository":{"id":205475454,"uuid":"714313724","full_name":"cvilsmeier/moni","owner":"cvilsmeier","description":"A command line tool for Monibot - Website, Server and Application Monitoring","archived":false,"fork":false,"pushed_at":"2025-01-07T16:54:24.000Z","size":102,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-07T18:00:05.914Z","etag":null,"topics":["alerting","application-monitoring","golang-cli","monitoring","monitoring-application","monitoring-server","monitoring-tool","server-monitoring","webapp"],"latest_commit_sha":null,"homepage":"https://monibot.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cvilsmeier.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-04T14:46:36.000Z","updated_at":"2024-12-18T08:42:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"0ec76285-067b-4c2b-b3d2-85de58ce7a1b","html_url":"https://github.com/cvilsmeier/moni","commit_stats":{"total_commits":25,"total_committers":2,"mean_commits":12.5,"dds":"0.040000000000000036","last_synced_commit":"5bc6b7e227c783b316a6a91438adddc523b88efa"},"previous_names":["cvilsmeier/moni"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/cvilsmeier/moni","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvilsmeier%2Fmoni","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvilsmeier%2Fmoni/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvilsmeier%2Fmoni/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvilsmeier%2Fmoni/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cvilsmeier","download_url":"https://codeload.github.com/cvilsmeier/moni/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvilsmeier%2Fmoni/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28426108,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T16:32:27.303Z","status":"ssl_error","status_checked_at":"2026-01-14T16:28:36.419Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alerting","application-monitoring","golang-cli","monitoring","monitoring-application","monitoring-server","monitoring-tool","server-monitoring","webapp"],"created_at":"2026-01-14T16:37:00.001Z","updated_at":"2026-01-14T16:37:00.648Z","avatar_url":"https://github.com/cvilsmeier.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# moni - A command line tool for Monibot\n\n[![GoDoc Reference](https://godoc.org/github.com/cvilsmeier/moni?status.svg)](http://godoc.org/github.com/cvilsmeier/moni)\n[![build](https://github.com/cvilsmeier/moni/actions/workflows/build.yml/badge.svg)](https://github.com/cvilsmeier/moni/actions)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nA command line tool for https://monibot.io - Website-, Server- and Application Monitoring.\n\nMoni is a command-line tool to interact with the Monibot REST API. It is used to\n\n- Send watchdog heartbeats to Monibot\n- Send machine resource usage samples (CPU/Memory/Disk/Clock/Network) to Monibot\n- Send machine text data to Monibot\n- Send metric values to Monibot\n\nIt is written in [Go](https://go.dev/) and runs on Linux and Windows.\n\n\n## Installation\n\nFor installing moni on your machine, we provide several options.\n\n\n### Download a pre-built binary (recommended)\n\nDownload a pre-built binary for Linux/amd64 or Windows/amd64 here:\nhttps://github.com/cvilsmeier/moni/releases/latest\n\n\n### Install with go command\n\nIf you do not want to download a pre-built binary, you\ncan install moni from the command line, using Go:\n\n```\ngo install github.com/cvilsmeier/moni@latest\n```\n\n\n### Build from source\n\nIf you do not want to download a pre-built binary, you\ncan build moni from source:\n\n```\ngit clone https://github.com/cvilsmeier/moni\ncd moni/\nCGO_ENABLED=0 go build\n./moni help\n```\n\n\n## Usage\n\n```\n$ moni help\nmoni - a command line tool for https://monibot.io\n\nusage\n\n    moni [flags] command\n\nflags\n\n    -url\n        Monibot URL, default is \"https://monibot.io\".\n        You can set this also via environment variable MONIBOT_URL.\n\n    -apiKey\n        Monibot API Key, default is \"\".\n        You can set this also via environment variable MONIBOT_API_KEY\n        (recommended). You can find your API Key in your profile on\n        https://monibot.io.\n        Note: For security, we recommend that you specify the API Key\n        via MONIBOT_API_KEY, and not via -apiKey flag. The flag will show\n        up in 'ps aux' outputs and can be eavesdropped.\n\n    -trials\n        Max. Send trials, default is 12.\n        You can set this also via environment variable MONIBOT_TRIALS.\n\n    -delay\n        Delay between trials, default is 5s.\n        You can set this also via environment variable MONIBOT_DELAY.\n\n    -v\n        Verbose output, default is false.\n        You can set this also via environment variable MONIBOT_VERBOSE\n        ('true' or 'false').\n\ncommands\n\n    ping\n        Ping the Monibot API. If an error occurs, moni will print\n        that error. If it succeeds, it will print nothing.\n\n    watchdogs\n        List heartbeat watchdogs.\n\n    watchdog \u003cwatchdogId\u003e\n        Get heartbeat watchdog by id.\n\n    heartbeat \u003cwatchdogId\u003e [interval]\n        Send a heartbeat. If interval is not specified, moni sends\n        one heartbeat and exits. If interval is specified, moni\n        will stay in the background and send heartbeats in that\n        interval. Minimum interval is 5m.\n\n    machines\n        List machines.\n\n    machine \u003cmachineId\u003e\n        Get machine by id.\n\n    sample \u003cmachineId\u003e \u003cinterval\u003e\n        Send resource usage (load/cpu/mem/disk) samples for machine.\n        This command will stay in background and keep sampling\n        in specified interval. Minimum interval is 5m.\n\n    text \u003cmachineId\u003e \u003cfilename\u003e\n        Send filename as text for machine.\n        Filename can contain arbitrary text, e.g. arbitrary command\n        outputs. It's used for information only, no logic is\n        associated with texts. Moni will send the file as text and\n        then exit. If an error occurs, moni will print an error\n        message. Otherwise moni will print nothing.\n        Maximum filesize is 200K.\n\n    metrics\n        List metrics.\n\n    metric \u003cmetricId\u003e\n        Get metric by id.\n\n    inc \u003cmetricId\u003e \u003cvalue\u003e\n        Increment a counter metric.\n        Value must be a non-negative 64-bit integer value.\n\n    set \u003cmetricId\u003e \u003cvalue\u003e\n        Set a gauge metric value.\n        Value must be a non-negative 64-bit integer value.\n\n    values \u003cmetricId\u003e \u003cvalues\u003e\n        Send histogram metric values.\n        Values is a comma-separated list of 'value:count' pairs.\n        Each value is a non-negative 64-bit integer value, each\n        count is an integer value greater or equal to 1.\n        If count is 1, the ':count' part is optional, so\n        values '13:1,14:1' and '13,14' are sematically equal.\n        A specific value may occur multiple times, its counts will\n        then be added together, so values '13:2,13:2' and '13:4'\n        are sematically equal.\n\n    config\n        Show config values.\n\n    version\n        Show moni program version.\n\n    sdk-version\n        Show the monibot-go SDK version moni was built with.\n\n    help\n        Show this help page.\n\nExit Codes\n    0 ok\n    1 error\n    2 wrong user input\n```\n\n\n## Changelog\n\n### v0.5.0\n\n- update github.com/cvilsmeier/monibot-go@v0.2.0\n\n### v0.4.0\n\n- skip loopback network interface(s) on windows\n\n### v0.3.0\n\n- use shirou/gopsutil for machine sampling (support windows)\n\n### v0.2.2\n\n- renamed beat command to heartbeat\n\n### v0.2.1\n\n- update values command docs\n\n### v0.2.0\n\n- add values command for sending histogram metric values\n\n### v0.1.0\n\n- add text command for sending machine text\n- breaking change: set min watchdog beat interval 5m\n- breaking change: set min machine sample interval 5m\n\n### v0.0.2\n\n- change command names and interval handling\n\n### v0.0.1\n\n- add disk read/write sampling\n- add network recv/send sampling\n\n### v0.0.0\n\n- first version\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcvilsmeier%2Fmoni","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcvilsmeier%2Fmoni","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcvilsmeier%2Fmoni/lists"}