总结之:CentOS 6.5 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    

1
2
3
4
5
6
7
8
9
10
11
12
13
# 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 *

   wKioL1NEpGDQn7OHAABhn1HJinw895.jpg

       

    2、编辑rsyslog的配置文件    

1
2
3
4
5
6
7
8
9
10
11
# 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

   wKiom1NEpJzi9ewYAAEpmEmwU8U559.jpg  

 

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

1
2
3
4
# 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;

   wKioL1NEpJaQE_oZAAFzxR4tUwU989.jpg

   wKioL1NEpLCyj3-XAAFNhR7CUF8082.jpg


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

   # 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    wKioL1NEpTLilQDZAAEqQpIWzO8493.jpg

wKiom1NEpYKimGNeAAJkW4JXpb8565.jpg

wKioL1NEpXSR-hkoAAG7SdV0dgo695.jpg

wKiom1NEpbOigAQ1AAGqCntplI4343.jpg

wKiom1NEpdHj9EjxAAHwHgHWqKQ274.jpg

wKiom1NEpeyCj2jwAAC4NlqqK4k574.jpg

wKioL1NEphnDl82gAAh1Eqik-fo296.jpg


结束:

   整理了一些操作步骤,对日志的集中式存放和管理,放在mysql数据库中是很好管理和分析的,这个页面也很直观的看出了这些日志信息,在此,大神有什么觉得不妥的万望指出哦,在此先谢谢你的关注了。










本文转自 wei0164 51CTO博客,原文链接:http://blog.51cto.com/tanxw/1392591,如需转载请自行联系原作者
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
12月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
2661 16
|
12月前
|
SQL 运维 关系型数据库
深入探讨MySQL的二进制日志(binlog)选项
总结而言,对MySQL binlogs深度理解并妥善配置对数据库运维管理至关重要;它不仅关系到系统性能优化也是实现高可靠性架构设计必须考虑因素之一。通过精心规划与周密部署可以使得该机能充分发挥作用而避免潜在风险带来影响。
388 6
|
12月前
|
监控 安全 搜索推荐
使用EventLog Analyzer进行日志取证分析
EventLog Analyzer助力企业通过集中采集、归档与分析系统日志及syslog,快速构建“数字犯罪现场”,精准追溯安全事件根源。其强大搜索功能可秒级定位入侵时间、人员与路径,生成合规与取证报表,确保日志安全防篡改,大幅提升调查效率,为执法提供有力证据支持。
430 0
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
881 10
|
SQL 监控 关系型数据库
MySQL日志分析:binlog、redolog、undolog三大日志的深度探讨。
数据库管理其实和写小说一样,需要规划,需要修订,也需要有能力回滚。理解这些日志的作用与优化,就像把握写作工具的使用与运用,为我们的数据库保驾护航。
1022 23
|
监控 安全 NoSQL
【DevOps】Logstash详解:高效日志管理与分析工具
Logstash是ELK Stack核心组件之一,具备强大的日志收集、处理与转发能力。它支持多种数据来源,提供灵活的过滤、转换机制,并可通过插件扩展功能,广泛应用于系统日志分析、性能优化及安全合规等领域,是现代日志管理的关键工具。
1692 0
|
人工智能 运维 监控
Aipy实战:分析apache2日志中的网站攻击痕迹
Apache2日志系统灵活且信息全面,但安全分析、实时分析和合规性审计存在较高技术门槛。为降低难度,可借助AI工具如aipy高效分析日志,快速发现攻击痕迹并提供反制措施。通过结合AI与学习技术知识,新手运维人员能更轻松掌握复杂日志分析任务,提升工作效率与技能水平。
|
12月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
663 158
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
12月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1764 152