阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

RPM方式搭建的LAMP+rsyslog+loganalyzer以实现集中式日志管理系统

400次阅读
没有评论

共计 8704 个字符,预计需要花费 22 分钟才能阅读完成。

日志系统中相关名词解释:
#facility: 设备(或日志类型):
auth#pam 产生的日志,认证日志
authpriv#ssh,ftp 等登录信息的验证信息,认证授权认证
cron# 时间任务相关
kern# 内核相关的日志
lpr# 打印
mail# 邮件相关的日志
mark(syslog) #rsyslog 服务内部的信息, 时间标识
news# 新闻组
user# 用户程序产生的相关信息
uucp#unix to unix copy, unix 主机之间相关的通讯
local 1-7# 自定义的日志设备
#priority: 日志级别:
debug# 有调式信息的,日志信息最多
info# 一般信息的日志,最常用
notice# 最具有重要性的普通条件的信息
warning, warn# 警告级别
err, error# 错误级别,阻止某个功能或者模块不能正常工作的信息
crit# 严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert# 需要立刻修改的信息
emerg, panic# 内核崩溃等严重信息
### 从上到下,级别从低到高,记录的信息越来越少,如果设置的日志内性为 info,则日志不会记录比 info 级别低的日志,只会记录比 info 更高级别的日志,也包括 info 本身的日志。
Target:日志存放位置,
# 文件, 如 /var/log/messages
# 用户,root,*(表示所有用户)
# 日志服务器,@172.16.1.2
# 管道 | COMMAND
rsyslog 支持通配机制:
*:所有
,: 列表
! : 取反

实验环境:
RHEL 6.4
clone2.victor.com 为 rsyslog 服务器,其 ip:192.168.222.133
ip 192.168.222.131 的主机位客户端

一.RPM 方式搭建的 LAMP+rsyslog 以实现集中式日志管理系统

1. 挂载光盘至 /mnt/cdrom, 配置本地 yum 源.
vim /etc/yum.repos.d/local.repo
[localbase]
name=RedHat6
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0

2.rmp 包方式搭建 LAMP 环境

yum -y insatll httpd MySQL mysql-server php php-mysql mysql-devel php-gd

httpd 用来提供 web 服务
php 使 apache 支持 php,因为 loganalyzer 是用 php 编写
php-mysql 用于 loganalyzer 连接数据库
php-gd 用于绘图
环境搭好之后启动 httpd 及 mysql 服务

3. 安装 rsyslog 以及 rsyslog 连接 mysql 的驱动

[root@clone2~]yum install rsyslog rsyslog-mysql
[root@clone2 ~]# rpm -ql rsyslog-mysql    #查看 rsyslog-mysql 生成哪些文件
/lib/rsyslog/ommysql.so
/usr/share/doc/rsyslog-mysql-5.8.10
/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

4. 创建日志文件的数据库
[root@clone2 ~]# cd /usr/share/doc/rsyslog-mysql-5.8.10/ # 查看日志文件的 sql 脚本
[root@clone2 rsyslog-mysql-5.8.10]# ls
createDB.sql
[root@clone2 rsyslog-mysql-5.8.10]# mysql -u root -p < createDB.sql  #导入日志文件的 sql 脚本,生成日志文件的数据库

mysql> show databases;  #此时登录 mysql 数据库,可以查看到生成了一个名为 Syslog 的数据库
+——————–+
| Database          |
+——————–+
| information_schema |
| Syslog  #记录日志文件的数据库(日志主要记录在 SystemEvents 这张表格中。)|
| mysql              |
| test              |
+——————–+

5.# 建立一个普通用户,授予此用户具有操控 Syslog 数据库的权限
mysql> GRANT ALL ON Syslog.* TO ‘rsysloguser’@’localhost’ IDENTIFIED BY ‘password’;
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL ON Syslog.* TO ‘rsysloguser’@’127.0.0.1’ IDENTIFIED BY ‘password’;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;

