Linux syslog 系统日志管理

Linux系统上面,系统可以记录从开机到当前系统上面何时发生了哪些事情,在centos 上表现为rsylog,由三部分组成

1)syslogd:主要记录系统和网络等服务的日志信息

2)klogd:主要记录内核产生的各项信息

3)logretate:主要用来对日志文件进行切割循环记录等

特点:

1)多线程工作

2)支持以TCP,UDP,SSL,TSL,RELP协议和加密完成远程日志的记录

3)支持在开源的关系型数据库MYSQL,PGSQL等之上记录日志信息

4)它还是一个强大的系统过滤器,可实现过滤系统信息的任意部分

5)使用与企业级别的日志记录需求

6)自定义的输出格式

rsyslog中的术语:

facility:

    是从功能或程序上对日志进行分类,并由专门的工具负责记录相应的日志信息,同时在每一个facility上我们还要为其定义一个级别,叫做priority

    常用的facility有:

    

auth(authpriv) 与认证相关的信息
cron 周期性任务计划cron、at等
daemon

与各个服务有关的信息

kern 内核产生的日志信息
lpr 与打印系统相关的信息
mail 与邮件系统相关的信息
news 与新闻相关的信息
security security与安全相关的信息
syslog syslogd程序自身产生的信息
user,uucp,local0-local7 系统本身产生的信息

priority:

    日志级别

等级 等级名称 描述
1 info 仅仅是一些基本信息的说明
2 notice 比info更需要注意的一些说明
3 warning、warm 警告信息,但不至于影响应用程序的运行
4 err,error 一些重大的错误日志,已经影响了应用程序的运行
5 crit 比error还要重要的错误信息
6 alert 已经是有严重级别的错误信息了,比crit更严重
7 emerg,panic 要死机了,内核已出现了恐慌了
8 debug 调试信息,通常用于应用程序的调试过程
* 所有级别
none 没有级别

rsyslog的配置文件

    /etc/rsyslog.conf,其规则为:

    facility.priority    target

    设施.级别            何处

target:日志信息发送的位置:

1、文件路径,在文件路径之前使用“-”,表示异步写入

2、用户,将日志信息通知指定用户,*表示所有用户

3、日志服务器地址 @SERVER,此时服务器必须要监听在tvp或udp协议的514端口上提供服务

4、管道,可以通过管道命令送给某个命令进行处理 |COMMAND

日志文件记录的格式:

时间产生的时间    主机    进程(PID)    事件

有些日志记录二进制格式,例如:

1、成功登陆系统的日志:/var/log/wtmp

    查看命令:last 

2、失败的登陆尝试:/var/log/btmp

    查看命令:lastb

3、lastlog命令显示当前同每个用户各自最近一次的登录信息

如果想让本机成为日志服务器,打开rsyslog配置文件/etc/rsysog.conf中指定的模块,让其监听在514端口上:

$ModLoad imudp

$UDPServerRun 514

$ModLoad imtcp

$InputTCPServerRun 514

然后重启服务

logrotate:循环切割日志

