CentOS 6.5下的lamp环境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管理分析
一、通过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实现日志集中分析管理的更多相关文章
- django+nginx+xshell简易日志查询,接上<关于《rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>》的反思>
纠正一下之前在<关于<rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>>的反思>中说到的PHP+MySQL太慢,这里只是说我技术不好,没 ...
- 关于《rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>》的反思
关于<rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>>的反思--链接--http://www.cnblogs.com/drgcaosheng/p/ ...
- CentOS 6.5下搭建LAMP环境详细步骤
1.确认搭建LAMP所需的环境是否已经安装: [root@localhost ~]#rpm -q make gcc gcc-c++ zlib-devel libtool libtool-ltdl li ...
- rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>
大概思路如下: 使用Linux自带的rsyslog服务来做底层,然后再使用mysql与rsyslog的模板来存储文件,并且以web来进行显示出来.<模板的存储以日期的树形结构来存储,并且以服务器 ...
- 64位CentOS 6.0下搭建LAMP环境
系统环境:Centos6.0 x64 1.确认搭建LAMP所需要的环境是否已经安装 [root@centos6 ~]# rpm -q make gcc gcc-c++ zlib-devel libai ...
- CentOS下搭建LAMP环境详解
前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS ...
- linux下搭建lamp环境以及安装swoole扩展
linux下搭建lamp环境以及安装swoole扩展 一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源 我安装的环境是:apache2.2.15+mysql5 ...
- 转:CentOS/Debian/Ubuntu一键安装LAMP(Apache/MySQL/PHP)环境
CentOS/Debian/Ubuntu一键安装LAMP(Apache/MySQL/PHP) 今天遇到一个网友提到需要在Linux VPS服务器中安装LAMP(Apache/MySQL/PHP)网站环 ...
- Centos6.4版本下搭建LAMP环境
Centos6.4版本下搭建LAMP环境 配置yum mkdir/mnt/cdrom mount/dev/cdrom /mnt/cdrom 装载光盘 vi /etc/yum.repos.d/Cent ...
随机推荐
- [SDOI2016]储能表——数位DP
挺隐蔽的数位DP.少见 其实减到0不减了挺难处理.....然后就懵了. 其实换个思路: xor小于k的哪些都没了, 只要留下(i^j)大于等于k的那些数的和以及个数, 和-个数*k就是答案 数位DP即 ...
- [luoguU42591][小T的绝对值]
luoguU42592 20分思路 对给出的序列求出前缀和,然后\(n^2\)暴力枚举即可拿到第一档分 40分思路 对于数列中的数都相同的情况.只需要特判即可.只要特别注意全都是0的情况即可. 100 ...
- go语言从零学起(四) -- 基于martini和gorilla实现的websocket聊天实例
如果只是想了解chat的实现方式,在gorilla和revel框架里面都有完整的chat实例可以提供参考.本篇讲解的是,如何基于martini实现websocket的聊天. 配置步骤: 1 已经安装了 ...
- Scala进阶之路-统计商家id的标签数以及TopN示例案例分析
Scala进阶之路-统计商家id的标签数以及TopN示例案例分析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.项目需求 将“temptags.txt”中的数据进行分析,统计出 ...
- php-fpm sock文件权限设置
在编译php-fpm时,若没有指定fpm用户,在配置文件中也没有指定用户,则sock文件会由root(启动php-fpm的用户)创建,其权限是srw-rw----. 而nginx一般由nginx用户启 ...
- 函数和常用模块【day06】:pickle模块(十二)
本节内容 1.dumps序列化和loads反序列化 2.dump序列化和load反序列化 3.序列函数 1.dumps序列化和loads反序列化 dumps()序列化 1 2 3 4 5 6 7 8 ...
- POJ - 3267 The Cow Lexicon(动态规划)
https://vjudge.net/problem/POJ-3267 题意 给一个长度为L的字符串,以及有W个单词的词典.问最少需要从主串中删除几个字母,使其可以由词典的单词组成. 分析 状态设置很 ...
- js 格式化时间、字符串指定长度、随机字符串
格式化字符串长度 方法 function formatWidth(str, width){ str += '' if(str.length<width) '+str, width) else r ...
- KillerBee
KillerBee介绍 KillerBee----是攻击zigbee和IEEE 802.15.4网络的框架和工具.使用killerBee工具和一个兼容的IEEE 802.15.4无线接口,你就能窃取z ...
- C# 面向对象的base的使用
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...