3 ms·
Well yes, but like another comment here on HN points out, it's not universal, and there are trade-offs, and different systems have chosen differently. E.g. Mon
by jabl 7y ago
Well yes, but like another comment here on HN points out, it's not universal, and there are trade-offs, and different systems have chosen differently. E.g.
Monitoring: Mostly push, except prometheus which is pull.
Config management: Mostly pull, except ansible which is push (yes, there is ansible-pull, but most ansible code out there assumes push).
- philjohn 7y agoAnd now InfluxDB 2.0 which uses push for Telegraf, and pull to scrape Prometheus-style metrics.
- eeZah7Ux 7y agoIn both monitoring and config management, the majority is right. Monitoring: you don't want to have all your applications and even scripts run a thread to listen on a dedicated port to allow pulling. It's bad for security, code complexity, configuration complexity (all those ports) and reliability (when an application stops the datapoints are lost). Config management: with a push model you can easily end up having 2 developers push to the same system (or to systems that should be updated in sequence) in an unmanaged manner.
- longcommonname 7y agoPush based monitoring has its own flaws. Mainly service discovery is coupled with service health. Pull based monitoring makes it so you can remove the service and independently recognize failures.
- eeZah7Ux 6y agoYou can do the same easily with push.