RHEL6.4 搭建 rsyslog 日志服务 rsyslog+mysql+loganalyzer

软件提供的功能:

1、rsyslog是RHEL或centos系统6.x版本的日志服务,代替以前系统的syslog服务。在这个架构中rsyslog服务主要是收集日志的功能,把日志归类,写入数据库。

2、mysql是简单的数据库,在这个架构中主要任务是存放收集过来的日志信息,以便提供给loganalyzer软件来显示出来。

3、loganalyzer是一个日志分析工具,比较简单。在这个架构中主要是从mysql数据库中提取数据依条形和图形直观的显示出来,提供筛选、搜索、归类、统计等功能。

4、evtsys是运行在windows平台下,把系统收集的日志发送到mysql中,保存起来。

整个环境需要的条件:

在整个框架中,rsyslog、mysql、http、php等使用系统自带的rpm包

loganalyzer是从网上下载的源码包文件,地址: http://download.adiscon.com/loganalyzer/loganalyzer-3.6.3.tar.gz。

整个日志服务是建立在LAMP架构之上的,需要对LAMP有所了解。

两台RHEL6.4系统的主机,一个是server一个是client,把iptables和selinux关闭。

搭建步骤:

1、先在server上来验证一下LAMP架构。

a、初始化mysql服务,进入mysql数据库,执行 "mysql -u 用户名 -D 数据库名 -p 密码" 进行验证mysql是否存在问题;

b、开启httpd服务,打开浏览器,输入本机IP地址,验证httpd服务。找到DirectoryIndex关键字,添加index.php。

c、修改httpd.conf配置文件,在/var/www/html/添加测试index.php页面。进行LAMP的整体测试。

vi /var/www/html/index.php 
<?php 
$link=mysql_connect(localhost,root,123456);    ##(主机名,用户名,密码) 
if(!$link) echo "失败!"; 
else echo "成功!"; 
mysql_close(); 
?>
Rsyslog的配置文件:
vim /etc/rsyslog.conf

