How to read syslog linux

How to check syslog in Bash on Linux?

this Q should be migrated to unix.SE.com, not sure if it’s worth it to flag for mod’s attention (I flagged).

7 Answers 7

How about less /var/log/syslog ?

tail -f /var/log/syslog is really nice because it shows the most recent output as it goes into the syslog. It can be useful if you’re trying to troubleshoot something live, rather than look at something that’s strictly in the past.

@ArunprasadRajkumar The other way would be to avoid logging messages meant to be read by normal users to syslog

On Fedora 19, it looks like the answer is /var/log/messages . Although check /etc/rsyslog.conf if it has been changed.

By default it’s logged into system log at /var/log/syslog , so it can be read by:

If the file doesn’t exist, check /etc/syslog.conf to see configuration file for syslogd. Note that the configuration file could be different, so check the running process if it’s using different file:

# ps wuax | grep syslog root /sbin/syslogd -f /etc/syslog-knoppix.conf 

Note: In some distributions (such as Knoppix) all logged messages could be sent into different terminal (e.g. /dev/tty12 ), so to access e.g. tty12 try pressing Control + Alt + F12 .

You can also use lsof tool to find out which log file the syslogd process is using, e.g.

sudo lsof -p $(pgrep syslog) | grep log$ 

To send the test message to syslogd in shell, you may try:

For troubleshooting use a trace tool ( strace on Linux, dtruss on Unix), e.g.:

sudo strace -fp $(cat /var/run/syslogd.pid) 

A very cool util is journalctl .

For example, to show syslog to console: journalctl -t , where is identity you gave to function openlog to initialize syslog.

If you use syslog-ng with the systemd service, you can view syslog with journalctl —unit=syslog-ng@default.service

This should be marked as right answer, instead cat a specific distro and configuration filename and filtering with grep.

tail -f /var/log/syslog | grep process_name where process_name is the name of the process we are interested in

Читайте также:  Gaming with linux mint

If you like Vim, it has built-in syntax highlighting for the syslog file, e.g. it will highlight error messages in red.

vi +'syntax on' /var/log/syslog 

On some Linux systems (e.g. Debian and Ubuntu) syslog is rotated daily and you have multiple log files where two newest files are uncompressed while older ones are compressed:

$ ls -l /var/log/syslog* -rw-r----- 1 root adm 888238 Aug 25 12:02 /var/log/syslog -rw-r----- 1 root adm 1438588 Aug 25 00:05 /var/log/syslog.1 -rw-r----- 1 root adm 95161 Aug 24 00:07 /var/log/syslog.2.gz -rw-r----- 1 root adm 103829 Aug 23 00:08 /var/log/syslog.3.gz -rw-r----- 1 root adm 82679 Aug 22 00:06 /var/log/syslog.4.gz -rw-r----- 1 root adm 270313 Aug 21 00:10 /var/log/syslog.5.gz -rw-r----- 1 root adm 110724 Aug 20 00:09 /var/log/syslog.6.gz -rw-r----- 1 root adm 178880 Aug 19 00:08 /var/log/syslog.7.gz 

To search all the syslog files you can use the following commands:

$ sudo zcat -f `ls -tr /var/log/syslog*` | grep -i error | less 

where zcat first decompresses and prints all syslog files (oldest first), grep makes a search and less is paging the results of the search.

To do the same but with the lines prefixed with the name of the syslog file you can use zgrep:

$ sudo zgrep -i error `ls -tr /var/log/syslog*` | less $ zgrep -V | grep zgrep zgrep (gzip) 1.6 

In both cases sudo is required if syslog files are not readable by ordinary users.

Источник

How to View and Configure Linux System Logs on Ubuntu 20.04

This tutorial explains the basic administration of a Linux server through system logs. A system log is a file that contains information about the events that happened on the system during runtime.

In this article, you will learn the following Linux logging basics:

  • Where the Linux log files are stored, how are they formatted, and how to read them.
  • How to read the most important logs (such as syslog ).
  • How to configure the Ubuntu syslog daemon.
  • What Linux log rotation is all about and how to use the logrotate utility.

Prerequisites

Before proceeding with the rest of this tutorial, ensure that you have a basic knowledge of working with the Linux command line. While many of the concepts discussed in this article are general applicable to all Linux distributions, we’ll be demonstrating them in Ubuntu only so ensure to set up an Ubuntu 20.04 server that includes a non-root user with sudo access.

Читайте также:  Горячие клавиши при загрузки linux

🔭 Want to centralize and monitor your Linux logs?

