We recently launched Automato's take on uptime monitoring. We created Binocs with two goals in mind:
It seems obvious that an uptime monitoring tool should be accurate, reporting an issue when there is an issue and not reporting an issue when everything is working just fine. However, our experience operating hundreds of web services over the last seven years has shown us that this expectation is difficult to satisfy with the existing tools.
At one point, we used three of the most popular uptime monitoring services and got into the unsettling habit of taking notifications seriously only when at least two of the uptime monitoring services that we used reported issues at the same time. Both false positives and false negatives were not unusual. That was when we decided to explore how difficult it is to build an uptime monitoring service that functions reliably. As it turned out, we were pretty naïve. Building an objective, accurate watchman in a fluid and heterogeneous environment such as the internet is a challenging problem.
So we kept working on Binocs for a few years while maintaining and expanding our clients' infrastructures. During this time, we were lucky to operate various web stacks with diverse traffic patterns and SLAs, which provided us with plenty of opportunities to test Binocs on production systems. As our synthetic monitoring tool matured and more edge cases were covered, and especially after we started using the gossip protocol to cross-check changes in resource states, our tests started to show excellent results in terms of reporting accuracy. That was a tentative check mark on our first goal. We keep running accuracy tests and adjust our algorithms accordingly. The pool of weirdness is never fully explored.
The second goal we had in mind when we started working on Binocs in 2018 was to make a tool that fits the modern toolkit of contemporary sysadmins, DevOps practitioners, and other hardcore computer people. We decided to build Binocs as a command-line first tool (Figure 1). Binocs CLI is built around the Cobra library, which is used by tools such as Kubernetes and GitHub CLI. It makes the Binocs command-line interface approachable and well documented.
Figure 1 – The output of
$ binocs check ls
Binocs is a paid service with credit-based billing. We welcome new users with a free credit pack (and you can always ask us for more free credits if you operate a carbon-neutral business). We use elastic billing and charge only based on the number of requests we make on your behalf. There is no monthly fee, and we don't limit features based on how much you spend on Binocs. So even if you just want to check one site, all powers of Binocs are available to you, in your command line, at your fingertips 🙂 We hope you'll like using Binocs as much as we do.
Update: We just launched Binocs Terraform Provider!