共计 12153 个字符,预计需要花费 31 分钟才能阅读完成。
软件提供的功能 :
1、rsyslog 是 RHEL 或 CentOS 系统 6.x 版本的日志服务,代替以前系统的 syslog 服务。在这个架构中 rsyslog 服务主要是收集日志的功能,把日志归类,写入数据库。
2、mysql 是简单的数据库,在这个架构中主要任务是存放收集过来的日志信息,以便提供给 loganalyzer 软件来显示出来。
3、loganalyzer 是一个日志分析工具,比较简单。在这个架构中主要是从 mysql 数据库中提取数据依条形和图形直观的显示出来,提供筛选、搜索、归类、统计等功能。
4、evtsys 是运行在 windows 平台下,把系统收集的日志发送到 mysql 中,保存起来。
————————————– 分割线 ————————————–
RHEL5.4 部署中央日志服务器之 rsyslog+Log Analyzer http://www.linuxidc.com/Linux/2012-01/51853.htm
CentOS 6.3 下利用 Rsyslog+LogAnalyzer+MySQL 部署日志服务器 http://www.linuxidc.com/Linux/2013-07/86956.htm
使用 rsyslog mysql 和 logAnalyzer 的日志服务器 http://www.linuxidc.com/Linux/2012-09/70717.htm
CentOS 6.3 下利用 Rsyslog+LogAnalyzer+MySQL 部署日志服务器 http://www.linuxidc.com/Linux/2013-07/86956.htm
RHEL5.4 部署中央日志服务器之 rsyslog+loganalyzer http://www.linuxidc.com/Linux/2010-12/30801.htm
————————————– 分割线 ————————————–
整个环境需要的条件 :
在整个框架中,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
}
[root@demo ~]# 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
}
[root@demo ~]# 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
}
更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-10/107890p2.htm
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 文件中去查看是否有执行的这条命令和输入的结果。
LogAnalyzer 的详细介绍 :请点这里
LogAnalyzer 的下载地址 :请点这里
更多 RedHat 相关信息见 RedHat 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=10
软件提供的功能 :
1、rsyslog 是 RHEL 或 CentOS 系统 6.x 版本的日志服务,代替以前系统的 syslog 服务。在这个架构中 rsyslog 服务主要是收集日志的功能,把日志归类,写入数据库。
2、mysql 是简单的数据库,在这个架构中主要任务是存放收集过来的日志信息,以便提供给 loganalyzer 软件来显示出来。
3、loganalyzer 是一个日志分析工具,比较简单。在这个架构中主要是从 mysql 数据库中提取数据依条形和图形直观的显示出来,提供筛选、搜索、归类、统计等功能。
4、evtsys 是运行在 windows 平台下,把系统收集的日志发送到 mysql 中,保存起来。
————————————– 分割线 ————————————–
RHEL5.4 部署中央日志服务器之 rsyslog+Log Analyzer http://www.linuxidc.com/Linux/2012-01/51853.htm
CentOS 6.3 下利用 Rsyslog+LogAnalyzer+MySQL 部署日志服务器 http://www.linuxidc.com/Linux/2013-07/86956.htm
使用 rsyslog mysql 和 logAnalyzer 的日志服务器 http://www.linuxidc.com/Linux/2012-09/70717.htm
CentOS 6.3 下利用 Rsyslog+LogAnalyzer+MySQL 部署日志服务器 http://www.linuxidc.com/Linux/2013-07/86956.htm
RHEL5.4 部署中央日志服务器之 rsyslog+loganalyzer http://www.linuxidc.com/Linux/2010-12/30801.htm
————————————– 分割线 ————————————–
整个环境需要的条件 :
在整个框架中,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
}
[root@demo ~]# 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
}
[root@demo ~]# 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
}
更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-10/107890p2.htm