通过loganalyzer展示数据库中的SYSLOG日志

环境准备

三台主机
    一台日志服务器,利用上一个案例实现,IP:192.168.39.7,
    一台数据库服务器,利用上一个案例实现,IP:192.168.39.27,
    一台当httpd+php 服务器,并安装loganalyzer展示web图形,IP:192.168.39.77

    日志服务器工具  loganalyzer-4.1.8.tar.gz

准备服务器:

# 日志服务器
[[email protected] ~]$hostname rsyslog
[[email protected] ~]$exit
[[email protected] ~]$
# 数据库服务器
[[email protected] ~]$hostname mysql
[[email protected] ~]$exit
[[email protected] ~]$
# websrv服务器
[[email protected] ~]# hostname websrv
[[email protected] ~]# exit
[[email protected] ~]$

日志服务器:

  1. 在rsyslog服务器上安装连接mysql模块相关的程序包
[[email protected] ~]$yum install rsyslog-mysql -y
  1. 找到sql脚本发送到数据库
# 下载辅助软件查找
[[email protected] ~]$yum install mlocate
[[email protected] ~]$updatedb   # 更新数据库信息
[[email protected] ~]$locate mysql-createDB.sql   # 使用locatedb查找脚本文件存放路径
/usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql

[[email protected] ~]$cat /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql   # 脚本文件内容
CREATE DATABASE Syslog;
USE Syslog;
CREATE TABLE SystemEvents
(
        ID int unsigned not null auto_increment primary key,
        CustomerID bigint,
        ReceivedAt datetime NULL,
        DeviceReportedTime datetime NULL,
        Facility smallint NULL,
        Priority smallint NULL,
        FromHost varchar(60) NULL,
        Message text,
        NTSeverity int NULL,
        Importance int NULL,
        EventSource varchar(60),
        EventUser varchar(60) NULL,
        EventCategory int NULL,
        EventID int NULL,
        EventBinaryData text NULL,
        MaxAvailable int NULL,
        CurrUsage int NULL,
        MinUsage int NULL,
        MaxUsage int NULL,
        InfoUnitID int NULL ,
        SysLogTag varchar(60),
        EventLogType varchar(60),
        GenericFileName VarChar(60),
        SystemID int NULL
);

CREATE TABLE SystemEventsProperties
(
        ID int unsigned not null auto_increment primary key,
        SystemEventID int NULL ,
        ParamName varchar(255) NULL ,
        ParamValue text NULL
);

[[email protected] ~]$scp /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql 192.168.39.27:/root  # 发送到数据库服务器
The authenticity of host ‘192.168.39.27 (192.168.39.27)‘ can‘t be established.
ECDSA key fingerprint is SHA256:XVNFzEbN3eaCzTwYrlQg2SzHZXHbd0dS0YKLuIOXVr0.
ECDSA key fingerprint is MD5:df:4d:86:ba:0c:e6:c1:a2:6c:45:71:e9:ac:ea:1d:a5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘192.168.39.27‘ (ECDSA) to the list of known hosts.
[email protected]‘s password:
mysql-createDB.sql                            100% 1046   588.1KB/s   00:00

 

  1. 修改配置文件启动服务模块并且写如数据库信息(用于给数据库服务器发送日志信息)
# The imjournal module bellow is now used as a message source instead of imuxsock.
$ModLoad ommysql   # 添加这一行

# Don‘t log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
*.info;mail.none;authpriv.none;cron.none                :ommysql:192.168.39.27,Syslog,syslog,taotaobao
#配置rsyslog将日志保存到mysql中
[[email protected] ~]#vim /etc/rsyslog.conf
####MODULES####
#在 MODULES 语言下面,如果是 CentOS 8 加下面行
module(load="ommysql")
#在 MODULES 语言下面,如果是 CentOS 7,6 加下面行
$ModLoad ommysql

数据库服务器:

  1.安装数据库

[[email protected] ~]$yum install mariadb-server -y

[[email protected] ~]$systemctl start mariadb.service 

  2.执行考过来的脚本

[[email protected] ~]$mysql <
anaconda-ks.cfg     .cshrc              .tcshrc
.bash_history       ifcfg-eth0          .viminfo
.bash_logout        init_env_191113.sh  .vimrc
.bash_profile       mysql-createDB.sql
.bashrc             .pki/
[[email protected] ~]$mysql < mysql-createDB.sql   # 直接导入数据库

  3.创建Syslog库使用的账号

