CentOS6系统Rsyslog+LogAnalyzer+MySQL部署日志服务器

一、环境配置介绍

1、实验环境介绍

Rsyslog Server OS:CentOS release 6.5 (Final) X86_64
Rsyslog Seravr IP:211.149.204.229
Rsyslog Client OS:CentOS release 6.5 (Final) X86_64
Rsyslog Client IP:63.223.64.110
Rsyslog Version:rsyslog-5.8.10-8.el6.x86_64
LNMP Version:nginx 1.6 +mysql 5.1.72 + php 5.3.28

2、依赖包安装

[root@ebs-28723 src]# yum install gcc gcc-c++ make rsyslog rsyslog-mysql unzip vim -y
3、配置提示
3.1、因为PHP环境是默认安装好了的,本文章不描述如果配置和安装PHP环境,可以配置居LNMP或者是LAMP,添加网站的过程也不描述
3.2、PHP环境要求:
php-Mysql:php连接mysql的扩展
php-gd:php画图的扩展
4、实验目的
方便集中管理服务器日志

二、rsyslog介绍

1、基本介绍

rsyslog是一个syslogd的多线程增强版,Fedora和ubuntu,rhel默认的日志系统都是rsyslog。rsyslog负责记录日志,logrotate负责备份和删除旧日志,以及更新日志文件
2、优点
2.1、日志统一,集中式管理
2.2、日志实时传送到一个更加安全的远端服务器上,真正记录用户行为,使日志的2次更改可能性大大降低,从而能够对日志进行真实回放,便于问题追踪。
3、rsyslog的新功能:
rsyslog是一个加强版的syslog,具有各种各样的亲功能,典型有:
3.1、直接将日志写入到数据库。
3.2、日志队列(内存队列和磁盘队列)
3.3、灵活的模版机制,可以得到多种输出格式。
3.4、插件式结构,多种多样的输入,输出模块
3.5、可以把日志存放在Mysql,PostgreSQL,Oracle等数据库中
4、rsyslog的软件包介绍
4.1、安装软件

[root@ebs-28723 ~]# rpm -qa | grep syslog
rsyslog-5.8.10-8.el6.x86_64 //rsyslog软件包
rsyslog-mysql-5.8.10-8.el6.x86_64 //rsyslog-mysql软件安装包
4.2、软件文件介绍

[root@ebs-28723 ~]# rpm -ql rsyslog
/etc/logrotate.d/syslog
/etc/pki/rsyslog
/etc/rc.d/init.d/rsyslog
/etc/rsyslog.conf //rsyslog的配置文件
/etc/rsyslog.d
/etc/sysconfig/rsyslog
/lib64/rsyslog
/lib64/rsyslog/imfile.so //rsyslog的模块,i开头的是输入模块
/lib64/rsyslog/imklog.so
/lib64/rsyslog/immark.so
/lib64/rsyslog/impstats.so
/lib64/rsyslog/imptcp.so
/lib64/rsyslog/imtcp.so
/lib64/rsyslog/imudp.so
/lib64/rsyslog/imuxsock.so
/lib64/rsyslog/lmnet.so
/lib64/rsyslog/lmnetstrms.so
/lib64/rsyslog/lmnsd_ptcp.so
/lib64/rsyslog/lmregexp.so
/lib64/rsyslog/lmstrmsrv.so
/lib64/rsyslog/lmtcpclt.so
/lib64/rsyslog/lmtcpsrv.so
/lib64/rsyslog/lmzlibw.so
/lib64/rsyslog/ommail.so
/lib64/rsyslog/omprog.so
/lib64/rsyslog/omruleset.so
/lib64/rsyslog/omtesting.so
/lib64/rsyslog/omuxsock.so
/lib64/rsyslog/pmlastmsg.so
4.3、rsyslog配置文件介绍(/etc/rsyslog.conf)