#### MODULES 日志的模块#### 
$ModLoad imuxsock   #imuxsock是模块名,支持本地系统日志的模块 
$ModLoad imklog     #imklog是模块名, 支持内核日志的模块 
#$ModLoad immark    #immark是模块名,支持日志标记 
#$ModLoad imudp     #imupd是模块名,支持udp协议 
#$UDPServerRun 514  #允许514端口接收使用UDP和TCP协议转发过来的日志 
#$ModLoad imtcp     #imtcp是模块名,支持tcp协议 
#$InputTCPServerRun 514
################# GLOBAL DIRECTIVES #################定义全局日志格式的指令 
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat #定义日志格式默认模板 
$IncludeConfig /etc/rsyslog.d/*.conf   #载入rsyslog.d文件中所有以conf结尾的文件 
#### RULES #### 
*.info;mail.none;authpriv.none;cron.none    /var/log/messages 
#####记录所有日志类型的info级别以及大于info级别的信息到/var/log/messages,但是mail邮件信息,authpriv验证方面的信息和cron时间#任务相关的信息除外 
authpriv.*             /var/log/secure 
#####authpriv验证相关的所有信息存放在/var/log/secure 
mail.*                -/var/log/maillog 
#####邮件的所有信息存放在/var/log/maillog; 这里有一个-符号, 表示是使用异步的方式记录, 因为日志一般会比较大 
cron.*                /var/log/cron 
####计划任务有关的信息存放在/var/log/cron 
*.emerg                * (*表示所有用户) 
###记录所有的大于等于emerg级别信息, 以wall方式发送给每个登录到系统的人 
uucp,news.crit        /var/log/spooler 
####记录uucp,news.crit等存放在/var/log/spooler 
local7.*              /var/log/boot.log 
####本地服务器的启动的所有日志存放在/var/log/boot.log中 
#############################rsyslog.conf###############中日志规则的定义的格式 
facitlity.priority          Target 
#facility: 日志设备(可以理解为日志类型): 
============================================================== 
auth         #pam产生的日志,认证日志 
authpriv     #ssh,ftp等登录信息的验证信息,认证授权认证 
cron         #时间任务相关 
kern         #内核 
lpr          #打印 
mail         #邮件 
mark(syslog) #rsyslog服务内部的信息,时间标识 
news         #新闻组 
user         #用户程序产生的相关信息 
uucp         #unix to unix copy, unix主机之间相关的通讯 
local 1~7    #自定义的日志设备 
=============================================================== 
#priority: 级别日志级别: 
===================================================================== 
debug           #有调式信息的,日志信息最多 
info            #一般信息的日志,最常用 
notice          #最具有重要性的普通条件的信息 
warning, warn   #警告级别 
err, error      #错误级别,阻止某个功能或者模块不能正常工作的信息 
crit            #严重级别,阻止整个系统或者整个软件不能正常工作的信息 
alert           #需要立刻修改的信息 
emerg, panic    #内核崩溃等严重信息 
###从上到下,级别从低到高,记录的信息越来越少,如果设置的日志内性为err,则日志不会记录比err级别低的日志,只会记录比err更高级别的日志,也包括err本身的日志。 
===================================================================== 
Target: 
#文件, 如/var/log/messages 
#用户, root,*(表示所有用户) 
#日志服务器,@172.16.22.1
#管道        | COMMAND

日志滚动服务:所有的日志文件都会随着时间的推移和访问次数的增加而迅速增长,因此必须对日志文件进行定期清理,以免造成磁盘空间的不必要的浪费,同时也加快了管理员查看日志所用的时间。因而logrotate就非常有存在的必要了,Redhat系统默然安装logrotate,利用
logrotate设置了相关对rsyslog日志迅速增长的设置。logrotate的执行由crond服务实现。在/etc/cron.daily目
录中,有个logrotate,是个shellscript,用来启动logrotate。

logrotate程序每天由cron在指定的时间
(/etc/crontab)启动。

sed -e ‘/^#/d‘  -e ‘/^$/d‘ /etc/logrotate.conf 
weekly      #每周清理一次日志文件 
rotate 4    #保存四个轮换日志 
create      #清除旧日志的同时,创建新的空日志文件 
dateext     #使用日期为后缀的回滚文件  #可以去/var/log目录下看看 
include /etc/logrotate.d  #包含/etc/logrotate.d目录下的所有配置文件 
/var/log/wtmp {      #对/var/log/wtmp这个日志文件按照下面的设定日志回滚 
monthly                    #每月轮转一次 
create 0664 root utmp      #设置wtmp这个日志文件的权限,属主,属组 
minsize 1M                 #日志文件必须大于1M才会去轮换(回滚) 
rotate 1                   #保存一个轮换日志 
} 
/var/log/btmp { 
missingok                #如果文件丢失不报错 
monthly 
create 0600 root utmp 
rotate 1
} 

[[email protected] ~]# cat /etc/logrotate.d/syslog 
/var/log/cron    #这些文件是rsyslog.conf文件中全局配置定义中指定的Target的路径 
/var/log/maillog 
/var/log/messages 
/var/log/secure 
/var/log/spooler 
{ 
sharedscripts 
postrotate   # 轮换之后重启rsyslog服务 
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript 
}
sed -e ‘/^#/d‘  -e ‘/^$/d‘ /etc/logrotate.conf 
weekly      #每周清理一次日志文件 
rotate 4    #保存四个轮换日志 
create      #清除旧日志的同时,创建新的空日志文件 
dateext     #使用日期为后缀的回滚文件  #可以去/var/log目录下看看 
include /etc/logrotate.d  #包含/etc/logrotate.d目录下的所有配置文件 
/var/log/wtmp {      #对/var/log/wtmp这个日志文件按照下面的设定日志回滚 
monthly                    #每月轮转一次 
create 0664 root utmp      #设置wtmp这个日志文件的权限,属主,属组 
minsize 1M                 #日志文件必须大于1M才会去轮换(回滚) 
rotate 1                   #保存一个轮换日志 
} 
/var/log/btmp { 
missingok                #如果文件丢失不报错 
monthly 
create 0600 root utmp 
rotate 1
} 

[[email protected] ~]# cat /etc/logrotate.d/syslog 
/var/log/cron    #这些文件是rsyslog.conf文件中全局配置定义中指定的Target的路径 
/var/log/maillog 
/var/log/messages 
/var/log/secure 
/var/log/spooler 
{ 
sharedscripts 
postrotate   # 轮换之后重启rsyslog服务 
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript 
}

rsyslog 建立:

安装rsyslog服务包,rsyslog-mysql的rpm包需要装上去,是日志和数据库结合的包

配置/etc/rsyslog.conf文件

vi /etc/rsyslog.conf 
SYSLOGD_OPTIONS="-c 2 -r -x -m 180"    ##添加, 
KLOGD_OPTIONS="-x"                     ##添加, 
$ModLoad immark.so                     ##查找,并把注释符号去掉。 
$ModLoad imudp.so                      ##查找,并把注释符号去掉。 
$UDPServerRun 514                      ##查找,并把注释符号去掉。

参数描述如下:

-c指定运行兼容模式。
-r指定监听端口。默认514
-x在接收客户端消息时,禁用DNS查找。需和-r参数配合使用。
-m标记时间戳。单位是分钟,为0时,表示禁用该功能。

修改完保存配置文件后重启rsyslog服务。

客户端:

vi /etc/rsyslog.conf 
*.*    @172.16.2.240     ##添加改行,@ 之后是server端ip地址。 
vi  /etc/bashrc          ##可选项,会记录:那台主机由谁在什么目录执行什么命令 
export PROMPT_COMMAND=‘{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }‘    ##添加 
source /etc/bashrcce     ##执行后立即生效

修改、保存配置文件后重启rsyslog服务。

第一阶段验证测试。

a、在客户端输入logger-pinfo“测试信息”;

b、在客户端的/var/log/messager文件中去查看是否有执行的这条命令和输入的结果。

与mysql整合

时间: 2024-07-31 12:56:31

RHEL6.4 搭建 rsyslog 日志服务 rsyslog+mysql+loganalyzer的相关文章

Rsyslog日志服务安装配置

rsyslog服务端配置  centos6.4 x64系统  系统自带rsyslog 5.8版本 rsyslog 是一个 syslogd 的多线程增强版. 现在Fedora和Ubuntu, rhel6默认的日志系统都是rsyslog了 rsyslog负责写入日志, logrotate负责备份和删除旧日志, 以及更新日志文件 ################################### #首先部署好lamp环境,详情见lamp安装文档 #更新系统时间   rsyslog-mysql是rs

日志服务rsyslog简述

[日志的概念] 日志是按照时间序列,将发生的事予以记录的信息集合. [日志的内容] 日志记录:事件发生的时间,事件内容 日志级别:事件的关键程度 [设施分类] auth 认证相关 authpriv 认证授权相关 cron 计划任务相关 daemon 守护进程相关 kern 内核相关 lpr 打印相关 mail 邮件相关 mark 防火墙标记相关 news 新闻组相关 security        安全相关 syslog 系统相关 user 用户相关 [级别] debug 调试 info 信息

centos 如何用 rsyslog 搭建本地日志服务(续1: omprog模块与php deamon的配合使用)

上一篇说到了如何用 rsyslog 搭建本地的日志服务,地址在这里,没有看的童鞋可以先瞅一眼 : http://www.cnblogs.com/smallrookie/p/5677004.html 显然这个是比较简单粗暴的,如果没有做过什么特殊的输出配置,所有的输出都会写到一个文件里面,当然 rsyslog 是支持关键词匹配,然后把日志定向的写到你想写的文件里面的,如果你只有数量比较小的接口并且一段时间内,接口的数量不会发生变更,那么使用这种方式是OK的.不过实际情况是,我们通常要处理的是大量的

Rsyslog日志服务搭建

rsyslog是比syslog功能更强大的日志记录系统,可以将日志输出到文件,数据库和其它程序.Centos 6.x默认的rsyslog版本是5.x. 网上关于rsyslog的安装配置文档倒是不少,但大多数都是一些基础配置,可参考的价值不大.另外如何收集多台多tomcat应用日志的文档更是几乎没有,断断续续折腾了几天,总算有了一个结果,下面就关于如何配置收集tomcat及其下面部署的程序日志进行说明. 一.升级Rsyslog 操作系统是Centos 6.8,默认安装的Rsyslog版本是5.8.

rsyslog日志服务

日志 下周 文件服务 ftp,nfs,samba *防火墙 iptables pam 下下周 nginx 集群 lvs 日志:历史事件记录:但不是操作步骤的记录 事件:时间,时间,日志级别(定义事件的关键程度) syslog: c5 klogd:为kernel记录信息 syslogd:为系统记录日志 较小规模的日志系统 记录格式:日期时间,主机,进程号:事件内容 C/S架构:通过tcp或udp提供日志记录服务 rsyslog 增强版syslog   c6,7 rsyslogd特性:多线程 udp

message显示rsyslog日志服务警告信息due to rate-limiting

/var/log/message日志大量这样的提示信息.应该rsyslog的配置记录超过最大值,修改syslog的配置文件来解决. Apr 23 16:11:53 kkmail rsyslogd-2177: imuxsock begins to drop messages from pid 2002 due to rate-limiting Apr 23 16:11:57 kkmail rsyslogd-2177: imuxsock lost 47 messages from pid 2002 

centos7设置rsyslog日志服务集中服务器

环境:centos6.9_x86_64,自带的rsyslog版本是7.4.7,很多配置都不支持,于是进行升级后配置 # 安装新版本的rsyslog程序wget http://rpms.adiscon.com/v8-stable/rsyslog.repomv rsyslog.repo /etc/yum.repos.d/rsyslog.repoyum install rsyslog* --skip-broken [[email protected]:/etc]# rsyslogd -verrsysl

通过ansible安装mysql,apache,php,并实现rsyslog日志记录于MySQL中

环境: 192.168.205.7: as ansible host 192.168.205.37: as mariadb server 192.168.205.27: as web server and rsyslog client 版本: OS: centos 7 1810 with mini install ansible: 2.8.1 mariadb-10.2.25-linux-x86_64.tar.gz apr-1.7.0.tar.bz2 apr-util-1.6.1.tar.bz2

rsyslog日志存储于MySQL中

一.安装程序和组件 系统为CentOS6.6 # yum install httpd php php-mysql php-gd mysql mysql-server rsyslog-mysql 二.准备相关配置并测试环境 1.启动http,mysql服务 # service mysqld start # chkconfig mysqld on # service httpd start # chkconfig httpd on # vim  /var/www/html/index.php 2.创