White Paper: Automated Log Search and Analysis is Your Next Employee →
Getting started with logging with Splunk:
Log management is crucial for every business, big or small. Understandings logs is a critical method for resolving errors or failures.
So, what does log management actually mean? Let's explore more in this introductory guide.
Log management is the practice of dealing with large volumes of computer-generated log data and messages. Various computer systems and applications generate logs, including:
Logs contain valuable information about the events that take place on these systems and can be used for troubleshooting potential issues or monitoring system performance.
(Related reading: data logging & machine data.)
Log management allows organizations to keep track of all activities taking place within their IT infrastructure. This can be helpful in a variety of business situations:
In addition, many regulatory bodies require companies to retain log data for a specified period as part of compliance regulations. Log management makes it easier to fulfill these requirements.
Understanding your data means you have to understand the variety of logs you might see. Each log type gives distinctive, often vital data. Here are some types of logs you may encounter:
Server logs hold crucial data covering user activities, system errors, and other operational details. Server logs can assist in identifying performance issues, unauthorized access attempts, and suspicious activities.
Application logs are indispensable instruments used by system administrators, offering insights into software behaviors, users' interactions, and potential issues that impact the user experience. App logs can help with:
(Related reading: application performance monitoring, or APM.)
Network logs, which record the traffic entering and leaving a network, provide information that can help locate and identify potential issues. Network logs…:
(Read our full introduction to log data.)
Log data can be generated in various formats, including plain text, XML, JSON, and syslog.
Extensible Markup Language (XML) is a markup language used to store and transport data. It is human-readable, making it easy for developers to understand and work with.
JSON is another popular format for log messages that offers a more compact and efficient way of storing data than XML. They are a type of structured log existing in key-value pairs, which is more machine-friendly.
Syslog is a standard protocol for generating log messages on network devices. This format includes essential information such as timestamps, severity levels, and facility codes to help with log analysis.
(Know the differences in structured, unstructured & semi-structured data.)
The process of managing logs typically involves the following steps:
(Related reading: log aggregation & data lifecycle management.)
To help achieve proper log management, you can use certain tools to monitor, store, and analyze your log data.
One popular log management option is Splunk. Splunk starts with log management and uses that data for dozens of purposes, including security operations and overall system monitoring and observability.
Additionally, various open-source solutions provide real-time monitoring and analysis of logs. Some examples include:
(Learn more about Splunk or explore our solutions.)
To help you understand how log management works, let’s walk through an example for key pairs.
Let’s take string format for our log example. In this example, the data is about providing information about airline status.
WARNING:__main__:Lufthansa airlines 820 from Indira Gandhi International airport, New Delhi(DEL), India to Frankfurt International Airport, Frankfurt(FRA), is delayed by approximately 5 hours, 22 minutes INFO:__main__:Air India flight 120 from Indira Gandhi International airport, New Delhi(DEL), India to Frankfurt International Airport, Frankfurt(FRA), Germany has departed at 12:20:18
The content is understandable and readable enough — so it shouldn’t be a problem for someone to extract important information. But if this task is assigned to a machine, how will it understand and identify the appropriate information? What if we have a collection of similar log data?
This situation requires that the logs be structured for the machines. How do we do this? Let’s begin.
Logs must be written in a different format, not in the string format that’s above. The above data will simply be stored in a dictionary (i.e., key pair values) that can be further serialized.
Let’s do this task in Python. We’ll use a Python package called a structlog package for structured logging.
from structlog import get_logger log = get_logger("Structured Logger") if status in ['departed', 'landed']: log.info(status, **flight) elif status == 'delayed':< log.warning(status, **flight) else: log.critical(status, **flight)
The result generated will be in the form of a dictionary. This will allow the machines to understand and extract the information and help manage the log file.
[warning ] delayed airline=Lufthansa airlines 820 delay_duration= 5 hour 22 mins destination={'airport': 'Frankfurt International Airport', 'iata': '', 'icao': '', 'city': 'Frankfurt', 'state': '', 'country': 'Germany'} flight_id=820 origin={'airport': 'Indira Gandhi International Airport', 'iata': '', 'icao': '', 'city': 'New Delhi', 'state': '', 'country': 'India'} stops=1
As you can see, key-value pairs have been created to perform queries and extract information. This is what structured logging looks like. As discussed, there can be many formats used, such as XML, JSON, etc.
In this example, we have taken a simple case of structured logging. But, in real-world scenarios, log messages can contain much more complex data and require advanced parsing techniques to extract valuable information.
Does your organization want good system performance, strong data security, and easy issue resolution and troubleshooting? They you must have good log management practices in place.
Here are some best practices for log management:
(Related reading: logging best practices for Splunk Enterprise.)
To wrap things up, log management is an essential practice for any organization. It enables efficient data collection, helps identify and troubleshoot issues, and contributes to overall system performance and security.
If your organization is not currently implementing effective log management practices, it's time to start. As log management is a critical aspect of every IT system, it's best to follow the best practices and use standardized log formats to ensure smooth operations.
Keep learning more about logging and other related topics on our Developer Guide, where we provide resources and information to help you develop better applications with good logging practices in mind.
See an error or have a suggestion? Please let us know by emailing ssg-blogs@splunk.com.
This posting does not necessarily represent Splunk's position, strategies or opinion.
The Splunk platform removes the barriers between data and action, empowering observability, IT and security teams to ensure their organizations are secure, resilient and innovative.
Founded in 2003, Splunk is a global company — with over 7,500 employees, Splunkers have received over 1,020 patents to date and availability in 21 regions around the world — and offers an open, extensible data platform that supports shared data across any environment so that all teams in an organization can get end-to-end visibility, with context, for every interaction and business process. Build a strong data foundation with Splunk.