[[email protected] ~]$mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]> grant all on Syslog.* to [email protected]‘192.168.39.%‘ identified by ‘taotaobao‘;  # 注意这里的数据库名要对应执行的sql脚本里的数据库名。
Query OK, 0 rows affected (0.00 sec)

测试日志服务器和数据库是否连接:

  • 数据库端查看Syslog库没启动服务之前是空的
MariaDB [Syslog]> show tables;
+------------------------+
| Tables_in_Syslog       |
+------------------------+
| SystemEvents           |
| SystemEventsProperties |
+------------------------+
2 rows in set (0.00 sec)

MariaDB [Syslog]> 

MariaDB [Syslog]> SELECT COUNT(*) FROM SystemEvents;
+----------+
| COUNT(*) |
+----------+
|        0 |
+----------+
1 row in set (0.00 sec)
  • 启动rsyslog服务
[[email protected] ~]$systemctl restart rsyslog.service

[[email protected] ~]$logger "this is a test log" # 日志服务器触发日志(logger触发日志命令)
  • 查看数据库是否有数据(可以多测试几遍)
MariaDB [Syslog]> SELECT COUNT(*) FROM SystemEvents;
+----------+
| COUNT(*) |
+----------+
|        8 |
+----------+
1 row in set (0.00 sec)

websrv服务器端:

  1.解压缩工具

[[email protected] ~]# ll
-rw-r--r--  1 root root 2943754 Oct 10 13:04 loganalyzer-4.1.8.tar.gz # web界面日志服务工具包
[[email protected] ~]# tar xvf loganalyzer-4.1.8.tar.gz

  2.安装需要的服务实现LAMP架构

# 注意这里的php版本一定要是在5.6版本相同或以上要不这个软件不支持
[[email protected] ~]# yum install httpd php56-php-fpm.x86_64 php56-php-mysqlnd.x86_64 -y

  3.把loganalyzer需要的目录切到网站目录下

[[email protected] loganalyzer-4.1.8]# ll
total 100
drwxrwxr-x 13 root root 4096 Sep 26 23:41 src
-rw-rw-r-- 1 root root 48571 Sep 26 23:41 ChangeLog
drwxrwxr-x 2 root root    43 Sep 26 23:41 contrib
-rw-rw-r-- 1 root root 35497 Sep 26 23:41 COPYING
drwxrwxr-x 3 root root   258 Sep 26 23:41 doc
-rw-rw-r-- 1 root root  8449 Sep 26 23:41 INSTALL

[[email protected] loganalyzer-4.1.8]# mv src/ /var/www/html/log  # 切到网站目录下

[[email protected] loganalyzer-4.1.8]# ll /var/www/html/
total 4
drwxrwxr-x 13 root root 4096 Sep 26 23:41 log

# 修改所有者为apache
[[email protected] loganalyzer-4.1.8]# cd /var/www/html/
[[email protected] html]# chown -R apache.apache log/

  4.修改httpd配置文件支持php-fpm

# 添加index.php
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

  5.web界面测试

  • 进行检测
  • 这里如果错了可能会显示没有用于写的文件
  • 解决方法(是缺少这个文件导致的)
[[email protected] html]# cd log/
[[email protected] log]# pwd
/var/www/html/log
[[email protected] log]# touch config.php  # 创建这个文件
[ro[email protected] log]# chmod 666 config.php # 给这个文件所有人可读和可写权限(根据工作需求更改)
  • 这些信息是最后显示的日志格式是什么样的
  • 填写数据库的信息
  • 查看添加的表名
[[email protected] ~]$mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]> 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
MariaDB [Syslog]> show tables;
+------------------------+
| Tables_in_Syslog       |
+------------------------+
| SystemEvents           |   # 这个表是作为存储日志信息使用的
| SystemEventsProperties |
+------------------------+
2 rows in set (0.00 sec)
  • 成功

  • 查看报告书界面(但是没有饼状图不清晰)
[[email protected] html]# yum install php56-php-gd.x86_64 -y  # 支持画饼状图的包
[[email protected] html]# systemctl restart httpd.service php56-php-fpm.service  # 重启服务

  

    • 刷新web界面(这样就会产生比较清晰的饼状图)

