I've been doing this for years and run into all sorts of ways of monitoring at many levels. Most of it was good and useful, some less so. I do not know a lot about it beyond "you should monitor" and "there are good tools out there to do it"
So I'm interested to see how everyone here does it (or not). Some starter questions:
Timely question !
I would first like to know the parameters we should monitor. IMHO, there are many metrics that can be monitored using system-level utilities (like disk space, memory/swap usage, cpu, etc.), but they would mostly symptomatic of a deeper problem with the stack.
Anyone tried sending custom metrics to Datadog?
My team monitors everything we can. We real time collect 100+ metrics and render them on dashboards. When Bitbucket is having an issue (its slow, users reporting errors, etc) the metrics enable us to quickly focus it on what the problem is and possible remediations.
Some metrics that have proven to be critical:
We also monitor the usual CPU, system memory, JVM memory, JVM GC, disk I/O etc but historically haven't figured into health or scaling issues.
The list above is also useful when load testing -- you can determine bottlenecks and tune it to squeeze out more performance.
For data collection we use a custom java agent that sends metrics directly to our internal home-grown data collection datastore.
Whatever tool you use it is some effort to set it up but worth the effort. Its a true force multiplier for ops support and scaling/tuning.
Recommended Learning For You
Level up your skills with Atlassian learning
Atlassian DevOps essentials
Learn how to build, automate, and improve DevOps processes used for the development and delivery of software and other digital products.
Tracking and improving DevOps metrics
Make informed decisions about current and future projects and deadlines to maximize your team's productivity and keep morale high.
Exploring Atlassian Cloud products for agile and DevOps
Coordinate a suite of Atlassian Cloud products for greater collaboration and trust, higher-quality solutions, faster releases, and more.