Monitoring system of online server

Hey guys,

I think it’s time to setup a monitoring system for all server that are using for MESG.
This includes the demo backend, the marketplace backend, the forum backend and the ipfs node.
The system should be accessible from a public URL.
This system should send alert by email (at least) when a server is down.
Nice to have: cpu, memory, bandwidth, Docker containers stats of each server.

@krhubert suggests https://www.pingdom.com/
@Anthony suggests https://newrelic.com/

We might have a look at the new Digital Ocean marketplace, maybe we can directly install from it. Also another solution to explore is our own “stat” server like that we could even have it to Collect stats from core. Not sure it’s useful for that but just an idea to explore

The pbm with own solution - you have to monitor the monitoring system, so you have to create something quite complex to achieve very little (in that case monitor api) (installing from DO marketplace is the same story). So if you want to collect stats, own server is good start (but even then it might be worth considering could database), but for monitoring, I would suggest a ready solution.

About relic - I don’t know them and looking at their page they don’t give any info about pricing model and also you have to request a demo to play with it. I know only pingdom and it’s very easy and intuitive to set up (in few minutes).

NewRelic has software integration in many language, including Golang:

Easily monitor the health of your entire Go runtime environment.
See how your Go applications are performing with full context.

  • Track goroutine counts over time in the Go runtime dashboard
  • Identify possible Goroutine leaks and narrow down concurrency issues
  • Troubleshoot issues using system metrics such as garbage collector information and memory usage

https://newrelic.com/golang

We decided to use newrelic