线程 log linux,Linux日志系统

日志对于系统的安全来说非常重要,它记录了系统每天发生的各种各样的事情,用户可以通过它来检查错误发生的原因,或者寻找受到***时***者留下的痕迹。日志主要的功能是审计和监测。它还可以实时地监测系统状态,监测和追踪侵入者。

那么下面就让我们来了解一下日志系统吧。

syslog

日志系统 (早期的日志系统,只支持文本文件记录)

syslogd: 系统进程的相关日志

klogd: 内核事件相关的日志

Rsyslog

今天我们主要讲解的rsyslog的内容,它相比于syslog来说功能要强大的多:

支持多线程

支持TCP,SSL,TLS,RELP

能够存放在MySQL, PGSQL, Oracle等多种关系型数据中

可实现过滤系统信息中的任意部分

可以自定义输出格式

适用于企业级别日志记录需求

对于rsyslog日志系统,其配置文件在/etc/rsyslog.conf中。

该配置文件中定义的格式为

facility.priority   target

分别对三者进行解释:

facility:设施,从功能或程序上对日志进行分类,并由专门的工具负责记录其日志

auth        #认证相关

authpriv    #认证授权相关

cron        #周期性任务记录

daemon     # 守护进程相关

kern       #内核进程相关

lpr        #打印相关

mail       #邮件相关

mark      #防火墙标记相关

news      #新闻相关

security    #安全相关

syslog     #自己记录日志相关

user       #用户相关

uucp

local0 through local7: 8 customed facility

指定设施时可以使用通配符:

*: 所有

f1,f2,f3,...: 列表

!: 取反

priority: 级别

debug           # 程序或系统的调试信息

info            # 一般信息

notice          # 不影响正常功能,需要注意的消息

warning,warn   # 可能影响系统功能,需要提醒用户的重要事件

err,error        # 错误信息

crit            # 比较严重的

alert           # 必须马上处理的

emerg/panic     # 会导致系统不可用的

通配符:

*: 所有级别

none: 没有任何级别

Target:

文件路径:例如/var/log/messages

用户: *

日志服务器:@SERVER_IP

管道:|COMMAND

配置文件中的一些符号的用法及意义:下面是一些例子

mail.info /var/log/maillog

# 比指定级别更高的所有级别,包括指定的级别本身;

mail.=info   /var/log/maillog

# 明确指定级别;

mail.!info  *

# 除了指定级别

*.info        | COMMAND

# 所有facility的info级别

mail.*:

# mail的所有级别

mail,news.info

# mail和new的info级别

日志信息的格式:

时间 主机 进程(PID):事件

1da8e3a0d980e1af04134899a0668be8.png

启用日志服务器的功能:

配置文件中划分为3部分:#### MODULES ####  日志的模块

#### GLOBAL DIRECTIVES ####定义全局日志格式的指令

#### RULES ####

首先在日志模块中启用一下几项# Provides UDP syslog reception

$ModLoad imudp

$UDPServerRun 514

# Provides TCP syslog reception

$ModLoad imtcp

$InputTCPServerRun 514

rsyslog支持将日志存储于MySQL服务器中:

1)安装配置好mysql数据库服务;[root@localhost ~]# yum install mysql-server

2)安装rsyslog-mysql包;[root@localhost ~]# yum install rsyslog-mysql

3)创建rsyslog依赖的数据库:[root@localhost ~]# mysql 

4)配置rsyslog启用模块

在#### Modules #####启用模块:

添加以下模块

$ModLoad ommysql

7d48023fd914341a8cf3d88a7df3061b.png

在####rules####段中定义记录日志信息于数据库中

facility.priority :ommysql:SERVER_IP,DATABASE,USERNAME,PASSWORD

*.info;mail.none;authpriv.none;cron.none :ommysql:127.0.0.1,Syslog,sysloguser,syslogpass

5)数据库授权[root@localhost ~]# mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.1.71 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| Syslog             |

| mysql              |

| test               |

+--------------------+

4 rows in set (0.00 sec)

mysql> grant all on Syslog.* to sysloguser@127.0.0.1 identified by 'syslogpass'

-> ;            注意:授权的时候用户密码以及数据库名称都要与日志配置文件中一致。

Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;    刷新授权

Query OK, 0 rows affected (0.00 sec)

好了这样就配置好了,我们可以测试下;

安装一个PHP,看看会不会有日志信息:[root@localhost ~]# yum install php

登进mysql之后进入Syslog数据库查看:mysql> select * from SystemEvents;

