阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Rsyslog日志服务安装配置

218次阅读
没有评论

共计 9911 个字符,预计需要花费 25 分钟才能阅读完成。

rsyslog 服务端配置  CentOS6.4 x64 系统  系统自带 rsyslog 5.8 版本

rsyslog 是一个 syslogd 的多线程增强版。

现在 Fedora 和 Ubuntu, rhel6 默认的日志系统都是 rsyslog 了

rsyslog 负责写入日志, logrotate 负责备份和删除旧日志, 以及更新日志文件

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

RHEL5.4 部署中央日志服务器之 rsyslog+loganalyzer http://www.linuxidc.com/Linux/2010-12/30801.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

###################################

# 首先部署好 lamp 环境,详情见 lamp 安装文档

# 更新系统时间  rsyslog-mysql 是 rsyslog 把日志传送到 mysql 的一个模块

yum install ntp  rsyslog-mysql -y

ntpdate cn.pool.ntp.org

 

# 编辑配置文件

vim /etc/rsyslog.conf  取消下列三行的注释,并添加加载 mysql 模块信息。

$ModLoad immark  # provides –MARK– message capability

$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)

$ModLoad imklog  # kernel logging (formerly provided by rklogd)

##### 下面这 2 行是要添加的内容 #####    123456 是 root 用户登录 mysql 的密码

# 加载 mysql 模块

$ModLoad ommysql

# 定义插入的数据内容_(insertpl) 模板名称