#### MODULES ####
$ModLoad imuxsock # imuxsock是模块名,支持本地系统日志的模块
$ModLoad imklog # imklog是模块名,支持内核日志的模块
#$ModLoad immark # immark是模块名,支持日志标记
# Provides UDP syslog reception
#$ModLoad imudp # imdup是模块名,支持udp协议
#$UDPServerRun 514 # 允许514端口接收使用UDP和TCP协议转发过来的日志
# Provides TCP syslog reception
#$ModLoad imtcp # imtcp是模块名,支持tcp协议
#$InputTCPServerRun 514
#### GLOBAL DIRECTIVES ####
# Use default timestamp format
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat #定义日志格式默认模板
# File syncing capability is disabled by default. This feature is usually not required,
# not useful and an extreme performance hit
#$ActionFileEnableSync on
# Include all config files in /etc/rsyslog.d/
$IncludeConfig /etc/rsyslog.d/*.conf #载入rsyslog.d文件中所有以conf结尾的文件
#### RULES ####
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
#记录所有日志类型的info级别以及大于info级别的信息到/var/log/mess,但是mail邮件信息,authpriv验证方面的信息和cron时间任务相关的信息除外
# The authpriv file has restricted access.
authpriv.* /var/log/secure
#authpriv验证相关的所有信息存放在/var/log/secure
# Log all the mail messages in one place.
mail.* -/var/log/maillog
#邮件的所有信息存放在/var/log/maillog
# Log cron stuff
cron.* /var/log/cron
#计划任务有关的信息存放在/var/log/cron
# Everybody gets emergency messages
*.emerg *
#记录大于等于emerg级别信息,以wall方式发送给每个登录到系统的人
# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler
#记录uucp,news,crit等存放在/var/log/spooler
# Save boot messages also to boot.log
local7.* /var/log/boot.log
#本地服务的启动的所有日志存入在/var/log/boot.log中
# ### begin forwarding rule ###
# The statement between the begin ... end define a SINGLE forwarding
# rule. They belong together, do NOT split them. If you create multiple
# forwarding rules, duplicate the whole block!
# Remote Logging (we use TCP for reliable delivery)
#
# An on-disk queue is created for this action. If the remote host is
# down, messages are spooled to disk and sent when it is up again.
#$WorkDirectory /var/lib/rsyslog # where to place spool files
#$ActionQueueFileName fwdRule1 # unique name prefix for spool files
#$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible)
#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
#$ActionQueueType LinkedList # run asynchronously
#$ActionResumeRetryCount -1 # infinite retries if host is down
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
#*.* @@remote-host:514
# ### end of the forwarding rule ###
4.4、rsyslog.conf中日志规则的定义的格式
#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级别低的日志

5、logroate日志滚动的介绍

5.1、基本介绍
所有的日志文件会随着时间的推移和访问次数的增加而迅速增长,因此必须对日志文件进行定期清理以免造成减租空间的不必要的浪费,同时也加快了管理员查看日志所用的时间。因而logrotate就有存在的必要了,redhat系统中已经默认安装了logrotate且利用logrotate设置了相关对rsyslog日志迅速增长的设置。
logrotate的执行由crond服务实现。在/etc/cron.daily目录中,有个文件logrotate,它实际上是一个shell脚本,用户启动logroate
5.2、安装包介绍

[root@ebs-28723 ~]# rpm -qa logrotate
logrotate-3.7.8-17.el6.x86_64 #logrotate软件安装的版本
[root@ebs-28723 ~]# rpm -ql logrotate
/etc/cron.daily/logrotate
/etc/logrotate.conf #logrotate的配置文件
/etc/logrotate.d #logrotate的子目录
/usr/sbin/logrotate
/usr/share/doc/logrotate-3.7.8
/usr/share/doc/logrotate-3.7.8/CHANGES
/usr/share/doc/logrotate-3.7.8/COPYING
/usr/share/man/man5/logrotate.conf.5.gz
/usr/share/man/man8/logrotate.8.gz
/var/lib/logrotate.status

5.3 logrotate配置文件(/etc/logrotate.conf和/etc/logrotate.d/syslog)

#/etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly # 每周清理一次日志文件
# keep 4 weeks worth of backlogs
rotate 4 # 保留四个轮换日志
# create new (empty) log files after rotating old ones
create # 清理旧日志的同时,创建新的空白日志
# use date as a suffix of the rotated file
dateext # 使用日期为后缀的回滚文件
# uncomment this if you want your log files compressed
#compress # 压缩
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d #包含了/etc/logrotate.d/目录下的配置文件
# no packages own wtmp and btmp -- we'll rotate them here
/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
}
# system-specific logs may be also be configured here.
#/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配置

1、Rsyslog Server配置
1.1、rsyslog软件安装

[root@ebs-28723 ~]# yum install rsyslog-mysql -y
#将日志传送到MySQL数据库的一个模块,这里必须安装
1.2、Mysql配置
#导入数据库

[root@ebs-28723 ~]# mysql -uroot -p < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
#创建用户

mysql> grant all privileges on syslog.* to syslog@localhost identified by 'syslog_123';
mysql> grant all privileges on syslog.* to syslog@'%' identified by 'syslog_123';
mysql> flush privileges;
1.3 、配置服务端支持rsyslog-mysql模块,并开启UDP服务端口获取网内其它Linux系统日志
修改 /etc/rsyslog.conf,如下
提示:修改前建议先把原文件备份一下
#注释掉以下行

*.info;mail.none;authpriv.none;cron.none
authpriv.*
mail.*
cron.*
*.emerg
#在注释掉的第一行下面添加

$ModLoad ommysql
*.* :ommysql:localhost,syslog,syslog,syslog_123 #格式为:ommysql:MysqlHost,MysqlName,MysqlUser,MysqlUserPasswd
#开启以下模块(把前面的注释取消)

$ModLoad imuxsock
$ModLoad imudp
$UDPServerRun 514
然后重启一下rsyslog服务生效

service rsyslog restart

1.4、 iptables配置

[root@ebs-28723 ~]# iptables -A INPUT -p udp --dport 514 -j ACCEPT
[root@ebs-28723 ~]# iptables -A OUTPUT -p udp --sport 514 -j ACCEPT
[root@ebs-28723 ~]# service iptables restart
2、Rsyslog Client配置
2.1、编辑rsyslog配置文件,使其上传到rsyslog Server机器上
提示:修改前建议先把原文件备份一下
#注释掉以下行

*.info;mail.none;authpriv.none;cron.none
authpriv.*
mail.*
cron.*
*.emerg
#在注释掉的第一行下面添加

*.* @211.149.204.229 #IP为rsyslog server的IP
然后重启一下rsyslog服务生效

service rsyslog restart
2.2、iptables配置

[root@web_us ~]# iptables -A INPUT -p udp --dport 514 -j ACCEPT
[root@web_us ~]# iptables -A OUTPUT -p udp --sport 514 -j ACCEPT
[root@ewb_us ~]# service iptables restart
四、LogAnalyzer介绍及配置

1、logAnlyzer介绍
官网:http://loganalyzer.adiscon.com/
下载地址:http://down.shshenchu.com/loganalyzer-3.6.5.tar.gz
中文语言包:http://down.shshenchu.com/loganalyzer3.6.5-lan-zh.zip
是一款使用php语言写的日志分析工具,能方便的简化的查看日志
2、配置LogAnlyzer
2.1、下载文件

[root@ebs-28723 ~]# cd /usr/local/src
[root@ebs-28723 src]# wget http://down.shshenchu.com/loganalyzer-3.6.5.tar.gz
[root@ebs-28723 src]# wget http://down.shshenchu.com/loganalyzer3.6.5-lan-zh.zip

2.2、文件解压

[root@ebs-28723 src]# tar -zxvf loganalyzer-3.6.5.tar.gz
[root@ebs-28723 src]# unzip loganalyzer3.6.5-lan-zh.zip

2.3、移动到网站目录下

[root@ebs-28723 src]# cp -R loganalyzer-3.6.5/src/* /Web/log/public_html/
[root@ebs-28723 src]# cp loganalyzer-3.6.5/contrib/*.sh /Web/log/public_html/
[root@ebs-28723 src]# cp -R loganalyzer3.6.5-lan-zh /Web/log/public_html/lang/cn

2.4、创建Mysql数据库

#创建用户
[root@ebs-28723 ~]# mysql -uroot -p
mysql> create database loganalyzer;
mysql> grant all privileges on lyzeruser.* to lyzeruser@localhost identified by 'lyzeruser_123';
mysql> flush privileges;
2.5、安装访问

 

日志服务器-centos7部署git服务器">








2.6 、修改语言
一般建议运维多使用英文的,如果需要修改为中文的话,有点麻烦,如下流程
1. Admin Center ====>Default character encoding (选择为utf8) #修改语言的默认编码
2. Admin Center ====>Default selected language (选择为chinese) #修改默认的语言显示
然后点击右上角,就可以在select language里面选择chiense为当前显示的语言喽!

时间: 2024-09-19 09:19:46

CentOS6系统Rsyslog+LogAnalyzer+MySQL部署日志服务器的相关文章

Centos6.3系统rsyslog+loganalyzer+mysql部署日志服务器

目录: 一.环境配置介绍 二.rsyslog介绍 三.rsyslog配置 四.LogAnalyzer介绍及配置 五.常见问题 一.环境配置介绍 1.实验环境介绍 Rsyslog Server OS:CentOS release 6.5 (Final) X86_64 Rsyslog Seravr IP:211.149.204.229 Rsyslog Client OS:CentOS release 6.5 (Final) X86_64 Rsyslog Client IP:63.223.64.110

如何在Centos 6.3下利用rsyslog+loganalyzer+mysql部署日志服务器

作为一名系统运维工程师,平时查看分析LINUX系统日志我觉得是我们每天必做的功课,但时间长了会发现每次查看站点日志都得挨个进后台,几台服务器还可以这么对付,但如果管理成百上千台线上服务器,这种方法就捉襟见肘了. 后来想了想能不能有一台日志服务器集中管理日志,并以WEB形式将日志显示到前台方便查看,顿时码字的想法油然而生,呵呵. 本人有一个习惯,那就是会把群里或者网上看到的圈内比较认可的LINUX系统软件先保存在备忘录,等闲下来研究研究,刚好前段时间有位朋友提到rsyslog+loganalyze

centos下利用rsyslog+mysql+loganalyzer部署日志服务器

rsyslog简介: 在CentOS上rsyslog服务专门负责记录系统日志信息(更早的版本系统使用的是syslog,rsyslog是syslog的下一代版本),rsyslog有三部分组成:syslogd,klogd,logrotate syslogd主要记录系统与网络等服务的日志信息: klogd主要记录内核产生的各项信息: logrotate主要用来对日志文件进行切割循环记录: mysql简介: MySQL是一个关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Re

Centos 6.0之rsyslog部署日志服务器

本文Centos6.0 日志服务器,可以方便统一查看服务器上的日志,并且写入数据库,进行web显示,方便查看:也起到了一定的安全的作用,当黑客离开clear history的时候,我们这边也是可以看到的:废话少说了,直接正题 Client1: 192.168.244.154 Client2: 略:一样的配置 logserver:192.168.244.132 LogAnalyzer是一个syslog和其他网络事件数据的Web前端工具,提供简单易用的日志浏览.搜索和基本分析以及图表显示.采用php

linux系统中清理MySql的日志文件mysql-bin.00000

首先说明,mysql-bin.00000*类似的文件是mysql的日志文件. 通过命令  代码如下 复制代码 du -h –max-depth=1 / 查看根目录下每个文件夹所占用存储的大小,发现/var占用了快3G,进一步使用du命令,发现是存放mysql数据文件的文件夹占用了绝大部分空间,进入该文件夹,发现有很多mysql-bin.00000开头的文件,而且其中的某些达到了1G以上,google发现原来这些用户是mysql记录的日志文件,用于数据库崩溃后恢复数据和主从数据库进行数据同步的.如

CentOS6.4安装配置mysql 5.6服务器方法

一.依赖包安装  代码如下 复制代码 yum -y install gcc gcc-c++ autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* cmake cmake-gui libaio-devel bison-devel make 二.下载及安装Mysql  代码如下 复制代码 wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql

详解rsyslog+loganalyzer+evtsys搭建集中式监控系统

一.服务端的安装 YUM源新建,如果有的话,可以省略 # cat >> /etc/yum.repos.d/sohu.repo <<EOF [sohu] name=sohu's mirrors baseurl=http://mirrors.sohu.com/centos/5/os/x86_64/ enabled=1 gpgcheck=0 EOF 安装LAMP环境及rsyslog,如果有LAMP,只需要安装rsyslog rsyslog-mysql即可 yum install rsys

Ubuntu 16.04下部署Graylog日志服务器

Graylog 是一个开源的日志管理系统,集中式收集.索引.分析其它服务器发来的日志.它是由 Java 语言编写的,能够接收 TCP.UDP.AMQP 协议发送的日志信息,并且使用 Mongodb 做为后台数据库.它还有一个使用 Ruby 编写的 Web 管理接口,可以轻松管理 Graylog 和查询日志. Graylog 可以收集监控多种不同应用的日志.本文只是会为了示范说明,会把用到的组件全部安装到一个单独的服务器上.对于大型.生产系统你可以把组件分开安装在不同的服务器上,这样可以提高效率.

Linux CentOS6.6系统中安装mysql源码包的方法_Linux

这里以CentOS6.6系统中安装MySQL的源码包,进行讲解. 1. mysql源码包的下载 mysql安装包的官方下载地址为:http://dev.mysql.com/downloads/mysql/5.6.html 打开该下载地址后,在 "Select Version:"处,选择要下载的mysql的版本,我选择的是5.6.34:在"Select Platform:"处,选择适用的操作系统类型,由于是下载源码包,故这里我们要选择Source Code. 之后,会