Comments (5)
Just marking my issue as a question
from nerve.
Short answer: just use both nerve and monit side by side.
Long answer:
There are two types of things here:
- health checks
- acting on the results of health checks
We have two separate components. Nerve only does health checks, and the only action it takes is publishing the results of those health checks. Synapse acts on the results of the health check to configure haproxy.
We have additional alerting capabilities at Airbnb which also consume the results of the health checks to generate alerts, like monit would do. However, we don't have any component that actively tries to restore health. This is because we're worried that actively trying to restore health would only cause more problems.
Ideally, if your code encounters bugs, it would fail fast. We use runit to run all of our services, so they would get automatically restarted. This is how we run nerve and synapse in prod as well.
However, if you are failing health checks because of failing upstream dependencies, restarting the service would not help and might cause harm as a starting service hammers your dependencies. This would argue against the use of monit for actively intervening in failing health checks.
from nerve.
Ok, forget about monit restarting my services. Point is: both monit and nerve will do same health checks. Monit will start my alarm routines and nerve will notify zk one node is out. Does it make sense to put both alarm reporting and service discovery reporting on nerve?
from nerve.
like i said, i think it is best to have a separate tool to do the alerting, which is linked with all of the rest of your systems alerting; we're planning on open-sourcing such a tool soon.
from nerve.
I think there are lots of options here, either what igor has mentioned or you can do what we do at Yelp and monitor the other end of the equation in Synapse (check that enough instances are actually in HAProxy).
Since this hasn't had any action for a few years I'm going to close this. Feel free to re-open if these answers are insufficient :-)
from nerve.
Related Issues (20)
- Nerve reporting to Kubernetes API Server HOT 2
- Install nerve in Ubuntu 20
- Project dependencies may have API risk issues
- Gem does not build on arm64 platform
- Unitialized constant error HOT 2
- Marathon support HOT 4
- nerve can silently stop watching a service! HOT 3
- Publish nerve 0.3.0 to rubygems.org HOT 1
- service_watcher does not exit properly in long sleep loop HOT 2
- Nerve ParseError HOT 2
- Nerve fails to restart on watcher failure HOT 3
- Dynamic Configuration HOT 2
- Please upgrade Bunny dependency
- serf Support HOT 4
- Connect to different zookeeper clusters async
- Should nerve consider a 3xx status to be successful? HOT 1
- cross dc services and failover HOT 4
- ZK connectivity failure with multiple watchers leads to permanent failure HOT 3
- Is this project still active? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nerve.