reddec / Monexec
Licence: mit
Light supervisor on Go (with optional Consul autoregistration)
Stars: ✭ 132
Programming Languages
go
31211 projects - #10 most used programming language
Labels
Projects that are alternatives of or similar to Monexec
superdiscoverer
A Supervisor backed service discoverer for automatic service-discovery.
Stars: ✭ 15 (-88.64%)
Mutual labels: consul, supervisor
Learning Tools
A collection of tools and files for learning new technologies
Stars: ✭ 1,287 (+875%)
Mutual labels: consul
Nomad Firehose
Firehose all nomad job, allocation, nodes and evaluations changes to rabbitmq, kinesis or stdout
Stars: ✭ 96 (-27.27%)
Mutual labels: consul
Nsq Go
Go package providing tools for building NSQ clients, servers and middleware.
Stars: ✭ 90 (-31.82%)
Mutual labels: consul
Autowire
Automatically configure Wireguard interfaces in distributed system. It supports Consul as backend.
Stars: ✭ 101 (-23.48%)
Mutual labels: consul
Mechanist
[Docker] - The Mechanist is a collection of Dockerfiles and Composefiles for various tools and purposes.
Stars: ✭ 86 (-34.85%)
Mutual labels: consul
Graceful
graceful reload golang http server, zero downtime, compatible with systemd, supervisor
Stars: ✭ 129 (-2.27%)
Mutual labels: supervisor
Hashi Up
bootstrap HashiCorp Consul, Nomad, or Vault over SSH < 1 minute
Stars: ✭ 113 (-14.39%)
Mutual labels: consul
Vaultron
🤖 Vault clusters Terraformed onto Docker for great fun and learning!
Stars: ✭ 96 (-27.27%)
Mutual labels: consul
Supervisor Event Listener
Supervisor事件通知, 支持邮件, Slack, WebHook
Stars: ✭ 95 (-28.03%)
Mutual labels: supervisor
Eureka Consul Adapter
This project contains a Spring Boot Starter that registers HTTP endpoints on a Spring Cloud Eureka server to support Prometheus's service discovery mechanism for Consul (<consul_sd_config>)
Stars: ✭ 93 (-29.55%)
Mutual labels: consul
Earl
Service Objects for Crystal (Agents, Artists, Supervisors, Pools, ...)
Stars: ✭ 89 (-32.58%)
Mutual labels: supervisor
Gobetween
☁️ Modern & minimalistic load balancer for the Сloud era
Stars: ✭ 1,631 (+1135.61%)
Mutual labels: consul
Gomplate
A flexible commandline tool for template rendering. Supports lots of local and remote datasources.
Stars: ✭ 1,270 (+862.12%)
Mutual labels: consul
Kitsvc
⚙ 一個基於 Golang、Consul、Prometheus、EventStore、Gin、Gorm、NSQ 的微服務起始結構。
Stars: ✭ 101 (-23.48%)
Mutual labels: consul
Envconsul
Launch a subprocess with environment variables using data from @hashicorp Consul and Vault.
Stars: ✭ 1,761 (+1234.09%)
Mutual labels: consul
Library
A microservice project using .NET Core 2.0, DDD, CQRS, Event Sourcing, Redis and RabbitMQ
Stars: ✭ 122 (-7.58%)
Mutual labels: consul
Monexec
MONitoring EXEcutables
It’s tool for controlling processes like a supervisord but with some important features:
- Easy to use - no dependencies. Just a single binary file pre-compilled for most major platforms
- Easy to hack - monexec can be used as a Golang library with clean and simple architecture
- Integrated with Consul - optionally, monexec can register all running processes as services and deregister on fail
- Optional notification to Telegram
- Supports gracefull and fast shutdown by signals
- Developed for used inside Docker containers
- Different strategies for processes
- Support additional environment files
- Support template-based email notification
- Support HTTP notification
- REST API (see swagger.yaml)
- Web UI (if REST API enabled)
Installing
-
Precompilled binaries: release page
-
From source (required Go toolchain):
go get -v -u github.com/reddec/monexec/...
recommended way is snap
Documentation
Usage: https://reddec.github.io/monexec/
API: Godoc
Examples
See documentation for details https://reddec.github.io/monexec/
Run from cmd
monexec run -l srv1 --consul -- nc -l 9000
Run from config
monexec start ./myservice.yaml
Notifications
Add notification to Telegram
telegram:
# BOT token
token: "123456789:AAAAAAAAAAAAAAAAAAAAAA_BBBBBBBBBBBB"
services:
# services that will be monitored
- "listener2"
recipients:
# List of telegrams chat id
- 123456789
template: |
*{{.label}}*
Service {{.label}} {{.action}}
{{if .error}}⚠️ *Error:* {{.error}}{{end}}
_time: {{.time}}_
_host: {{.hostname}}_
Add email notification
email:
services:
- myservice
smtp: "smtp.gmail.com:587"
from: "[email protected]"
password: "xyzzzyyyzyyzyz"
to:
- "[email protected]"
template: |
Subject: {{.label}}
Service {{.label}} {{.action}}
HTTP
Add HTTP request as notification
http:
services:
- myservice
url: "http://example.com/{{.label}}/{{.action}}"
templateFile: "./body.txt"
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].