Head over to Logtail and start ingesting your logs in 5 minutes.

Step 1 — Finding Linux system logs

All Ubuntu system logs are stored in the /var/log directory. Change into this directory in the terminal using the command below:

You can view the contents of this directory by issuing the following command:

You should see a similar output to the following:

alternatives.log auth.log btmp cloud-init-output.log dmesg dpkg.log journal/ landscape/ private/ ubuntu-advantage-license-check.log ubuntu-advantage-timer.log unattended-upgrades/ apt/ bootstrap.log cloud-init.log dist-upgrade/ dmesg.0 faillog kern.log lastlog syslog ubuntu-advantage.log ufw.log wtmp 

Let’s look at a few of the essential system log files that may be present in the /var/log directory and what they contain:

  • /var/log/syslog : stores general information about any global activity in the system.
  • /var/log/auth.log : keeps track of all security-related actions (login, logout, or root user activity).
  • /var/log/kern.log : stores information about events originating from the Linux kernel.
  • /var/log/boot.log : stores system startup messages.
  • /var/log/dmesg : contains messages related to device drivers.
  • /var/log/faillog : keeps track of failed logins, which comes in handy when investigating attempted security breaches.

The /var/log directory is also used to store various application logs. For example, if your distribution is bundled with Apache or MySQL, or installed later, their log files will also be found here.

Step 2 — Viewing Linux log file contents

Log files contain a large amount of information that are useful for monitoring or analyzing activities performed by the system or a specific application. Therefore, a Linux server administrator must learn the art of reading and understanding the various messages present in log files to effectively diagnose or troubleshoot an issue.

Before we can read log files, we ought to know how they are formatted. Let’s review two basic approaches to log file formatting and storage: plain text and binary files.

Plaintext log files

These logs are plain text files with a standardized content format. Ubuntu uses a log template called RSYSLOG_TraditionalFileFormat . This log format consists of four main fields with a space delimiter:

  1. The timestamp indicates the time when a log entry was created in the format MMM dd HH:mm:ss (e.g. Sep 28 19:00:00 ). Notice that this format does not include a year.
  2. Hostname is the host or system that originally create the message.
  3. Application is the application that created the message.
  4. Message contains the actual details of an event.
Читайте также:  Building linux with clang

Let’s go ahead and review some log files in the plaintext format. Run the command below to print the contents of the /var/log/syslog file with the tail utility:

This outputs the last 10 lines of the file:

Mar 23 12:38:09 peter dbus-daemon[1757]: [session uid=1000 pid=1757] Activating via systemd: service name='org.freedesktop.Tracker1' unit='tracker-store.service' requested by ':1.1' (uid=1000 pid=1754 comm="/usr/libexec/tracker-miner-fs " label="unconfined") Mar 23 12:38:09 peter systemd[1743]: Starting Tracker metadata database store and lookup manager. Mar 23 12:38:09 peter dbus-daemon[1757]: [session uid=1000 pid=1757] Successfully activated service 'org.freedesktop.Tracker1' Mar 23 12:38:09 peter systemd[1743]: Started Tracker metadata database store and lookup manager. Mar 23 12:38:40 peter tracker-store[359847]: OK Mar 23 12:38:40 peter systemd[1743]: tracker-store.service: Succeeded. Mar 23 12:39:01 peter CRON[359873]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi) Mar 23 12:39:23 peter systemd[1]: Starting Clean php session files. Mar 23 12:39:23 peter systemd[1]: phpsessionclean.service: Succeeded. Mar 23 12:39:23 peter systemd[1]: Finished Clean php session files. 

You’ll notice that that each record in this file is formatted in the manner described earlier. For example, the last record has its timestamp as Mar 23 12:39:23, hostname as peter, application as systemd[1] and message as Finished Clean php session files.

If you want to view the entire log file, you can use the cat utility or any text editor such as nano or vim .

Binary log files

While plaintext is the dominant storage format for log files, you will also encounter binary log files that cannot be read with a normal text editor. The /var/log directory contains multiple binary files that are related to the user authorization:

  • /var/log/utmp : tracks users that are currently logged into the system.
  • /var/log/wtmp : tracks previously logged in users. It contains a past data from utmp .
  • /var/log/btmp : tracks failed login attempts.

For these binary logs, special command-line tools are used to display the relevant information in human-readable form. For example, to review the contents of the /var/log/utmp file, run the who utility with -H option (this option causes column labels to be printed in the output table):

Источник

Оцените статью
Adblock
detector