Centos7.4部署rsyslog+loganalyzer+mysql日志管理服务器

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
日志服务 SLS,月写入数据量 50GB 1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 一、随着管理的服务器与网络设备的增加,系统日志的采集与收集变得繁琐起来。此时在一台服务器上构建集中日志管理服务器,实现从其他服务器上采集到的系统日志发送到日志管理服务器进行统一管理与存储就变得很有必要了。

一、随着管理的服务器与网络设备的增加,系统日志的采集与收集变得繁琐起来。此时在一台服务器上构建集中日志管理服务器,实现从其他服务器上采集到的系统日志发送到日志管理服务器进行统一管理与存储就变得很有必要了。
日志管理服务器可以解决以下问题:
1、不再需要逐台服务器去查询系统日志文件
2、将日常的系统信息存储在mysql数据中,方便进行查询、统计、审计过滤等操作
3、通过其他软件可以实现扩平台日志收集,如使用evtsys采集window日志发送到linux日志服务器上
4、在linux下rsyslog配置比较简单,维护较为容易。
5、rsyslog+loganalyzer可以实现前端图形化查询等操作.

二、rsyslog的安装与配置
使用yum安装相关程序包:
1、安装LAMP:yum install mysql-server,mysql-devel, httpd,php-mysql
php ,php-gd, php-xml
2、安装rsyslog及驱动 libcurl-devel ,net-snmp-devel ,rsyslog, rsyslog-mysql
3、阿里云服务器上自带的yum仓库源上默认没有mysql-server,网上下载mysql57-community-release-el7-11.noarch.rpm并使用rpm安装:rpm -ivh mysql57-community-release-el7-11.noarch.rpm
三、启动mysql服务:
1、初次启动时会在/var/log/mysqld.log随机生成root密码,使用grep 'password' '/var/log/mysqld.log'查看:
Z79P2_ZU_5NY_2_ABZ_B
2、使用刚才找到的密码登录并修改root密码:
mysqladmin -u root password 'yourpassword'.
假设将root密码设为123456:
set password for root@'localhost'=password('12345678');
将会提示错误信息:
2
原因为mysql默认参数validate_password_policy=medium,将这个值设为0,set global validate_password_policy=0;修改就能使用较为简单的密码。
3、设置mysql默认字符集为UTF-8:编辑/etc/my.cnf文件,在[mysqld]下添加一行:character-set-server = utf8
skip-name-resolve=on ###禁止域名解析
然后重启mysql服务:systemctl restart mysqld
4、使用刚才安装的rsyslog-mysql程序包文档目录下的sql文件创建rsyslog数据库:
使用rpm -ql rsyslog-mysql 查询并找到该sql文件
3
使用该文件创建数据库 mysql -u root -p < mysql-createDB.sql
创建的数据库名为:syslog
5、mysql中创建数据库Syslog的使用用户syslog并授权:
grant all on Syslog.* to 'syslog'@'127.0.0.1';
flush privileges;

6、修改rsyslog配置文件:
vim /etc/sysconfig/rsyslog
添加两行:
SYSLOGD_OPTIONS="-c 2 -r -x -m 180"
KLOGD_OPTIONS="-x"
4

编辑rsyslog主配置文件/etc/rsyslog.conf:
在#### MODULES ####下进行以下操作:
取消$ModLoad imudp、$UDPServerRun 514 这2行的注释表示通过UPD协议的514端口接收日志文件。
5

添加$ModLoad ommysql 一行 #######配置服务端支持rsyslog-mysql模块
添加. :ommysql:127.0.0.1,Syslog,rsyslog,123456789
6
重启rsyslog:
systemctl restart rsyslog