$template insertpl,”insert into SystemEvents (Message, Facility, FromHost, FromIP, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values (‘%msg%’, %syslog

facility%, ‘%HOSTNAME%’, ‘%fromhost-ip%’, %syslogpriority%, ‘%timereported:::date-mysql%’, ‘%timegenerated:::date-mysql%’, %iut%, ‘%syslogtag%’)”,SQL

 

# 如果日志内容包含下列括号中的内容,则将日志写入到 /var/log/11.log 并退出,不继续后续操作

if $msg contains  ‘(root) CMD (/usr/lib64/sa/sa1 1 1)’ then /var/log/11.log

&~

# 将所有日志写入到数据库_以下 *.* 表示所有类型的日志,mysql 模块 - 数据库服务器 - 数据库 - 数据库用户名 - 密码 - 模板

*.*    :ommysql:localhost,Syslog,root,123456;insertpl

 

# 去掉下面两行的注释,接受客户端的日志,开启 514 端口

$ModLoad imudp.so  # provides UDP syslog reception

$UDPServerRun 514 # start a UDP syslog server at standard port 514

 

 

# 添加 mysql root 密码

 mysqladmin -u root password 123456

# 导入数据库

cd /usr/share/doc/rsyslog-mysql-5.8.10/

mysql -uroot -p <createDB.sql

# 检查数据库是否有相应数据

mysql -uroot -p

USE Syslog;

select * from SystemEvents;

# 如果有数据,则表示成功

# 创建 rsyslog 用户访问 Syslog

grant all privileges on Syslog.* to rsyslog@localhost identified by “123456”;

flush privileges;

exit

 

 

# 重启 rsyslog 服务

service rsyslog restart

安装 loganalyzer

##LogAnalyzer 是一个 syslog 和其他网络事件数据的 Web 前端工具,提供简单易用的日志浏览、搜索和基本分析以及图表显示。

下载源码包:

wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz

 

tar zxvf loganalyzer-3.6.5.tar.gz

mkdir /var/www/html/syslog

cd /tmp/loganalyzer-3.6.5/src

cp -r * /var/www/html/syslog

cd /tmp/loganalyzer-3.6.5/contrib

cp * /var/www/html/syslog

cd /var/www/html/syslog

chmod +x *.sh

sh configure.sh && sh secure.sh

chmod 666 config.php

chown -R daemon.daemon *

登录 web 安装,http://ip 地址 /syslog    或者  http://ip 地址 /syslog/src

1:选择 Click here

2:Enable User Database 选择 Yes,如果选择 no 将没有管理页面

  点击 NEXT 时若报错,后台执行如下命令后继续

  ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

3:填写如下信息:Database Host:localhost

                Database Port:3306

                Database Name:Syslog

                prefix:logcon_

                Database User:root

                Database Password:123456

                Require user to be logged in 选择 yes

4:选择 next  设置登录用户名和密码

    root  123456         

5:next          Source type:MYSQL Native

                Select View:Syslog Fields

                Database Name:Syslog

                Database Tablename:SystemEvents

                Database User:root

                Database Password:123456

 next

 finish  ############ 完成安装配置

 

 

################  Linux 客户端部署

1. vi /etc/rsyslog.conf

2. 在最后面添加:*.* @192.168.10.250

3. 保存退出,重启 syslog 服务

4. service syslog restart 

5. 此时在服务器上就可以看到相关服务器的日志信息了                         

 

# 修改 LogAnalyzer 设定

### 删除 LogAnalyzer 初始化安装文件

### 删除安装档 install.php,或者设置该文件权限为只读

rm -rf install.php

### 关闭分析页面中赞助信息

vi /var/www/html/syslog/include/functions_common.php

### 将下行改为 false

$content[‘SHOW_DONATEBUTTON’] = false; // Default = true!

### 更换分析页面首页图标 Logo

1.  首先将准备好的 logo 放至 images/main 目录下。

2.  编辑 include/functions_common.php

3.  修改如下路径:

    $content[‘EXTRA_PHPLOGCON_LOGO’] = $content[‘BASEPATH’] .

    “images/main/Header-Logo.png”;

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-06/103364p2.htm

###############  windows 客户端部署

下载 evtsys 64 位

http://eventlog-to-syslog.googlecode.com/files/Evtsys_4.4.3_64-Bit.zip

打开文件双击运行 evtsys.exe,生成 cfg 配置文件

把所有文件复制 C:\Windows\System32 下

# 开启 evtsys 服务

运行 - cmd

cd c:\windows\system32

evtsys -i -s 10 -h 192.168.6.185 -p 514

net start evtsys

# 查看服务器端验证效果

192.168.6.185/syslog

#rsyslog 接收 windows 日志出现乱码

登录 web 界面,点击 admin center 选择 Preferences

Default character encoding  改为 UTF-8 即可

 

 

 

 #######################################################

                  iptables 策略

修改 iptables,增加 udp541 端口出入,防止被人恶意破坏

服务端需添加 rsyslog UDP 514 端口以及 loganalyzer TCP 80 端口通过规则

iptables -A INPUT -p udp –dport 514 -j ACCEPT

iptables -P OUTPUT ACCEPT

iptables -A INPUT -p TCP –dport 80 -j ACCEPT

客户端只需添加 OUTPUT 通过规则

iptables -P OUTPUT ACCEPT

rsyslog server 端为被动获取数据,client 端为主动发送数据

 

#######################################################

                  logrotate 管理日志配置

 

logrotate 程序是一个日志文件管理工具。用来把旧的日志文件更名或删除,并创建新的日志文件,我们把它叫做“转储”。

CentOS 下 logrotate 配置文件路径:/etc/logrotate.conf

/etc/logrotate.d/ 下面放置自定义的一些配置文件

下面是 RedHat 的 logrotate.conf 的具体内容

# see “man logrotate” for details

# rotate log files weekly

weekly

# 每周 rotate 一次

# keep 4 weeks worth of backlogs

rotate 4

# 保留前四周的 log 备份

# create new (empty) log files after rotating old ones

create

# use date as a suffix of the rotated file

dateext

使用轮换的日期为后缀

# 建立新的 log 文件

# uncomment this if you want your log files compressed

#compress

# 是否压缩 log 文件,需要压缩就去掉“#”符

# RPM packages drop log rotation information into this directory

include /etc/logrotate.d

# 将 /etc/logrotate.d 目录下的文件读来执行 rotate

# no packages own wtmp — we’ll rotate them here

/var/log/messages {

monthly

create 0664 root root

rotate 1

}

# 上面一段时单对 messages 文件的 rotate 的配置

# 每月 rotate 一次

# 建新的 log 文件,权限设定为 0664,文件拥有者 root,群组为 root

# 保留前一个月的 log 备份

# 也可以根据自己需求参照上面的配置来需要 rotate 的日志。

 

参数 功能

compress 通过 gzip 压缩转储以后的日志

nocompress 不需要压缩时,用这个参数

copytruncate 用于还在打开中的日志文件,把当前日志备份并截断

nocopytruncate 备份日志文件但是不截断

create mode owner group 转储文件,使用指定的文件模式创建新的日志文件

nocreate 不建立新的日志文件

delaycompress 和 compress 一起使用时,转储的日志文件到下一次转储时才压缩

nodelaycompress 覆盖 delaycompress 选项,转储同时压缩。

errors address 专储时的错误信息发送到指定的 Email 地址

ifempty 即使是空文件也转储,这个是 logrotate 的缺省选项。

notifempty 如果是空文件的话,不转储

mail address 把转储的日志文件发送到指定的 E -mail 地址

nomail 转储时不发送日志文件

olddir directory 转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统

noolddir 转储后的日志文件和当前日志文件放在同一个目录下

prerotate/endscript 在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行

postrotate/endscript 在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行

daily 指定转储周期为每天

weekly 指定转储周期为每周

monthly 指定转储周期为每月

rotate count 指定日志文件删除之前转储的次数,0 指没有备份,5 指保留 5 个备份

tabootext [+] list 让 logrotate 不转储指定扩展名的文件,缺省的扩展名是:.rpm-orig, .rpmsave, v, 和 ~

size size 当日志文件到达指定的大小时才转储,Size 可以指定 bytes (缺省) 以及 KB (sizek) 或者 MB (sizem).

logrotate 命令

logrotate [-vf] logfile

-v 显示模式

-f 强制执行 rotate

范例:

logrotate -vf /etc/logrotate.conf

Rsyslog 的详细介绍 :请点这里
Rsyslog 的下载地址 :请点这里

rsyslog 服务端配置  CentOS6.4 x64 系统  系统自带 rsyslog 5.8 版本

rsyslog 是一个 syslogd 的多线程增强版。

现在 Fedora 和 Ubuntu, rhel6 默认的日志系统都是 rsyslog 了

rsyslog 负责写入日志, logrotate 负责备份和删除旧日志, 以及更新日志文件

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

RHEL5.4 部署中央日志服务器之 rsyslog+loganalyzer http://www.linuxidc.com/Linux/2010-12/30801.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

###################################

# 首先部署好 lamp 环境,详情见 lamp 安装文档

# 更新系统时间  rsyslog-mysql 是 rsyslog 把日志传送到 mysql 的一个模块

yum install ntp  rsyslog-mysql -y

ntpdate cn.pool.ntp.org

 

# 编辑配置文件

vim /etc/rsyslog.conf  取消下列三行的注释,并添加加载 mysql 模块信息。

$ModLoad immark  # provides –MARK– message capability

$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)

