Categorygithub.com/monobilisim/monokit
modulepackage
6.0.1+incompatible
Repository: https://github.com/monobilisim/monokit.git
Documentation: pkg.go.dev

# README

Contributors

Forks Stargazers Issues GPL License

Readme in English

monokit

monokit is a collection of tools that were previously written in Bash in the mono.sh repository. These tools are written in Go and provide a more efficient and faster alternative to the Bash scripts. The tools are cross-platform.

Table of Contents


Tools

  • zimbraLdap

    • Runs ldap.sh script.
  • traefikHealth

    • Check Traefik health, including service status and logs.
    • Sends alarm notifications to a Slack webhook.
  • sshNotifier

    • Notifies of a successful SSH login/logout through the Slack webhook.
    • Config: /etc/mono/ssh-notifier.yaml
  • pritunlHealth

    • Check Pritunl server health.
    • Sends alarm notifications to a Slack webhook.
    • Config: /etc/mono/pritunl.yaml (optional)
  • postalHealth

    • Check Postal health, including service status, containers, and queued messages.
    • Sends alarm notifications to a Slack webhook.
    • Opens an issue in Redmine if the database is down.
    • Config: /etc/mono/mail.yaml
  • zimbraHealth

    • Check Zimbra health, including service status, queued messages, SSL certificate expiry and Z-Push status.
    • Sends alarm notifications to a Slack webhook.
    • Opens an issue in Redmine if the SSL certificate is about to expire.
    • Config: /etc/mono/mail.yaml
  • pmgHealth

    • Checks PMG health, including service status, queued messages and PostgreSQL status.
    • Sends alarm notifications to a Slack webhook.
    • Config: /etc/mono/mail.yaml
  • k8sHealth

    • Checks Kubernetes health, including node status and certificate expiration.
    • Sends alarm notifications to a Slack webhook.
    • Config: /etc/mono/k8s.yaml
  • shutdownNotifier

    • Notifies of a poweroff/poweron through the Slack webhook.
  • mysqlHealth

    • Checks MySQL health, including read and write operations.
    • Sends alarm notifications to a Slack webhook.
    • Config: /etc/mono/db.yaml
  • pgsqlHealth

    • Checks PostgreSQL health, including read and write operations.
    • Sends alarm notifications to a Slack webhook.
    • Config: /etc/mono/db.yaml
  • redisHealth

    • Checks Redis health, including read and write operations.
    • Sends alarm notifications to a Slack webhook.
    • Config: /etc/mono/redis.yml (optional)
  • rmqHealth

    • Checks RabbitMQ health, including Management API and node status.
    • Sends alarm notifications to a Slack webhook.
    • Config: /etc/mono/rabbitmq.yaml (optional)
  • osHealth

    • Checks OS health, including Disk, CPU and Memory usage.
    • Sends alarm notifications to a Slack webhook.
    • Opens issue in Redmine if disks are above the threshold.
    • Config: /etc/mono/os.yaml
  • redmine

    • Allows you to create, update and close issues in Redmine.
    • Has a service system that keeps track of the issue ID.
    • Config: /etc/mono/global.yaml
  • alarm

    • Sends alarm notifications to a Slack webhook.
    • Config: /etc/mono/global.yaml
  • update

    • Updates the monokit binary to the latest version.
    • Allows you to choose the version to update with the --version flag.
  • migrate

    • Migrates from a old version of Monokit to a new one in case of a breaking change.
  • lbPolicy

    • Allows you to switch between the load balancing policies on Caddy, and list current policies.
    • Config: /etc/mono/glb-*.yaml
  • wppconnectHealth

    • Checks WPPConnect health, phone status.
    • Sends alarm notifications to a Slack webhook.
    • Config: /etc/mono/wppconnect.yaml
  • daemon

    • Daemonizes Monokit, allowing you to run it as a service.
    • Runs health checks with the specified interval.
    • Config: /etc/mono/daemon.yaml

Usage

  1. Configure by editing the config files in /etc/mono/. You can default values in the config folder. Please keep in mind that to use any of the tools, you need to also configure /etc/mono/global.yaml file.

  2. Run the desired tool using the following command as root:

monokit NAME

Replace NAME with the name of the tool you want to run (e.g. osHealth).

A log file will be put on /var/log/monokit.log if you want to check the errors. They will also be printed to stdout.

If you use Monokit on a place where there is no proper color support, you can disable the color output by setting the MONOKIT_NOCOLOR  environment variable to true or 1.


Building

To build monokit:

./build.sh

The resulting binaries will be in the bin folder.


License

monokit is licensed under GPL-3.0-only. See LICENSE file for details.

# Packages

go:build linux.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
go:build linux.
go:build linux.
go:build linux.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
go:build linux.
No description provided by the author

# Functions

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Variables

No description provided by the author