Monitoring nodejs
applications
Systems monitoring is critical to systems deployed at scale. In addition to traditional monitoring services native to the nodejs
ecosystem, this article explores how to monitor nodejs
applications using third-party systems in a way that covers the entire stack, and provides an overall state in one bird eye view.
In this article we will talk about:
- Data collection tools
- Data visualization tools
- Self-healing
nodejs
systems - Popular monitoring stacks
Even though this blog post was designed to offer complementary materials to those who bought my Testing
nodejs
Applications book, the content can help any software developer to tuneup working environment. You use this link to buy the book.
Monitoring
Monitoring, custom alerts, and notifications systems
Monitoring overall system health makes it possible to take immediate action when something unexpected happens. Key metrics to looks at are CPU usage, memory availability, disk capacity, and health and software errors.
Monitoring systems makes it easy to detect, identify and eventually repair or recover from a failure in a reasonable time. When monitoring production applications, the aim is to be quick to respond to incidents. Sometimes, incident resolution can also be automated: a notification system that actually triggers some sort of script execution to remediate known issues. This sort of system is also called self-healing systems.
Monitoring goes hand-in-hand with notification ~ alerting the right systems and people about either about what is about to happen(early or predictive detection), or about what just happened(near real-time detection) ~ so that the remediation action can be taken. We talk about self-healing(or resilient) systems when the system under stress makes remediation on its own, automatically — and without direct human intervention.
Complex monitoring systems are available for free and for a fee, open as well as closed source. The following examples provide a couple of some to look into.
- Monitoring tools ~ Uptime ~ Monitoring-dashboard
- Error tracking and Data collection tools ~ Elastic also known as ELK stack
- Visualization tools ~
zeppeling
It is a good idea to use a monitoring tool outside the application. This strategy bails out when downtime originates from an entire data center or the same rack of servers. However, monitoring tools deployed on the same server, have the advantage of better taking the pulse of the environment on which the application is deployed. A winning strategy is deploying both solutions so that notifications can go out even when an entire data center has a downtime.
Conclusion
In this article, we revisited how to achieve one bird-eye view of full-stack nodejs
application monitoring using third-party systems. We highlighted how logging and monitoring complement each other. There are additional complimentary materials in the “Testing nodejs
applications” book.
References
- Testing
nodejs
Applications book - Self Healing Systems ~ TechnologyConversations
- Running
nodejs
in production non-stop ~ @talaviss – Medium - Login using
nodejs
#monitoring #nodejs #data-collection #visualization #data-viz