$ModLoad imklog  # kernel logging (formerly provided by rklogd)

##### 下面这 2 行是要添加的内容 #####    123456 是 root 用户登录 mysql 的密码

# 加载 mysql 模块

$ModLoad ommysql

# 定义插入的数据内容_(insertpl) 模板名称

$template insertpl,”insert into SystemEvents (Message, Facility, FromHost, FromIP, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values (‘%msg%’, %syslog

facility%, ‘%HOSTNAME%’, ‘%fromhost-ip%’, %syslogpriority%, ‘%timereported:::date-mysql%’, ‘%timegenerated:::date-mysql%’, %iut%, ‘%syslogtag%’)”,SQL

 

# 如果日志内容包含下列括号中的内容,则将日志写入到 /var/log/11.log 并退出,不继续后续操作

if $msg contains  ‘(root) CMD (/usr/lib64/sa/sa1 1 1)’ then /var/log/11.log

&~

# 将所有日志写入到数据库_以下 *.* 表示所有类型的日志,mysql 模块 - 数据库服务器 - 数据库 - 数据库用户名 - 密码 - 模板

*.*    :ommysql:localhost,Syslog,root,123456;insertpl

 

# 去掉下面两行的注释,接受客户端的日志,开启 514 端口

$ModLoad imudp.so  # provides UDP syslog reception

$UDPServerRun 514 # start a UDP syslog server at standard port 514

 

 

# 添加 mysql root 密码

 mysqladmin -u root password 123456

# 导入数据库

cd /usr/share/doc/rsyslog-mysql-5.8.10/

mysql -uroot -p <createDB.sql

# 检查数据库是否有相应数据

mysql -uroot -p

USE Syslog;

select * from SystemEvents;

# 如果有数据,则表示成功

# 创建 rsyslog 用户访问 Syslog

grant all privileges on Syslog.* to rsyslog@localhost identified by “123456”;

flush privileges;

exit

 

 

# 重启 rsyslog 服务

service rsyslog restart

安装 loganalyzer

##LogAnalyzer 是一个 syslog 和其他网络事件数据的 Web 前端工具,提供简单易用的日志浏览、搜索和基本分析以及图表显示。

下载源码包:

wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz

 

tar zxvf loganalyzer-3.6.5.tar.gz

mkdir /var/www/html/syslog

cd /tmp/loganalyzer-3.6.5/src

cp -r * /var/www/html/syslog

cd /tmp/loganalyzer-3.6.5/contrib

cp * /var/www/html/syslog

cd /var/www/html/syslog

chmod +x *.sh

sh configure.sh && sh secure.sh

chmod 666 config.php

chown -R daemon.daemon *

登录 web 安装,http://ip 地址 /syslog    或者  http://ip 地址 /syslog/src

1:选择 Click here

2:Enable User Database 选择 Yes,如果选择 no 将没有管理页面

  点击 NEXT 时若报错,后台执行如下命令后继续

  ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

3:填写如下信息:Database Host:localhost

                Database Port:3306

                Database Name:Syslog

                prefix:logcon_

                Database User:root

                Database Password:123456

                Require user to be logged in 选择 yes

4:选择 next  设置登录用户名和密码

    root  123456         

5:next          Source type:MYSQL Native

                Select View:Syslog Fields

                Database Name:Syslog

                Database Tablename:SystemEvents

                Database User:root

                Database Password:123456

 next

 finish  ############ 完成安装配置

 

 

################  Linux 客户端部署

1. vi /etc/rsyslog.conf

2. 在最后面添加:*.* @192.168.10.250

3. 保存退出,重启 syslog 服务

4. service syslog restart 

5. 此时在服务器上就可以看到相关服务器的日志信息了                         

 

# 修改 LogAnalyzer 设定

### 删除 LogAnalyzer 初始化安装文件

### 删除安装档 install.php,或者设置该文件权限为只读

rm -rf install.php

### 关闭分析页面中赞助信息

vi /var/www/html/syslog/include/functions_common.php

### 将下行改为 false

$content[‘SHOW_DONATEBUTTON’] = false; // Default = true!

### 更换分析页面首页图标 Logo

1.  首先将准备好的 logo 放至 images/main 目录下。

2.  编辑 include/functions_common.php

3.  修改如下路径:

    $content[‘EXTRA_PHPLOGCON_LOGO’] = $content[‘BASEPATH’] .

    “images/main/Header-Logo.png”;

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-06/103364p2.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计9911字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中