共计 3997 个字符,预计需要花费 10 分钟才能阅读完成。
前言
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://www.linuxidc.com/Linux/2016-11/137657.htm,这里有详细的安装过程。
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 数据库中是很好管理和分析的,这个页面也很直观的看出了这些日志信息,在此,大神有什么觉得不妥的万望指出哦,在此先谢谢你的关注了。
Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm
CentOS 5.9 下编译安装 LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12) http://www.linuxidc.com/Linux/2013-03/80333p3.htm
Rsyslog+MySQL+Loganalyzer 搭建日志服务器 http://www.linuxidc.com/Linux/2016-09/134849.htm
LAMP 源码环境搭建 WEB 服务器 Linux+Apache+MySQL+PHP http://www.linuxidc.com/Linux/2013-05/84882.htm
CentOS 6.3 下利用 Rsyslog+LogAnalyzer+MySQL 部署日志服务器 http://www.linuxidc.com/Linux/2013-07/86956.htm
CentOS 6.5+Rsyslog+LogAnalyzer 搭建中央日志服务器 http://www.linuxidc.com/Linux/2014-06/102867.htm
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
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-11/137656.htm