前言

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管理分析

一、通过yum安装lamp环境

# yum install -y httpd

# yum install -y php php-mysql mysql-server mysql





文件目录 /var/www/html/index.php





测试php和apache服务是否正常

<?php

phpinfo();

?>





启动mysql服务





# service mysqld start





测试数据库连接是否正常

<?php

$link = mysql_connect('localhost','root','');





if($link)

echo 'success';

else

echo 'fail';





?>

二、安装loganalyzer

1.解压并安装

# tar xf loganalyzer-3.6.4.tar.gz 

# cd loganalyzer-3.6.4

# mkdir /var/www/html/syslog

# ls

ChangeLog  contrib  COPYING  doc  INSTALL  src





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





# mv src/* /var/www/html/syslog/

# mv contrib/* /var/www/html/syslog/

# chmod u+x //var/www/html/syslog/*.sh

# cd /var/www/html/syslog/

# ./configure.sh 

# ./secure.sh 

# chmod 666 config.php





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

# chown -R apache.apache *



2.编辑rsyslog的配置文件

# vim /etc/rsyslog.conf

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

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

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

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

# yum -y install rsyslog-mysql

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

导入数据库

# mysql < createDB.sql 





验证是否导入成功

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| Syslog             |

| mysql              |

| test               |

+--------------------+





mysql> use Syslog;

mysql> show tables;

+------------------------+

| Tables_in_Syslog       |

+------------------------+

| SystemEvents           |

| SystemEventsProperties |

+------------------------+

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

# mysql

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

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

mysql> FLUSH PRIVILEGES;







重新启动日志服务,页面上输入地址测试安装(http://192.168.8.40/syslog/):

# service rsyslog restart

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

CentOS 6.5下的lamp环境rsyslog+MySQL+loganalyzer实现日志集中分析管理的更多相关文章

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

    纠正一下之前在<关于<rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>>的反思>中说到的PHP+MySQL太慢,这里只是说我技术不好,没 ...

  2. 关于《rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>》的反思

    关于<rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>>的反思--链接--http://www.cnblogs.com/drgcaosheng/p/ ...

  3. CentOS 6.5下搭建LAMP环境详细步骤

    1.确认搭建LAMP所需的环境是否已经安装: [root@localhost ~]#rpm -q make gcc gcc-c++ zlib-devel libtool libtool-ltdl li ...

  4. rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>

    大概思路如下: 使用Linux自带的rsyslog服务来做底层,然后再使用mysql与rsyslog的模板来存储文件,并且以web来进行显示出来.<模板的存储以日期的树形结构来存储,并且以服务器 ...

  5. 64位CentOS 6.0下搭建LAMP环境

    系统环境:Centos6.0 x64 1.确认搭建LAMP所需要的环境是否已经安装 [root@centos6 ~]# rpm -q make gcc gcc-c++ zlib-devel libai ...

  6. CentOS下搭建LAMP环境详解

    前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS ...

  7. linux下搭建lamp环境以及安装swoole扩展

    linux下搭建lamp环境以及安装swoole扩展   一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源  我安装的环境是:apache2.2.15+mysql5 ...

  8. 转:CentOS/Debian/Ubuntu一键安装LAMP(Apache/MySQL/PHP)环境

    CentOS/Debian/Ubuntu一键安装LAMP(Apache/MySQL/PHP) 今天遇到一个网友提到需要在Linux VPS服务器中安装LAMP(Apache/MySQL/PHP)网站环 ...

  9. Centos6.4版本下搭建LAMP环境

    Centos6.4版本下搭建LAMP环境 配置yum mkdir/mnt/cdrom mount/dev/cdrom  /mnt/cdrom 装载光盘 vi /etc/yum.repos.d/Cent ...

随机推荐

  1. pthread_cleanup_push()/pthread_cleanup_pop()的详解

    一般来说,Posix的线程终止有两种情况:正常终止和非正常终止.线程主动调用pthread_exit()或者从线程函数中return都将使线程正常退出,这是可预见的退出方式:非正常终止是线程在其他线程 ...

  2. 弹指之间 -- Polychord

    CHAPTER 19 复合和弦 Polychord 示例歌曲:爱很简单,恰是你的温柔

  3. shiro中自定义realm实现md5散列算法加密的模拟

    shiro中自定义realm实现md5散列算法加密的模拟.首先:我这里是做了一下shiro 自定义realm散列模拟,并没有真正链接数据库,因为那样东西就更多了,相信学到shiro的人对连接数据库的一 ...

  4. java程序中加入@SuppressWarnings("serial")是什么意思?

    比如有个类实现了java.io.Serialize接口:package com.onede4.test; public class TestSerial implements java.io.Seri ...

  5. P4315 月下“毛景树”

    P4315 月下"毛景树" 题目描述 毛毛虫经过及时的变形,最终逃过的一劫,离开了菜妈的菜园. 毛毛虫经过千山万水,历尽千辛万苦,最后来到了小小的绍兴一中的校园里. 爬啊爬~爬啊爬 ...

  6. Linux命令之rm

    rm命令 用处:删除文件 用法:在终端上输入rm加上要删除的文件的名字(如果有的话,包括后缀) 示例: (我要删除newfile这个文件)

  7. Linux命令之touch

    touch命令 用处:新建文件 (默认是文本,你可以自己加后缀) 用法:在终端中输入touch加上要新建的文件的名字(注意!同一目录下文件夹和文件是不允许同名的) 示例: (新建一个名字叫newfil ...

  8. JavaEE学习总结(十六)— Servlet

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...

  9. SQL记录-PLSQL基本语法与数据类型

    PL/SQL基本语法 PL/SQL是一种块结构的语言,这意味着PL/SQL程序被划分和编写代码的逻辑块.每块由三个子部分组成: S.N. 段和说明 1 声明 此部分开头使用关键字DECLARE.它是一 ...

  10. jdk8中奖Date转换为String格式的方法

    public static String getLocalDateStr(Date date,String formatter) { DateTimeFormatter dateTimeFormatt ...