6. 配置 rsylog 服务器端:

编辑 rsyslog 的配置文件 /etc/rsyslog.conf
ModLoad imudp          #加载 udp 的模块
$UDPServerRun 514        #允许接收 udp 514 的端口传来的日志
$ModLoad imtcp          #加载 tcp 的模块
$InputTCPServerRun 514  #允许接收 tcp 514 的端口传来的日志
$ModLoad ommysql        #加载 mysql 的模块
*.* :ommysql:127.0.0.1,Syslog,rsysloguser,password  #添加这行,把其他行都注释掉,这行表示把所有的设施的所有日志都记录到数据库服务器中的 Syslog
数据库中,以 rsysloguser 用户,password 密码访问数据库
*.* :ommysql:127.0.0.1,Syslog(数据库名称),rsysloguser(用户名),rsyslogp@ss(密码)
[root@clone2 ~]# service rsyslog restart

7. 客户端(192.168.222.131)配置:
vim /etc/rsyslog.conf
*.* @192.168.222.133 #添加这一行,用于客户端和服务器端通信
service rsyslog restart

8. 测试:

在客户端 即 192.168.222.131 这台机器上
logger -p notice “test log from 192.168.222.131”
验证是否在远端服务器的 mysql 数据库里有日志记录:
mysql -ursysloguser -p
USE Syslog
SELECT * FROM SystemEvents;

************************** 1519. row ***************************
              ID: 1519
      CustomerID: NULL
      ReceivedAt: 2014-02-04 17:34:20
DeviceReportedTime: 2014-02-04 17:34:20
        Facility: 1
        Priority: 5
        FromHost: www
          Message:  test log from 192.168.222.131  #远程客户端的日志测试记录。
      NTSeverity: NULL
      Importance: NULL
      EventSource: NULL
        EventUser: NULL
    EventCategory: NULL
          EventID: NULL
  EventBinaryData: NULL
    MaxAvailable: NULL
        CurrUsage: NULL
        MinUsage: NULL
        MaxUsage: NULL
      InfoUnitID: 1
        SysLogTag: root:
    EventLogType: NULL
  GenericFileName: NULL
        SystemID: NULL
1519 rows in set (0.02 sec)

虽然日志存放在 mysql 数据库服务器中,是解决了日志集中管理,但是存放在 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

RedHat 5.4 下 Web 服务器架构之源码构建 LAMP 环境及应用 PHPWind http://www.linuxidc.com/Linux/2012-10/72484p2.htm

LAMP 源码环境搭建 WEB 服务器 Linux+Apache+MySQL+PHP http://www.linuxidc.com/Linux/2013-05/84882.htm

二、基于 web 的 loganalyzer 日志分析工具的搭建

所需软件包:
loganalyzer-3.6.4.tar.gz
1. 解压软件包,生成配置文件

[root@clone2 ~]# tar xvf loganalyzer-3.6.4.tar.gz
[root@clone2 ~]# cd loganalyzer-3.6.4
[root@clone2 ~]# mv src/* /usr/local/apache/htdocs/syslog/
[root@clone2 ~]# mv contrib/* /usr/local/apache/htdocs/syslog/
[root@clone2 ~]# chmod u+x /usr/local/apache/htdocs/syslog/*.sh
[root@clone2 ~]# ./configure.sh                                    #生成 loganalyzer 的配置文件 config.php
[root@clone2 ~]# ./secure.sh
[root@clone2 ~]# setfacl -m u:apache:rw config.php  #授予 apache 对 loganalyzer 配置文件的读写权限。
2. 建立 loganalyzer 所需的数据库,创建用户并授权。
MySQL> create database loganalyzer;
mysql>grant all on loganalyzer.* to ‘loganalyzer’@’loaclhost’ identified by ‘password’;
mysql>grant all on loganalyzer.* to ‘loganalyzer’@’127.0.0.1’ identified by ‘password’;
mysql>flush privileges;

