Difference between Monika and EaseProbe: 2022 Synthetic Monitoring Tool Comparison
Synthetic monitoring software has been a crucial part when it comes to monitoring your web app and API endpoints. It helps you to identify problems happening in your applications before your users even know it.
Our fellow Ariya Hidayat told us about an open-source software called EaseProbe, a simple, standalone, and lightweight tool that can do health/status checking, written in Go.
EaseProbe basically does the same thing as Monika, but what distinguishes EaseProbe from Monika? This article will compare both the software to determine which synthetic monitoring software matches perfectly with your requirements. Without further ado:
Monika
Monika is an open-source and free synthetic monitoring command-line application. The name Monika stands for “Monitoring Berkala”, which means “periodic monitoring” in the Indonesian language.
With Monika, you can add as many websites as you want to monitor. You can monitor several conditions such as service outages or slow services. Also, you can configure Monika to send notifications of the incidents on your services through your favorite communication tools like SMTP mail, WhatsApp (it’s free!), Microsoft Teams, Slack, and many more.
Install Monika via npm install -g @hyperjumptech/monika
or if you don’t have NPM in your system, you can download the prebuilt binary from our release page.
EaseProbe
EaseProbe is a simple, standalone, and lightweight tool that can do health/status checking, written in Go. Using EaseProbe, you can add as many endpoints, servers, and clients as you want to monitor.
With a wide selection of notification channels, you can receive notifications to your communication tools such as Slack, Discord, DingTalk, and even SMS.
You can get started with EaseProbe, by any of the following methods:
- download the release for your platform from https://github.com/megaease/easeprobe/releases
- use the available EaseProbe docker image
docker run -it megaease/easeprobe
- build EaseProbe from sources
Monika vs EaseProbe
Similarities
As Monika and EaseProbe are the same software in the big picture, there are some similarities between them:
- Open Source
Both Monika and EaseProbe are open source and also free. This is a good starting point for those who want to use synthetic monitoring tools. - HTTP/TCP request
Both Monika and EaseProbe can do an HTTP or TCP request to check the health of the service. - Various notifications channel can be used multiple times
Monika and EaseProbe have a wide range of notification channels, and we can configure the notification to use as many channels as we want to. The only difference is the notification channel selection. - SLA Report
Monika has the feature called “Status Notification” which will send you the report of your probe performance based on your configured CRON timings. EaseProbe has a similar feature, the only difference is that it uses human time (weekly, daily, etc.) - Logfile
Both Monika and EaseProbe has logging. Monika uses SQLite and EaseProbe uses a simple stdout log with log rotation.
Pros and Cons
Monika
Pros:
- Wider notifications channels
Monika has fifteen including WhatsApp, Microsoft Teams, PagerDuty, and Custom Webhooks while EaseProbe has nine notification channels - Export data to Prometheus
Monika can export the log to Prometheus and users can visualize the report using Grafana.
Cons:
- Can only do HTTP/TCP requests
Monika can only do health checks by HTTP/TCP requests, while EaseProbe can utilize native clients such as MySQL, Redis to run a check, and SSH. - No log rotation
Log rotation is an automated process to handle log files in a certain timespan (weekly, monthly, etc.) in order to keep the log file from growing too large. EaseProbe has the powerful log rotation feature while Monika does not. If you want the log rotation feature in Monika, you can submit an issue on the Monika issue page. - Cannot use mTLS
Monika does not have the mTLS or Mutual TLS feature, while EaseProbe can use mTLS in the HTTP or native client health checks.
EaseProbe
Pros:
- Shell, SSH, and Client (MySQL, Redis, MongoDB) probing
Aside from HTTP and TCP requests, EaseProbe can probe shells, SSHs, and native clients such as MySQL, Redis, and MongoDB - Host resource usage monitoring
EaseProbe can also monitor your host resource usage such as CPU, RAM, and Disk usage so that it will send you a notification when it reaches a certain threshold.
Cons:
- No option to export to Prometheus
EaseProbe does not have an option to export to Prometheus, so it could not visualize the data. - Can not chain request
EaseProbe can not chain HTTP requests in one go, e.g hit the login API, then check the dashboard API using the token from the login API. Monika can use the previous request’s response body for the next request. - Does not support HAR/Postman/Insomnia collection probing
EaseProbe supported many types of health checks but it can not use existing HAR/Postman/Insomnia collection probing. Monika can monitor your existing HAR, Postman, or Insomnia collection. - No TLS checker
EaseProbe does not have an in-built TLS expiry date checker so users couldn’t get notification about their TLS certificates expiring in 30 days. Monika will remind you if your TLS certificates are expiring soon.
Summary
Both Monika and EaseProbe have the same purpose: to ensure that your services are working and healthy. Both software served the purpose well and it’s up to you to decide which synthetic monitoring tools you would like to use based on your requirements.
We do have ideas to improve Monika based on EaseProbe such as native client probing and host resources usage monitoring. That’s what open-source software development should be, isn’t it great?
If you like this article don’t forget to clap and share this with your friends. If you think we miss something, drop your comments below. That way, hopefully, EaseProbe folks will notice us :)
That’s it for today, see you in the next article!
Hyperjump is an open-source-first company providing engineering excellence service. We aim to build and commercialize open-source tools to help companies streamline, simplify, and secure the most important aspects of their modern DevOps practices.