可以配合cron定期的对日志文件进行处理,只要通过/etc/cron.daily/logrotate程序来处理

    配置文件:

        /etc/logrotate.conf(主配置文件)

        /etc/logrotate.d/*

]# vi /etc/logrotate.conf 

    weekly  默认每周对登录文件进行一次切割

    rotate 4  保留多少个登录文件,默认是四个

    create    由于登录文件被更名,因此创建一个新的来继续记录

    include /etc/logrotate.d    将这个目录下的所有文件都读过来。许多服务的主配置文件里都有这个

    /var/log/wtmp {

        monthly    每月一次

        create 0664 root utmp    指定新建文件的权限与所属账号/群组

     minsize 1M    文件容量超过1M后才切割

        rotate 1    仅保留一个,即仅有wtmp.1保留

    }

    /var/log/btmp {

        missingok 表示如果找不到log文件也 OK

        monthly

        create 0600 root utmp

        rotate 1

    }


实战操作

rsyslog日志服务器+MySQL及管理工具的初级部署

环境要求:安装有rsyslog、MySQL、及管理工具(这里我们用loganalyzer-3.6.5)

我的环境:centos 7

                    firewald.service 已关闭

                    selinux已禁用

1安装程序包:

~]# yum -y install mariadb-server

MySQL配置

skip_name_resolve=ON

 

~]# yum -y install rsyslog  这个系统默认都安装的呢

~]# yum -y install rsyslog-mysql  rsyslog连接MySQL的组件

loganalyzer-3.6.5.tar.gz 这个是一个管理日志的工具,如果没有课自行到官网下载

2在mysql server准备rsyslog专用的用户账号

GRANT ALL ON Syslog.* TO 'rsyslog'@'127.0.0.1' IDENTIFIED BY 'rsyslogpass';

GRANT ALL ON Syslog.* TO 'rsyslog'@'local' IDENTIFIED BY 'rsyslogpass';

3生成所需要的数据库和表;

mysql -ursyslog -h127.0.0.1 -prsyslogpass <  /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql

后面的MySQL脚本是安装rsyslog-mysql 生成的,可以用命令查看

rpm –ql rsyslog-mysql

4配置rsyslog使用ommysql模块

~]# vi /etc/rsyslog.conf

在#### MODULES ####下面添加一行

$ModLoad ommysql

5配置RULES,将你想要记录的日志信息记录于mysql中

~]# vi /etc/rsyslog.conf

在#### RULES #### 下面添加一行

 

*.*                             :ommysql:127.0.0.1,Syslog,rsyslog,rsyslogpass

你想要记录的信息类型                        模块名             ip  数据库名 用户名  密码

 

6配置lamp环境

安装这些包:httpd php php-mysql php-gd

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

7设置loganalyzer

~]# tar xf loganalyzer-3.6.5.tar.gz

解压loganalyzer包,并将里面的src目录复制到/var/www/html/loganalyzer-3.6.5

cp -a src/ /var/www/html/loganalyzer-3.6.5

]# ln -s loganalyzer-3.6.5 log 创建一个软链接

]# cd log

]# touch config.php

]# chmod 666 config.php

]# systemctl start httpd将httpd启动

8打开浏览器配置

http://10.1.253.4/log/

blob.png

点上面的here开始配置

第一步检查依赖条件:默认

第二步检查文件权限:默认

第三步基本配置选项:默认

第四步为管路工具添加一个源,也就是管理哪个日志

blob.png

blob.png

点finish完成

9配置完成后将config.php文件的权限修改为644

chmod 644 config.php

原创文章,作者:cszdz123,如若转载,请注明出处:http://www.178linux.com/53667

赞 (2)
cszdz123cszdz123
上一篇 2016-10-24 09:09
下一篇 2016-10-24 09:09

相关推荐

  • Linux网络属性配置命令和管理详解

    一、Linux网络属性配置     1.Linux主机接入到网络方式 IP/NETMASK:实现本地网络通信 路由(网关):可以进行跨网络通信 DNS服务器地址:基于主机名的通信,Linux可以有三个DNS地址 当第一个地址本身挂了,才会查找其备用地址;若第一个地址无法解析则停止     2.网络属…

    Linux干货 2016-04-30
  • python装饰器详解

    python之装饰器详解 一、装饰器定义 定义一个函数,可以接受一个函数作为参数,对该函数进行一些包装,不改变函数的本身。 二、装饰器四部曲(分解) 1、函数可赋值给变量。若赋值给变量的是调用后的函数,变量的值就是return的返回值。 切记:函数赋值给变量,只看return的值。分清楚函数是处于调用状态还是未被调用状态。若函数没有写return,默认ret…

    2017-02-08
  • Linux文件的权限与解析

    一,文件的基本权限: 通常,你使用ls -l 命令,就会看到这样的行:   让我们解析一下这些字段代表的意思: -rw-r–r–. 1 root root 1018 Nov 6 2016 usb_modeswitch.conf 文件类型权限  硬链接数 文件所有者 文件所属组 文件容量  文件最后被修改时…

    2017-07-30
  • 权限管理和文本过滤

    1.复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 [root@study ~]# cp -r /etc/skel/ /home/tuser1|chmod -R 700 tuser1/ [root@…

    Linux干货 2016-11-20
  • Linux基础目录名称命名法则及功用规定

    FHS:文件系统层级结构标准 – Filesystem Hieracry Standard 参考这篇文档: http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html  /bin:供所有用户使用的基本命令文件 /sbin:系统管理使用的工具程序 /boot:引导加载器必须用的静态文件…

    Linux干货 2016-08-15
  • 一波三折的尝试,windows下通过VMware虚拟机安装windows操作系统

    已经尝试过多次VMware下linux系统的安装,均安装正常,同样环境下安装windows系统会发生什么情况,首先选择的是windows10系统,然而在安装过程中,iso镜像光盘一直无法挂载,在经历更换iso镜像,更换另一台电脑之后,初步判定问题为win10系统iso镜像顺坏,因为同样环境用win7的镜像却能正常挂载,且正常启动到安装系统界面…..
    但是,问题真的会是这样吗?

    2018-03-27