rsyslog+logAnalyzer+MySQL日志服务器

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

ryslog 是一个快速处理收集系统日志的程序,提供了高性能、安全功能和模块化设计。rsyslog syslog的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍,现在可以处理100万条信息

LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案。

LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,推荐使用后者。

LogAnalyzer 采用php开发,所以日志服务器需要php的运行环境,本文采用LAMP/LNMP


实验环境

centos6.9_x64

server:192.168.1.128  rsyslog+logAnalyzer

client:192.168.1.135  rsyslog


实验软件

loganalyzer-3.6.5.tar.gz


软件安装

yum clean all

yum makecache -y

yum install rsyslog-mysql –y

yum install -y httpd* mysql mysql-devel mysql-server php php-gd php-xml php-mysql


vim/etc/httpd/conf/httpd.conf 

#ServerNamewww.example.com:80

ServerName       *:80


#AddTypeapplication/x-tar .tgz

AddTypeapplication/x-tar .tgz

AddTypeapplication/x-httpd-php .php


service mysqld restart

service httpd restart


chkconfig --level 35 mysqld on

chkconfig --level 35 httpd on 


mysqladmin  -uroot password 数据库密码

mysql -uroot -p数据库密码

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.1.73 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>  


touch /var/www/html/test.php

vim /var/www/html/test.php 

<?php

phpinfo();

?>


service httpd reload


http://192.168.1.128/test.php


wKiom1ko2rniLegVAAFJJ3_6yz8660.jpg-wh_50


mysql -uroot -p数据库密码 < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

mysql -uroot -p数据库密码


mysql> show databases;

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

| Database           |

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

| information_schema |

| Syslog             |

| mysql              |

| test               |

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

4 rows in set (0.00 sec)


mysql> use Syslog;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A


Database changed

mysql> show tables;

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

| Tables_in_Syslog       |

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

| SystemEvents           |

| SystemEventsProperties |

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

2 rows in set (0.00 sec) 


mysql> grant all on Syslog.* to rsyslog@localhost identified by '123456';

Query OK, 0 rows affected (0.00 sec)


mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)


mysql> exit

Bye


mysql -ursyslog -p数据库密码

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 8

Server version: 5.1.73 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 


vim /etc/rsyslog.conf


#### MODULES ####


$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)

$ModLoad imklog   # provides kernel logging support (previously done by rklogd)

#$ModLoad immark  # provides --MARK-- message capability

$ModLoad immark  # provides --MARK-- message capability 修改为


$ModLoad ommysql

*.* :ommysql:localhost,Syslog,rsyslog,123456 添加两行配置


# Provides UDP syslog reception

#$ModLoad imudp

#$UDPServerRun 514


# Provides UDP syslog reception

$ModLoad imudp

$UDPServerRun 514   修改为


# Provides TCP syslog reception

$ModLoad imtcp

$InputTCPServerRun 514


service rsyslog restart


netstat -tuplna | grep rsyslog

udp        0      0 0.0.0.0:48048               0.0.0.0:*                               2687/rsyslogd   


ps -aux | grep rsyslog

Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ

root      2687  0.0  0.1 189956  1568 ?        Sl   11:06   0:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5

root      2695  0.0  0.0 103332   884 pts/0    S+   11:07   0:00 grep rsyslog


chkconfig --level 35 rsyslog on    以上所有操作为 server端操作



rpm -qa | grep rsyslog  client端操作

yum install -y rsyslog


vim /etc/rsyslog.conf

*.* @192.168.1.128     最后一行添加 192.168.1.128 server端ip


service rsyslog restart

chkconfig --level 35 rsyslog on 


netstat -tuplna | grep rsyslog

udp        0      0 0.0.0.0:48048               0.0.0.0:*                               2687/rsyslogd   


ps -aux | grep rsyslog

Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ

root      2687  0.0  0.1 189956  1568 ?        Sl   11:06   0:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5

root      2695  0.0  0.0 103332   884 pts/0    S+   11:07   0:00 grep rsyslog


vim /etc/bashrc

export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }' 最后一行写入

source /etc/bashrc 


service端测试

tailf  /var/log/messages

May 27 11:11:24 centos6 dhclient[1549]: DHCPACK from 192.168.1.254 (xid=0x41231c53)