+----+------------+---------------------+---------------------+----------+----------+-----------+------------------------------------------------------------------------------------------------------+------------+------------+-------------+-----------+---------------+---------+-----------------+--------------+-----------+----------+----------+------------+-------------+--------------+-----------------+----------+

| ID | CustomerID | ReceivedAt          | DeviceReportedTime  | Facility | Priority | FromHost  | Message                                                                                              | NTSeverity | Importance | EventSource | EventUser | EventCategory | EventID | EventBinaryData | MaxAvailable | CurrUsage | MinUsage | MaxUsage | InfoUnitID | SysLogTag   | EventLogType | GenericFileName | SystemID |

+----+------------+---------------------+---------------------+----------+----------+-----------+------------------------------------------------------------------------------------------------------+------------+------------+-------------+-----------+---------------+---------+-----------------+--------------+-----------+----------+----------+------------+-------------+--------------+-----------------+----------+

|  1 |       NULL | 2014-08-09 05:48:51 | 2014-08-09 05:48:51 |        0 |        6 | localhost | imklog 5.8.10, log source = /proc/kmsg started.                                                      |       NULL |       NULL | NULL        | NULL      |          NULL |    NULL | NULL            |         NULL |      NULL |     NULL |     NULL |          1 | kernel:     | NULL         | NULL            |     NULL |

|  2 |       NULL | 2014-08-09 05:48:51 | 2014-08-09 05:48:51 |        5 |        6 | localhost |  [origin software="rsyslogd" swVersion="5.8.10" x-pid="27393" x-info="http://www.rsyslog.com"] start |       NULL |       NULL | NULL        | NULL      |          NULL |    NULL | NULL            |         NULL |      NULL |     NULL |     NULL |          1 | rsyslogd:   | NULL         | NULL            |     NULL |

|  3 |       NULL | 2014-08-09 05:49:16 | 2014-08-09 05:49:16 |        1 |        6 | localhost |  Installed: php-common-5.3.3-26.el6.x86_64                                                           |       NULL |       NULL | NULL        | NULL      |          NULL |    NULL | NULL            |         NULL |      NULL |     NULL |     NULL |          1 | yum[27402]: | NULL         | NULL            |     NULL |

|  4 |       NULL | 2014-08-09 05:49:16 | 2014-08-09 05:49:16 |        1 |        6 | localhost |  Installed: php-cli-5.3.3-26.el6.x86_64                                                              |       NULL |       NULL | NULL        | NULL      |          NULL |    NULL | NULL            |         NULL |      NULL |     NULL |     NULL |          1 | yum[27402]: | NULL         | NULL            |     NULL |

|  5 |       NULL | 2014-08-09 05:49:17 | 2014-08-09 05:49:17 |        1 |        6 | localhost |  Installed: php-5.3.3-26.el6.x86_64                                                                  |       NULL |       NULL | NULL        | NULL      |          NULL |    NULL | NULL            |         NULL |      NULL |     NULL |     NULL |          1 | yum[27402]: | NULL         | NULL            |     NULL |

+----+------------+---------------------+---------------------+----------+----------+-----------+------------------------------------------------------------------------------------------------------+------------+------------+-------------+-----------+---------------+---------+-----------------+--------------+-----------+----------+----------+------------+-------------+--------------+-----------------+----------+

5 rows in set (0.00 sec)

发现里面以及记录了。这样就成功了。

LogAnalyzer:通过webGUI展示日志信息

LogAnalyzer是分析系统日志,并用web界面展示的工具,下面我们就来安装一下。

# yum -y install httpd php php-mysql php-gd

# tar xf loganalyzer-3.6.5.tar.gz        注意这里首先需要将包下载过来

# mkdir /var/www/html/loganalyzer

# cp loganalyzer-3.6.5/src/* /var/www/html/loganalyzer/

# cp loganalyzer-3.6.5/contrib/* /var/www/html/loganalyzer/

# cd /var/www/html/loganalyzer/

# chmod +x configure.sh secure.sh

# ./configure.sh

# ./secure.sh

# chmod 666 config.php

# chown -R apache.apache ./*

注意:该应用是基于LAMP的,所有相应在配置文件中需要修改的内容我这里没有给出。

如果一切正常的话那么就可以打开网页了。

164f372db3118346d0662893cc61a298.png然后按照提示一步一步操作即可。

需要注意的是:在配置数据库的时候,每一项都必须与上面创建的一模一样,包括数据库名以及账号密码,必须严格区分大小写。

36699b3bbaede95e780dee3c4a2d6c1c.png

这是最终显示的界面。一旦你看到了这个就表明已经成功安装了。

好了本节的内容就到这里,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值