原文地址:https://www.cnblogs.com/Leslieblog/p/12312094.html

时间: 2024-10-31 16:32:34

通过loganalyzer展示数据库中的SYSLOG日志的相关文章

通过loganalyzer展示数据库中的日志

目的:通过loganalyzer展示数据库中的日志 准备环境: ??CentOS7_1:用来生成日志??CentOS7_2:用来存放日志的数据库??CentOS7_3:LAP服务器? 第一步:在CentOS7_2安装mysql数据库 ??此处使用二进制安装mariadb,可参考:???? https://blog.51cto.com/14230410/2385780??安装好mysql后,还需要安装rsyslog-mysql yum install rsyslog-mysql -y ??安装后可

理解数据库中的undo日志、redo日志、检查点

理解数据库中的undo日志.redo日志.检查点 2014-6-18 原文:https://www.letiantian.me/2014-06-18-db-undo-redo-checkpoint/ 数据库存放数据的文件,本文称其为data file.数据库的内容在内存里是有缓存的,这里命名为db buffer.某次操作,我们取了数据库某表格中的数据,这个数据会在内存中缓存一些时间.对这个数据的修改在开始时候也只是修改在内存中的内容.当db buffer已满或者遇到其他的情况,这些数据会写入da

展示数据库中的帖子内容

从数据库中进行查询和列出表中内容 下图是数据表user_fatie的结构 下图是数据表user_fatie 的内容 第一个页面是list.php.展示数据表user_fatie中的内容 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title> 6 帖子列表 7 </title> 8 </head> 9 <body&

异步往数据库中插入每个用户的增删改操作日志

[x] ++我们需要一个工具类++ 用工具类异步向数据库中插入用户的操作日志 工具类代码如下: package com.dp.api.util; import com.dp.common.dao.DaoUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframew

SQL Server中的事务日志管理(9/9):监控事务日志

当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会告诉你每个DBA应该知道的具体细节. 对于在我们关注下的所有数据库,在日志维护方面,我们的首要目标是最优化写性能,为了支持SQL Server写入日志的所有活动,包括数据修改,数据读取,索引维护等等.但是,留意下可能的日志碎片也是重要的,如前面文章介绍的,它会影响需要读取日志的过程性能,例如日志备份

syslog 日志

syslog日志是系统日志的一种,可以存放在本地也可以发送到syslog日志服务器, 但是syslog日志由于的格式不统一,在日常工作中审计syslog日志是一种很麻烦的 事情.不过在2001出现了一份关于syslog标准的协议(建议). 生成发送日志的叫做:Device 转发的叫做:Relay(可以作为Device或Coolector) 接收的叫做:Collector 传输标准使用UDP,消息大小小于1024个字节,端口使用514 PS:只是建议. syslog日志可以分为三部分: 4.1 s

十、syslog日志与loganalyzer日志管理

10.1.rsyslog简介 syslog是一个历史悠久的日志系统.几乎所有的UNIX和Linux操作系统都采用syslog进行系统日志的管理和配置.Linux系统内核和许多程序会产生各种错误信息.警告信息和其他的提示信息.syslog可以根据信息的来源以及信息的重要程度将信息保存到不同的日志文件中.在默认的syslog配置下,日志文件通常都保存在/var/log目录下,在Centos6中,syslog的守护进程为rsyslog,系统启动时,默认会自动运行rsyslog守护进程. 在syslog

Yii2 将日志记录到数据库中

Yii2默认日志记录到文件中,通过配置log组件来重新将日志保存到数据库中 打开config目录下console.php文件,修改log配置 'log' => [ 'targets' => [ [ 'class' => 'yii\log\DbTarget', 'levels' => ['error', 'warning'], ], ], ], 打开cmd 命令行,进入Yii根目录,开始创建数据库 yii migrate [email protected]/log/migration

kettle作业(job)调用转换,设置变量,写日志到数据库中【转】

首先建立转换:从数据库表到日志 表输入的设置: 日志设置: 新建job: 转换选择刚才建好的输出日志转换.变量设置如下: 此ID就是转换中的${ID},执行job,可以看到控制台输出日志结果: 黑色字体部分中只写出了id=1的一条记录. 最后补充,将转换的日志写到数据库中:打开转换>ctrl+t>日志选项卡>转换>点击下面的SQL,执行SQL建表.执行完job会在数据库中写入日志记录.