May 27 11:11:26 centos6 dhclient[1549]: bound to 192.168.1.128 -- renewal in 835 seconds.

May 27 11:11:37 centos6-1 dhclient[1553]: DHCPREQUEST on eth0 to 192.168.1.254 port 67 (xid=0x15f81e3e)

May 27 11:11:37 centos6-1 dhclient[1553]: DHCPACK from 192.168.1.254 (xid=0x15f81e3e)

May 27 11:11:39 centos6-1 dhclient[1553]: bound to 192.168.1.135 -- renewal in 769 seconds.

May 27 11:12:32 centos6-1 root: [euid=root]:root pts/0 2017-05-27 09:15 (192.168.1.1):[/root]source /etc/bashrc

May 27 11:17:47 centos6-1 root: [euid=root]:root pts/0 2017-05-27 09:15 (192.168.1.1):[/root]clear

May 27 11:18:47 centos6-1 root: [euid=root]:root pts/0 2017-05-27 09:15 (192.168.1.1):[/root]dd

May 27 11:18:52 centos6-1 root: [euid=root]:root pts/0 2017-05-27 09:15 (192.168.1.1):[/root]dd

May 27 11:18:55 centos6-1 root: [euid=root]:root pts/0 2017-05-27 09:15 (192.168.1.1):[/root]de

May 27 11:18:56 centos6-1 root: [euid=root]:root pts/0 2017-05-27 09:15 (192.168.1.1):[/root]deer

May 27 11:18:57 centos6-1 root: [euid=root]:root pts/0 2017-05-27 09:15 (192.168.1.1):[/root]erwie

May 27 11:19:01 centos6-1 root: [euid=root]:root pts/0 2017-05-27 09:15 (192.168.1.1):[/root]clare

May 27 11:19:03 centos6-1 root: [euid=root]:root pts/0 2017-05-27 09:15 (192.168.1.1):[/root]clear

May 27 11:19:05 centos6-1 root: [euid=root]:root pts/0 2017-05-27 09:15 (192.168.1.1):[/root]dei

May 27 11:19:12 centos6-1 root: [euid=root]:root pts/0 2017-05-27 09:15 (192.168.1.1):[/root]dadfe  说明服务端可以接受客户端的日志


client端测试

[root@centos6-1 ~]# dei

-bash: dei: command not found

[root@centos6-1 ~]# dadfe

-bash: dadfe: command not found


tar zxvf loganalyzer-3.6.5.tar.gz

cd loganalyzer-3.6.5

mkdir -p /var/www/html/loganalyzer

