Whether big or small programs, or whatever your definition of "monitoring" is, I'm curious about what tools folks are using and what they're liking.
Create templates to quickly answer FAQs or store snippets for re-use.
I have used the following:
I'm using AWS Cloudwatch it's been a good enough solution but we want to take it to the next level by using something like ELK. We also want to connect the AWS alerts to a Slack channel (at the moment we use email).
Marketing/Usage: Segment (With GA and a bunch of other tools attached)
App bug reporting: Sentry
Backend bug reporting: Appsignal
Honestly, we don't monitor or log 10% of what we should. Just haven't had the time yet to implement better monitoring. #StartupLife
Quick update to this. We're using ELK as well as Timber for our backend logging now.
any specific reason why timber was not sufficient anymore?
We wanted a self-hosted logging solution that allowed us to quickly generate dashboards from our logs.
Thanks for the reply1 So it was about not being locked-in to a vendor and/or to be more flexible?
Yep, pretty much. That and we wanted to own the data entirely without it going to a third party.
totally understandable! thanks :)
I'll just focus this response on client-side and Node error handling. For errors we don't handle, we've been relying on Sentry. We've been pretty happy with it. I've also heard good things about Track JS.
When I was still doing .NET, we relied on the Enterprise Library Application Blocks for logging and exception handling.
Riemann (riemann.io/) is pretty exciting. It's awesome because the config is written in Clojure. It's terrible because the config is written in Clojure.
It's very fun to use, and it supports unit testing your config which is very nice. It's not something I'm using right now as I prefer SaaS to running my own services, if at all possible, but I have used it successfully in the past couple of years.
We are using the following tools:
NewRelic is nice to have but extremely expensive when you are running > 60 servers in production, using it for only a few hosts does not help you in my eyes.
In my company and my personal projects, I use:
I use cloudwatch too integrated with slack for alarms
At my company, we use New Relic which monitors almost everything. And if you want something specific to Rails applications then even skylight.io is a good option!
Icinga2 for service monitoring with email and sms alert (for important services).
InfluxDB/Grafana for performance monitoring, data comes mostly from icinga but some from legacy things from collectd.
A colleague of mine built a tool dubbed "Mnemosyne" (as part of his master thesis), to monitor and profile requests across our microservice architecture.
Server / GUI: github.com/jgraichen/mnemosyne-server
Client library (Ruby): github.com/jgraichen/mnemosyne-ruby
We're using ELK with variety of Filebeats connected. It's pretty convenient, cause you can easily plug in and out new elements. And dockerized version is an opportunity to upgrade versions without excessive overhead
Legacy system (COBOL) for financial transactions and each tester is responsible for certain transactions (fund withdrawal, fund transfer, payment, cash surrender, death claim, lapse, monthiversary, loan, change of beneficiary, etc) Each tester has a number of test cases with expected results. When the programmers code and the base is released into the test environment, the OLD RELIABLE TESTS are run through the new code. The testers check for differences. For example, last time the test case produced these results, now it produces these results. Tester reviews documentation and new project specifications written by spec writers and programmers for 1) unexpected changes and also 2) to begin verifying that expected changes are happening. So our monitoring system in acceptance test is regression test outputs reviewed by testers. Every time many program changes / fixes are made to the code, a regression test is run and testers are given the output to review. They verify changes and report bugs.
NewRelic (for Rails based API and for React Frontend) + logz.io as hosted ELK. Both send alerts to our Rocket.Chat (and to our Wallboard)
NewRelic is very powerful, the Frontend Part (Browser) is by far not so powerfull as the NPM section but okay.
PM2/Keymetrics has been working reasonably well for me.
My company used to use Zabbix earlier. However, we switched to New Relic now.
On my personal projects, I use the check it once a day manual way. 😅 (I should set up a real monitoring tool one day haha)
Yes, you REALLY should 😂
Also, for website uptime monitoring I use updown.io/ which I like for its pricing model. Highly recommended!
I have been trying out instrumentalapp.com/ for a month now. Liking it so far.
Was using server-monitor.pingdom.com/ before.
For web applications, take a look into uptimerobot.com/. Its free and you can use it for check both production and qa enviroments.
I like to use, Sentry and App Center from Microsoft, i'm focus on mobile and front-end development with React
We have been eating our own dog food with AWS CloudWatch and alarms on email.
Years ago using Ganglia to monitor Hadoop cluster, now prefer to use Prometheus.
Perl and/or Python for SNMP and ping to monitor and report on connectivity and bandwidth consumption.
in terms of availability and uptime monitoring, I'd recommend websitepulse.com
Very high level of customization of both cost and target set up, and 24/7 live customer support. Give them a try!
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.