Centralized log management with Graylog

Setting Up the Graylog Inputs

For the Graylog server to receive graylog-ms and graylog-node1 log messages from the clients, you need to create and configure inputs. To select an input, choose System in the Graylog web interface. Under the Inputs heading, select an input from the drop-down menu.

As you can see in Figure 4, the input setting specifies the network protocol used and the format of the log messages – you create a new input by clicking Launch new input. You then specify the configuration parameters, such as the port to use to finish creating the input. Figure 5 shows finished inputs for the UPD ports 12201 (GELF format) and 1514 (syslog format), which are available on two Graylog servers.

Figure 4: Selecting an input in the Graylog web interface.
Figure 5: Summary of the inputs created in Graylog.

Collecting Data with Streams

Now that the infrastructure is completed, it is time to start collecting data. To keep track on specific events in log messages, such as failed login attempts in SSH or Windows Remote Desktop from Graylog, you need streams. A stream is a function in Graylog that analyzes log messages in real time based on defined criteria to classify them into predefined categories. For example, a rule might tell Graylog to collect all messages that include the string "root."

Streams are also the basis for defining Graylog alerts. In a stream, you can define conditions, such as, when to notify via email. For example: "If more than eight failed attempts to log in to the SSH service are made within one minute, generate and send an alert."

Streams are set up in the Graylog web interface in the Streams menu, by selecting Create stream. Then, choose a title for the new stream, and optionally a description, and click on Create stream and continue. Now define the rules (Stream rules) for detecting certain log messages, such as failed logon attempts. You can see an example of a stream for failed logon attempts detected on the Windows Remote Desktop (RDP) service in Figure 6.

Figure 6: Tracking failed RDP logon attempts.

To add a rule, select Add stream rule. Then set values for the fields Field, Type, and Value. The values for the first rule in the example are: Field: Channel, Type: match exactly, and Value: Security.

You will want to decide which events to classify as critical in advance of implementation and then define them as stream rules.


With a suitable stream and ruleset, you can analyze critical log messages in real time and define appropriate escalation measures in the advent of trouble. In combination with an audit policy, you can handle a large volume of information.

Graylog and its flotilla of related applications provide a powerful, elegant, and inexpensive solution for centralizing log management on a diverse network.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.