Enabling Technologies and Logging
Explore how enabling technologies reduce process opacity in distributed systems by using white-box and black-box methods. Understand the importance of proper logging practices, log file management, and appropriate logging levels to support production operations and system monitoring.
What are enabling technologies?
By its nature, a process running on an instance is totally opaque. Unless we’re running a debugger on the process, it reveals practically nothing about itself. It might be working fine, it might be running on its very last thread, or it might be spinning in circles doing nothing. The first trick is getting information out of the process. This section examines the most important enabling technologies that reduce the opacity of that process boundary. We can classify these as either “white-box” or “black-box” technologies.
Black box technology
A black-box technology sits outside the process, examining it through externally observable things. Black-box technologies can be implemented after the system is delivered, usually by operations. Even though black-box technologies are unknown to the system being observed, we can still do helpful things during development to facilitate the use of these tools. Good logging is one example. Instances should log their health and events to a plain old text file.
Any log-scraper can collect these without disturbing the server process.
White box technology
By contrast, white-box technology runs inside the process. This kind of technology often looks like an ...