3. 安装 loganalyzer
在浏览器中输入你的主机名(本机以 clone2.victor.com 为例)

RPM 方式搭建的 LAMP+rsyslog+loganalyzer 以实现集中式日志管理系统

RPM 方式搭建的 LAMP+rsyslog+loganalyzer 以实现集中式日志管理系统

RPM 方式搭建的 LAMP+rsyslog+loganalyzer 以实现集中式日志管理系统

RPM 方式搭建的 LAMP+rsyslog+loganalyzer 以实现集中式日志管理系统

RPM 方式搭建的 LAMP+rsyslog+loganalyzer 以实现集中式日志管理系统

RPM 方式搭建的 LAMP+rsyslog+loganalyzer 以实现集中式日志管理系统

RPM 方式搭建的 LAMP+rsyslog+loganalyzer 以实现集中式日志管理系统

RPM 方式搭建的 LAMP+rsyslog+loganalyzer 以实现集中式日志管理系统

RPM 方式搭建的 LAMP+rsyslog+loganalyzer 以实现集中式日志管理系统

Rsyslog 的详细介绍:请点这里
Rsyslog 的下载地址:请点这里

相关阅读:

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

CentOS 6.3 下利用 Rsyslog+LogAnalyzer+MySQL 部署日志服务器 http://www.linuxidc.com/Linux/2013-07/86956.htm

日志系统中相关名词解释:
#facility: 设备(或日志类型):
auth#pam 产生的日志,认证日志
authpriv#ssh,ftp 等登录信息的验证信息,认证授权认证
cron# 时间任务相关
kern# 内核相关的日志
lpr# 打印
mail# 邮件相关的日志
mark(syslog) #rsyslog 服务内部的信息, 时间标识
news# 新闻组
user# 用户程序产生的相关信息
uucp#unix to unix copy, unix 主机之间相关的通讯
local 1-7# 自定义的日志设备
#priority: 日志级别:
debug# 有调式信息的,日志信息最多
info# 一般信息的日志,最常用
notice# 最具有重要性的普通条件的信息
warning, warn# 警告级别
err, error# 错误级别,阻止某个功能或者模块不能正常工作的信息
crit# 严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert# 需要立刻修改的信息
emerg, panic# 内核崩溃等严重信息
### 从上到下,级别从低到高,记录的信息越来越少,如果设置的日志内性为 info,则日志不会记录比 info 级别低的日志,只会记录比 info 更高级别的日志,也包括 info 本身的日志。
Target:日志存放位置,
# 文件, 如 /var/log/messages
# 用户,root,*(表示所有用户)
# 日志服务器,@172.16.1.2
# 管道 | COMMAND
rsyslog 支持通配机制:
*:所有
,: 列表
! : 取反

实验环境:
RHEL 6.4
clone2.victor.com 为 rsyslog 服务器,其 ip:192.168.222.133
ip 192.168.222.131 的主机位客户端

一.RPM 方式搭建的 LAMP+rsyslog 以实现集中式日志管理系统

1. 挂载光盘至 /mnt/cdrom, 配置本地 yum 源.
vim /etc/yum.repos.d/local.repo
[localbase]
name=RedHat6
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0

2.rmp 包方式搭建 LAMP 环境

yum -y insatll httpd MySQL mysql-server php php-mysql mysql-devel php-gd

httpd 用来提供 web 服务
php 使 apache 支持 php,因为 loganalyzer 是用 php 编写
php-mysql 用于 loganalyzer 连接数据库
php-gd 用于绘图
环境搭好之后启动 httpd 及 mysql 服务

3. 安装 rsyslog 以及 rsyslog 连接 mysql 的驱动

[root@clone2~]yum install rsyslog rsyslog-mysql
[root@clone2 ~]# rpm -ql rsyslog-mysql    #查看 rsyslog-mysql 生成哪些文件
/lib/rsyslog/ommysql.so
/usr/share/doc/rsyslog-mysql-5.8.10
/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

