rsyslog+MySQL+loganalyzer日志集中分析管理

前言  
rsyslog系统日志,在CentOS5上叫syslog,而在CentOS6上叫rsyslog,叫增强版的syslog,CentOS5上的配置文件在/etc/syslog.conf下,而CentOS6在/etc/rsyslog.conf下。    
   syslog默认是把我们的日志放到文件、用户、日志服务器、管道中。    
   rsyslog在syslog的基础上还多了一条途径,允许把日志放到mysql数据中。    
   rsyslog比syslog好在哪里:    
   Multi-threading:多线程    
   TCP, SSL, TLS, RELP:支持tcp协议,ssh加密,支持RCLP协议    
   MySQL, PostgreSQL, Oracle and more:支持日志存放在这些数据库中    
   Filter any part of syslog message:支持自定义过滤器过滤一些信息    
   Fully configurable output format:支持输出格式的完全自定义    
   Suitable for enterprise-class relay chains:并且特别适用于企业级的日志收集    
日志是什么:通俗来讲就是记录过去所发生过的历史信息,而我们的系统日志有多种,比如说有错误日志、二进制日志、事物日志、中断日志、查询日志等,在这些日志中,除了事物日志,绝大多数据的日志都叫做历史日志,记录了我们系统中过去一段时间所发生的事情。    
   日志有日志级别:priority优先级    
   debug:调试,所谓调试就是不分轻重缓急,只要发生了就一律记录下来    
   info:任何时候程序正常输出的信息,而不是说调试信息,都记录下来,如果定义了一个级别后这个级别以及比这个级别高的的级别都会被记录下来的。    
   notice:注意,提醒用户要注意了    
   warning:警告,提醒用户说可能会发生一些比较严重的问题了    
   err:某个功能发有错误发生,必须要进行处理的    
   crit:比err更严重了,现在不处理可能过一会就要挂了    
   alert:红色警报,比crit更严重,需要马上处理    
   emerg,panic:立马挂掉    
   我们系统上运行了行行***的软件,有很多都是服务级别的软件,这些软件都有可以产生日志,那日志记哪去,由谁来记录,记到哪个文件当中,记录哪个级别,如果都一个程序的日志都需要自己去定义,那就变得非常的麻烦,而绝大多数软件的日志信息都比较简单,没必要说自己去定义管理自己的日志,那由此我们就用到syslog,他是个服务,什么事也不干,他有两个进程,syslogd和klogd,一个是记录系统级别的日志信息,一个是记录内核级别的日志信息,而syslog他本身运行为一个服务,如果有人需要记录日志的话就把日志发给syslog,由syslog来帮记录,至于记录到哪去由syslog自己来判定,所以可以把他理解成是一个日志的框架,他是为了实现某种特定功能、为了承接各种用到这种功能的软件,而且能够实现低层帮更多软件记录日志的这么一种机制的,还有如果日志过多,那我们日后查找日志也不方便,那我们就要把日志分类管理了,这就是所说的设施(facility)了,从功能可程序上对日志信息进行分类,    
   LogAnalyzer 是一个 syslog 和其他网络事件数据的 Web 前端工具,提供简单易用的日志浏览、搜索和基本分析以及图表显示读取到的日志进行分析的,一般我们都使用数据库的loganalyzer结合起来分析管理集中日志。    
实现rsyslog日志集中到mysql+loganalyzer管理分析    
   1、安装mysql,这个安装过程这里不再说明,前面的博文中我们已经详细说过了,可以参考博文:总结之:CentOS 6.5 LAMP分主机平台的搭建及测试http://tanxw.blog.51cto.com/4309543/1386381,这里有详细的安装过程。    
   1、安装loganalyzer

# tar xvzf loganalyzer-3.6.4.tar.gz

# cd loganalyzer-3.6.4

# mkdir /usr/local/apache/htdocs/syslog

把这两个src、contrib目录下的所有文件移动你本机能解析PHP路径下的web路径下。

# mv src/* /usr/local/apache/htdocs/syslog/

# mv contrib/* /usr/local/apache/htdocs/syslog/

# chmod u+x /usr/local/apache/htdocs/syslog/*.sh

# cd /usr/local/apache/htdocs/syslog/

# ./configure.sh

# ./secure.sh

# chmod 666 config.php

把这个目录下的所有文件的属主属组都改为apache运行的进程名

# chown -R daemon.daemon *

2、编辑rsyslog的配置文件

# vim /etc/rsyslog.conf

$ModLoad ommysql 这一项必须定义在Module一段中

ommysql:这个表示装载的模块名;Syslog表示数据名;rsysloguser,rsyslogpass这两个是用户和密码

*.*     :ommysql:127.0.0.1,Syslog,rsysloguser,rsyslogpass

接着安装要rsyslog-mysql、php和php-mysql并导入数据定义的脚本,/usr/share/doc/rsyslog-mysql/createDB.sql

# yum -y install php php-mysql

# yum -y install rsyslog-mysql

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

导入数据库

# mysql < /usr/share/doc/rsyslog-mysql/createDB.sql

3、登录数据库,给用户rsysloguser授权,密码为rsyslogpass

# mysql

mysql> GRANT ALL ON Syslog.* TO ‘rsysloguser‘@‘127.0.0.1‘ IDENTIFIED BY ‘rsyslogpass‘;

mysql> GRANT ALL ON Syslog.* TO ‘rsysloguser‘@‘localhost‘ IDENTIFIED BY ‘rsyslogpass‘;

mysql> FLUSH PRIVILEGES;

启动服务,页面上输入地址测试安装:

# service rsyslog start