四、loganalyzer的配置
1、在apache的默认documentRoot目录下创建loganalyzer目录:
mkdir -p /var/www/html/loganalyzer
创建loganalyzer日志目录:
mkdir -p /var/log/httpd/loganalyzer
2、官网上下载Loganalyzer解压到/usr/loca/src下:
wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.6.tar.gz
cd /usr/local/src
tar -zxvf loganalyzer-4.1.6.tar.gz
在解压后的loganalyzer-4.1.6目录内复制src/与contrib/下的所有文件到/var/www/html/loganalyzer目录下:
cp -r src/* /var/www/html/loganalyzer
cp -r contrib/* /var/www/html/loganalyzer
7

3、在/var/www/html/loganalyzer下创建config.php并设置权限:
touch config.php
chmod 666 config.php

4.在/etc/httpd/conf/httpd.conf文件为找到并修改配置为:
Listen 8080
DocumentRoot "/var/www/html/loganalyzer"
ErrorLog /var/log/httpd/loganalyzer/error.log
CustomLog /var/log/httpd/loganalyzer/access_log combined
重启httpd: systemctl restart httpd

5、浏览器上输入日志服务器ip+端口号:
8
点击next 到step3:
10
配置后数据库用户及密码,点击next。

step6:创建loganalyzer登录用户:
11

step7:
13
点击next并登录即可完成初始化配置:

14

6、可以在网上搜索下载loganalyzer3.6.5 中文语言包并将解压后的3个文件放在/var/www/html/loganalyzer/lang下并重启rsyslog即可使用loganalyzer中文界面:
16

7.修改客户端服务器/etc/rsyslog.conf文件实现将日志传输至构建好的日志服务器:
17
在#### RULES ####中添加配置:
@表示使用upd协议传输文件,划线部分为搭建的集中日志服务器ip.
也可以使用. @ip 表示所有日志文件都传输至日志服务器

8、刷新loganalyzer页面就可看到客户端服务器的日志信息也被记录到数据库中,构建完成.

参考博客:https://blog.csdn.net/cmzsteven/article/details/50413837

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
SQL 监控 关系型数据库
MySQL日志分析:binlog、redolog、undolog三大日志的深度探讨。
数据库管理其实和写小说一样,需要规划,需要修订,也需要有能力回滚。理解这些日志的作用与优化,就像把握写作工具的使用与运用,为我们的数据库保驾护航。
112 23
|
3月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
192 28
|
3月前
|
存储 监控 API
【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息
本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。
124 23
|
3月前
|
SQL 运维 关系型数据库
MySQL Binlog 日志查看方法及查看内容解析
本文介绍了 MySQL 的 Binlog(二进制日志)功能及其使用方法。Binlog 记录了数据库的所有数据变更操作,如 INSERT、UPDATE 和 DELETE,对数据恢复、主从复制和审计至关重要。文章详细说明了如何开启 Binlog 功能、查看当前日志文件及内容,并解析了常见的事件类型,包括 Format_desc、Query、Table_map、Write_rows、Update_rows 和 Delete_rows 等,帮助用户掌握数据库变化历史,提升维护和排障能力。
|
4月前
|
安全 关系型数据库 MySQL
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
|
4月前
|
安全 关系型数据库 MySQL
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
|
4月前
|
存储 SQL 关系型数据库
mysql的undo log、redo log、bin log、buffer pool
MySQL的undo log、redo log、bin log和buffer pool是确保数据库高效、安全和可靠运行的关键组件。理解这些组件的工作原理和作用,对于优化数据库性能和保障数据安全具有重要意义。通过适当的配置和优化,可以显著提升MySQL的运行效率和数据可靠性。
76 4
|
4月前
|
SQL 存储 关系型数据库
简单聊聊MySQL的三大日志(Redo Log、Binlog和Undo Log)各有什么区别
在MySQL数据库管理中,理解Redo Log(重做日志)、Binlog(二进制日志)和Undo Log(回滚日志)至关重要。Redo Log确保数据持久性和崩溃恢复;Binlog用于主从复制和数据恢复,记录逻辑操作;Undo Log支持事务的原子性和隔离性,实现回滚与MVCC。三者协同工作,保障事务ACID特性。文章还详细解析了日志写入流程及可能的异常情况,帮助深入理解数据库日志机制。
388 0
|
8月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
2448 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
7月前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
198 9

推荐镜像

更多