4. 创建日志文件的数据库
[root@clone2 ~]# cd /usr/share/doc/rsyslog-mysql-5.8.10/ # 查看日志文件的 sql 脚本
[root@clone2 rsyslog-mysql-5.8.10]# ls
createDB.sql
[root@clone2 rsyslog-mysql-5.8.10]# mysql -u root -p < createDB.sql  #导入日志文件的 sql 脚本,生成日志文件的数据库

mysql> show databases;  #此时登录 mysql 数据库,可以查看到生成了一个名为 Syslog 的数据库
+——————–+
| Database          |
+——————–+
| information_schema |
| Syslog  #记录日志文件的数据库(日志主要记录在 SystemEvents 这张表格中。)|
| mysql              |
| test              |
+——————–+

5.# 建立一个普通用户,授予此用户具有操控 Syslog 数据库的权限
mysql> GRANT ALL ON Syslog.* TO ‘rsysloguser’@’localhost’ IDENTIFIED BY ‘password’;
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL ON Syslog.* TO ‘rsysloguser’@’127.0.0.1’ IDENTIFIED BY ‘password’;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;

6. 配置 rsylog 服务器端:

编辑 rsyslog 的配置文件 /etc/rsyslog.conf
ModLoad imudp          #加载 udp 的模块
$UDPServerRun 514        #允许接收 udp 514 的端口传来的日志
$ModLoad imtcp          #加载 tcp 的模块
$InputTCPServerRun 514  #允许接收 tcp 514 的端口传来的日志
$ModLoad ommysql        #加载 mysql 的模块
*.* :ommysql:127.0.0.1,Syslog,rsysloguser,password  #添加这行,把其他行都注释掉,这行表示把所有的设施的所有日志都记录到数据库服务器中的 Syslog
数据库中,以 rsysloguser 用户,password 密码访问数据库
*.* :ommysql:127.0.0.1,Syslog(数据库名称),rsysloguser(用户名),rsyslogp@ss(密码)
[root@clone2 ~]# service rsyslog restart

7. 客户端(192.168.222.131)配置:
vim /etc/rsyslog.conf
*.* @192.168.222.133 #添加这一行,用于客户端和服务器端通信
service rsyslog restart

8. 测试:

在客户端 即 192.168.222.131 这台机器上
logger -p notice “test log from 192.168.222.131”
验证是否在远端服务器的 mysql 数据库里有日志记录:
mysql -ursysloguser -p
USE Syslog
SELECT * FROM SystemEvents;

************************** 1519. row ***************************
              ID: 1519
      CustomerID: NULL
      ReceivedAt: 2014-02-04 17:34:20
DeviceReportedTime: 2014-02-04 17:34:20
        Facility: 1
        Priority: 5
        FromHost: www
          Message:  test log from 192.168.222.131  #远程客户端的日志测试记录。
      NTSeverity: NULL
      Importance: NULL
      EventSource: NULL
        EventUser: NULL
    EventCategory: NULL
          EventID: NULL
  EventBinaryData: NULL
    MaxAvailable: NULL
        CurrUsage: NULL
        MinUsage: NULL
        MaxUsage: NULL
      InfoUnitID: 1
        SysLogTag: root:
    EventLogType: NULL
  GenericFileName: NULL
        SystemID: NULL
1519 rows in set (0.02 sec)

虽然日志存放在 mysql 数据库服务器中,是解决了日志集中管理,但是存放在 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

RedHat 5.4 下 Web 服务器架构之源码构建 LAMP 环境及应用 PHPWind http://www.linuxidc.com/Linux/2012-10/72484p2.htm

LAMP 源码环境搭建 WEB 服务器 Linux+Apache+MySQL+PHP http://www.linuxidc.com/Linux/2013-05/84882.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计8704字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7952408
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...
从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统 大家好,我是星哥。公司的项目文档存了一堆 ...
【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024 程序员】我劝你赶紧去免费领一个 AWS、华为云等的主机 每年 10 月 24 日,程序员们都会迎来...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...