How to aggregate logs for full-stack visibility?
Full stack visibility ~ defined as the possibility to have a timely(time-series) birds eye view of logs from Clients(Web/Mobile/SDKS) to Middleware to Databases. Logs~: pre-defined trackable events that can be tied to metrics measuring overall software health.
In this article we will talk about:
- Anomaly detection in
nodejs
applications - Full-stack visibility data collection tools
- Full-stack visibility data visualization tools
- Security risks when logging sensitive data
Even though this blogpost 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.
Logging tools
Distributed logs
Analyzing logs can be a daunting task in nodejs
environment. Some strategies to detect and correct issues found via logs can be found in the following articles.
This article is unfinished business and will be adding more content as I experience logging problems, or find some interesting use cases in the SRE community.
- Paper ~ Mining Console Logs for Large-Scale System Problem Detection ~ Usenix Blog
- When to log transform a time series before fitting an Arima Model ~ Stats StackExchange Question
- Mining Logs/Analytics ~ Log Analytics mining
- Airbrake vs ElasticSearch ~ G2 Comparison
- Aibrake vs Flapjack vs Kibana ~ StackShare Comparison
- Alerting tools ~ OverOps Blog
- The 7 log management tools you need to know ~ OverOps Blog
- How to log
js
errors from a client into Kibana ~ StackOverflow Question - Anomaly detection at Uber ~ and how they use ML for alerting systems ~ Uber Engineering Blog
- How to log
js
errors from a client to kibana ~ StackOverflow Question - Jira – Alerting for Elasticsearch with ElastAlert ~ Qbox Blog
- Jira Actions ~ Elastic Guides ~ Harnessing Jira Action to notify people about errors that happened in some logs
- Integrating Jira with Elastic Search ~ Xplenty Guides
- Vizualization for FullStack Visibility ~ Zeppelin Apache Docs
- Measuring requests duration in a
nodejs
+expressjs
application properly ~ Slao Blog + Measuring requests duration in anodejs
+expressjs
application properly Slao Blog of Slao a metrics tool that takes a different approach to RESTful anomaly detection. - The VALET metrics ~ The valet dashboard
- How to Monitor the SRE Golden Signals
- What every software engineer should know about real time data ~ Engineering LinkedIn Blog
- 11 ways to visualize change over time ~ FLowing Data Blog
- Metrics That Matter ~ Critical but oft-neglected service metrics that every SRE and product owner should care about
Conclusion
In this article, we revisited how to aggregate nodejs
logs for full-stack visibility, with aim at detecting hidden anomalies. We used the term full-stack to refer to adjacent applications such as middleware, databases alongside client applications such as SDKs, widgets, mobile and webapps. There are additional complimentary materials in the “Testing nodejs
applications” book.