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及管理工具的初级部署

环境要求:安装有rsyslogMySQL、及管理工具(这里我们用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 这个是一个管理日志的工具,如果没有课自行到官网下载

2mysql 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 httpdhttpd启动

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

相关推荐

  • yum仓库搭建

    两台主机: 一台centos7  客户机 一台centos6  服务器 准备工作 1.查看是否共享服务是否可用 httpd或vsftpd 是否安装。确认安装之后选择vsftpd为共享服务/var/www/html和/var/ftp/pub为共享目录。 这里使用vsftpd,/var/ftp/pub这个目录为共享目录 在这个目录下建立一个独立的文件夹 [roo…

    2017-12-01
  • N27_第六周作业

    请详细总结vim编辑器的使用并完成以下练习题 基本模式:编辑模式(命令模式),输入模式,末行模式 模式转换: 编辑模式–输入模式: i:insert,在光标所在处前方输入 a:append,在光标所在处后方输入 o:在光标所在处的下方新建一行 I:在光标所在行行首输入 A:在光标所在处行尾输入 O:在光标所在处的上方打开一个新行 输入模式&#82…

    Linux干货 2017-10-26
  • Linux常见小知识点

    什么是Linux? Linux是一款支持多任务,多线程,多用户的类Unix系统 Linux常见的发行版本 Redhat  Linux   Linux发行版中比较重要的一个版本,多用于企业,由Redhat公司提供收费技术支持和更新,其衍生版本有centos为免费版本 Debain linux      系统分为…

    Linux干货 2017-03-26
  • 使用CDN后,PHP如何获取用户的真是IP?

    在统计访问日志参数的时候IP是一个重要的参数,所有索取客户端的IP就至关重要。 在logformat配置中有两个变量是获取IP地址的: remoteaddr:客户端IP xforwardedfor:客户端的IP 从上面来看两个都是客户端IP,那这两个变量有什么不同? 首先当你访问某个网站,假设你中间不经过任何代理,那么webserver就会把remotead…

    Linux干货 2015-12-21
  • 不重启添加硬盘

    添加硬盘后 ls /dev/sd* 不重启添加硬盘 [root@localhost ~]# cd /sys/class/scsi_host/ [root@localhost scsi_host]# ls host0  host1  host2 [root@localhost scsi_host]# echo “- – -”…

    Linux干货 2017-10-21
  • 堡垒机-麒麟开源堡垒机SSH公私钥认证配置文档

    1、进入SSH公私钥管理界面 操作步骤:进入系统,点击左侧导航资产管理,后边TAB标签导航SSH公私钥,如下图     2、批量导入SSH公私钥: SSH公私钥管理界面,点击下方”导入“,进入导入页面上传公私钥,     上传说明: 1) 讲所有的公私钥放到一个名为pvt的空文件夹中。 2) 在同样…

    Linux干货 2016-05-29