如果安装好之后连接不上数据库,提示说不能通过/var/lib/mysql/mysql.sock连接数据,那就在/var/lib/下创建mysql目录文件,再把/tmp/mysql.sock套接字文件链接到/var/lib/mysql/目录下去就可以连接上了:

# mkdir /var/lib/mysql

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

http://172.16.27.1/syslog

结束:  
  对日志的集中式存放和管理,放在mysql数据库中是很好管理和分析的,这个页面也很直观的看出了这些日志信息.

rsyslog+MySQL+loganalyzer日志集中分析管理,布布扣,bubuko.com

时间: 2024-08-02 06:58:57

rsyslog+MySQL+loganalyzer日志集中分析管理的相关文章

rsyslog + mysql + loganalyzer 构建日志服务器

rsyslog支持的特性 支持多线程 支持tcp,ssl,tls.relp 可以把日志存储于关系型数据库中 支持过滤器,可以实现过滤日志中的任意部分. 支持自定义格式 适用于企业级的日志记录需求. 功能模块化 rsyslog用facility接收各个应用和程序的日志,并把日志分类.有以下几类 auth        与认证相关的 authpriv 与用户认证授权相关的,如用户登陆 cron     与周期任务相关的 daemon    与守护进程相关的 kern        与内核相关的 lp

django+nginx+xshell简易日志查询,接上&lt;关于《rsyslog+mysql+loganalyzer搭建日志服务器&lt;个人笔记&gt;》的反思&gt;

纠正一下之前在<关于<rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>>的反思>中说到的PHP+MySQL太慢,这里只是说我技术不好,没有技术可以修改这个开源的php日志程序罢了,当然,在做这个的时候,也是菜鸟一个,只是想自己尝试一下.高手可以直接跳过..... 首先,写在前面,因为上班空闲时间不多,只有忙里偷闲或自己回家的时间弄下,所以这个前后的时间就比较久了. 之前在上篇写到,是准备使用apache+django来搭建的,但是真的,我折腾

rsyslog+mysql+loganalyzer 环境搭建日志服务器

环境:CentOS6.6 rsyslog+mysql+loganalyzer 环境搭建日志服务器 Client端:    192.168.2.10 MySQL服务器:  192.168.2.11 # Client端安装必备的软件包 yum install rsyslog-mysql -y 生成了2个文件: /lib64/rsyslog/ommysql.so           #rsyslog支持数据库的模块文件 /usr/share/doc/rsyslog-mysql-5.8.10/creat

Centos6上rsyslog应用(rsyslog+mysql+loganalyzer)

1.配置日志服务器,         (1)启用日志服务器的功能:(UDP和TCP开启一个即可) # Provides UDP syslog reception             $ModLoad imudp--------开启udp开启记录其他机器的             $UDPServerRun 514-------监听在514端口上 # Provides TCP syslog reception             $ModLoad imtcp             $In

rsyslog+mysql+loganalyzer

在Linux系统上面,系统可以记录从开机到当前系统上面何时发生了什么事情,并将其分类,分级写到特定的日志文件当中,如系统自身产生的问题,用户登录信息,网络数据信息等等. 在CentOS上面有一个rsyslog专门负责记录系统日志上信息,虽然rsyslog的功能足够强大,但是通常的日志文件都只是以文字的形式表现出来,如果我们将其与loganalyzer结合起来就能实现日志信息的图形化展示,下面我们在一台主机上简单实现一下rsyslog+mysql+loganalyzer结合起来,以实现日志信息的图

在CentOS6.5上搭建RSYSLOG & MySQL & LogAnalyzer平台

写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正.如有不明白的地方,愿可一起探讨. 安装apache 在CentOS6.5上默认情况下,已经安装了Apache.如果没有安装,进行如下步骤进行安装: # yum -y install httpd 启动httpd服务 # service httpd start 设置httpd服务开机启动 # chkconfig httpd on 测试httpd 在浏览器中键入你服务器的IP地址,如得到下面结果证明测试成功 安装MySQL 安装mys

[转载]mysql慢日志文件分析处理

原文地址:mysql慢日志文件分析处理作者:maxyicha mysql有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的,为了开启这个功能,要修改my.cnf或者在mysql启动的时候加入一些参数. 如果在my.cnf里面修改,需增加如下几行long_query_time = 10log-slow-queries = long_query_time 是指执行超过多久的sql会被log下来,这里是10秒.log-slow-queries 设置把日志写在那里,为空的时候,

Rsyslog+MySQL+LogAnalyzer部署日志服务器

实验要求 搭建可视化日志搜集分析平台,用于集中搜集日志,并通过可视化日志分析工具呈现: Apps Server是要搜集日志的Nodes,可以有多台,这里我只用1台Node: Rsyslog Server是统一接收各Nodes提交过来的日志,监听在TCP/UDP 514节点: MySQL Server是用于存储提交的日志信息,做独立服务器,也可做Cluster: LogAnalyzer是一款基于LAMP的可视化日志分析工具,后端查询数据库,将结果整理输出: 拓扑如下: 实现机理 Linux上的Rs

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

软件提供的功能: 1.rsyslog是RHEL或centos系统6.x版本的日志服务,代替以前系统的syslog服务.在这个架构中rsyslog服务主要是收集日志的功能,把日志归类,写入数据库. 2.mysql是简单的数据库,在这个架构中主要任务是存放收集过来的日志信息,以便提供给loganalyzer软件来显示出来. 3.loganalyzer是一个日志分析工具,比较简单.在这个架构中主要是从mysql数据库中提取数据依条形和图形直观的显示出来,提供筛选.搜索.归类.统计等功能. 4.evts