cp -rv src/* /var/www/html/loganalyzer/


http://192.168.1.128/loganalyzer   192.168.1.128为服务端ip


wKioL1kpBz3jESU5AABDYFLU8pE849.jpg-wh_50


wKiom1kpBz7wNfq8AACpiDFjWyA747.jpg-wh_50


wKiom1kpBz6TevZaAAC3XQG2Yec965.jpg-wh_50


touch /var/www/html/loganalyzer/config.php

chmod 666 /var/www/html/loganalyzer/config.php


wKioL1kpBz-A-T3pAAC10F-C6bg292.jpg-wh_50



wKioL1kpBz_CbhyLAAEGdNzxBUo207.jpg-wh_50



wKiom1kpB0Cwvi3iAADjGKd3GaE682.jpg-wh_50


wKioL1kpB0CyZ9yQAAC2BnBxDtA578.jpg-wh_50


wKiom1kpB0LzE564AADlWINM9XA186.jpg-wh_50



wKiom1kpB0GgpThXAAD6VlTDiCE096.jpg-wh_50


wKioL1kpB0Gwe0MBAACiQft4iXU138.jpg-wh_50




wKiom1kpB0KTnc9XAAC49IHwsNQ294.jpg-wh_50


wKioL1kpB0PzCDrMAAEO9JXz7pM898.jpg-wh_50



wKioL1kpCBHSJm9SAAD6TLu1ovc348.jpg-wh_50


wKiom1kpCBHQrH0PAADx41OmTlg494.jpg-wh_50


wKioL1kpCCeSftLzAANdSeR_Uzs630.jpg-wh_50


ll /usr/local/nginx/html/loganalyzer/lang/

total 12

drwxr-xr-x 2 root  root  4096 Jun 19 13:19 de

drwxr-xr-x 2 root  root  4096 Jun 19 13:19 en

官网安装包默认没有中文语言包,下载复制到此目录即可切换中文


ll /usr/local/nginx/html/loganalyzer/lang/

total 12

drwxr-xr-x 2 root root 4096 Jun 19 13:19 de

drwxr-xr-x 2 root root 4096 Jun 19 13:19 en

drwxrwxr-x 2 root root 4096 Jun 19 13:36 zh


wKioL1lHZm_xgt2WAALLihyMs9k201.jpg-wh_50


wKiom1lHZnCRqzzbAAJsUMZEwjk905.jpg-wh_50




本文转自 mailfile 51CTO博客,原文链接:http://blog.51cto.com/mailfile/1930167,如需转载请自行联系原作者

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5天前
|
SQL 关系型数据库 MySQL
MySQL事务日志-Undo Log工作原理分析
事务的持久性是交由Redo Log来保证,原子性则是交由Undo Log来保证。如果事务中的SQL执行到一半出现错误,需要把前面已经执行过的SQL撤销以达到原子性的目的,这个过程也叫做"回滚",所以Undo Log也叫回滚日志。
MySQL事务日志-Undo Log工作原理分析
|
14天前
|
SQL 存储 关系型数据库
MySQL/SqlServer跨服务器增删改查(CRUD)的一种方法
通过上述方法,MySQL和SQL Server均能够实现跨服务器的增删改查操作。MySQL通过联邦存储引擎提供了直接的跨服务器表访问,而SQL Server通过链接服务器和分布式查询实现了灵活的跨服务器数据操作。这些技术为分布式数据库管理提供了强大的支持,能够满足复杂的数据操作需求。
58 12
|
20天前
|
SQL 存储 关系型数据库
Mysql并发控制和日志
通过深入理解和应用 MySQL 的并发控制和日志管理技术,您可以显著提升数据库系统的效率和稳定性。
91 10
|
16天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
45 3
|
2月前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
163 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
1月前
|
SQL 存储 缓存
MySQL进阶突击系列(02)一条更新SQL执行过程 | 讲透undoLog、redoLog、binLog日志三宝
本文详细介绍了MySQL中update SQL执行过程涉及的undoLog、redoLog和binLog三种日志的作用及其工作原理,包括它们如何确保数据的一致性和完整性,以及在事务提交过程中各自的角色。同时,文章还探讨了这些日志在故障恢复中的重要性,强调了合理配置相关参数对于提高系统稳定性的必要性。
|
2月前
|
SQL 关系型数据库 MySQL
【赵渝强老师】MySQL的全量日志文件
MySQL全量日志记录所有操作的SQL语句,默认禁用。启用后,可通过`show variables like %general_log%检查状态,使用`set global general_log=ON`临时开启,执行查询并查看日志文件以追踪SQL执行详情。
|
2月前
|
关系型数据库 MySQL 数据库
【赵渝强老师】MySQL的binlog日志文件
MySQL的binlog日志记录了所有对数据库的更改操作(不包括SELECT和SHOW),主要用于主从复制和数据恢复。binlog有三种模式,可通过设置binlog_format参数选择。示例展示了如何启用binlog、设置格式、查看日志文件及记录的信息。
186 6
|
2月前
|
SQL 关系型数据库 MySQL
【赵渝强老师】MySQL的慢查询日志
MySQL的慢查询日志用于记录执行时间超过设定阈值的SQL语句,帮助数据库管理员识别并优化性能问题。通过`mysqldumpslow`工具可查看日志。本文介绍了如何检查、启用及配置慢查询日志,并通过实例演示了慢查询的记录与分析过程。
204 3
|
2月前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL的撤销日志文件和错误日志文件
本文介绍了MySQL的物理存储结构,重点讲解了InnoDB存储引擎中的撤销日志文件(undo log)和错误日志文件。从MySQL 8.0开始,默认生成两个10MB的undo表空间文件,并支持动态扩容和收缩。错误日志文件记录了MySQL启动、运行、关闭过程中的问题,通过示例展示了如何查看和使用这些日志。

推荐镜像

更多