CentOS7下搭建开源日志采集分析系统LogAnalyzer

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
日志服务 SLS,月写入数据量 50GB 1个月
简介: CentOS7下搭建开源日志采集分析系统LogAnalyzer

CentOS7下搭建日志采集分析系统LogAnalyzer


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


https://loganalyzer.adiscon.com/


640.png



感谢网友temptation的投稿


本文参考其文章完成:原文章链接https://www.cnblogs.com/iflytek/p/14403664.html

具体步骤如下


1、环境准备


CentOS7.6的服务器一台


IP:192.168.198.132 可以访问互联网,并关闭SELINUX

640.jpg

640.png



2、脚本方式完成HTTP+PHP+MySQL+LogAnalyzer的部署


上传脚本及相关文件至/opt目录下


cd /opt
tar -zxvf rsyslog_and_loganalyzer.tar.gz 
sh loganalyzer.sh


640.jpg


其中loganalyzer.sh脚本内容如下


[root@localhost opt]# cat loganalyzer.sh 
#!/bin/bash
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
cat >  /etc/yum.repos.d/mysql-community.repo << "EOF"
[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-connectors-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql
[mysql-tools-community]
name=MySQL Tools Community
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-tools-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql
[mysql-5.7-community]
name=MySQL 5.7 Community Server
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql
EOF
yum clean all
yum makecache
yum install mysql-community-server.x86_64 -y
systemctl start mysqld
systemctl enable mysqld
netstat -anp | grep 3306
ps -ef | grep mysql
echo "----------获取MySQL的root用户初始密码----------------"
grep "temporary password" /var/log/mysqld.log
echo "----------设置MySQL的root设置新密码----------------"
echo "----------请设置新密码为MySQL@2021----------------"
mysql_secure_installation 
echo "----------安装rsyslog-mysql并替换rsyslog.conf----------------"
yum -y install rsyslog-mysql
mv /etc/rsyslog.conf /etc/rsyslog.conf_bak
cp /opt/rsyslog.conf_template /etc/rsyslog.conf
systemctl restart rsyslog.service
mysql -uroot -pMySQL@2021 <  /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql 
echo "----------登录MySQL创建rsyslog库----------------"
echo "create database rsyslog character set utf8 collate utf8_bin;"| mysql -uroot -pMySQL@2021
echo "grant all privileges on Syslog.* to 'rsyslog'@'%' identified by 'Rsyslog@2021'; "|mysql -uroot -pMySQL@2021
echo "grant all privileges on rsyslog.* to 'rsyslog'@'localhost' identified by 'Rsyslog@2021'; "|mysql -uroot -pMySQL@2021
echo "flush privileges;"|mysql -uroot -pMySQL@2021
yum -y install httpd php php-mysql php-gd 
cd /opt/
tar -zxvf loganalyzer-4.1.11.tar.gz
echo "----------解压并配置loganalyzer----------------"
mkdir -p /var/log/httpd/log
mkdir -p /var/www/html/log
cp -rf /opt/loganalyzer-4.1.11/src/* /var/www/html/log 
cp -rf /opt/loganalyzer-4.1.11/contrib/* /var/www/html/log
cd /var/www/html/log
chmod +x configure.sh secure.sh
sh configure.sh
chmod 666 config.php
chown -R apache.apache *
systemctl start httpd
systemctl enable httpd
systemctl status httpd
echo "----------请登录web初始化loganalyzer:http://IP:/log----------------"


脚本并非全自动化,需要在执行过程中需要重新设置MySQL的root密码


640.jpg


其中rsyslog.conf_template 做了如下修改

640.png


3、登录web初始化loganalyzer

640.jpg

640.jpg

640.jpg

640.jpg


用户数据库连接配置 DatabaseName:Syslog  


#注意我这里使用的是Syslog,当然你也可以用之前脚本中创建的rsyslog库  


Database User:rsyslog


Database Password:Rsyslog@2021

640.jpg640.jpg

640.jpg

640.jpg


日志数据库  


Database Name:Syslog  

Database Tablename:SystemEvents (注意大小写)

Database User:rsyslog  

Database Password:Rsyslog@2021


640.jpg


4、测试主机debian配置rsyslog转发

640.jpg

5、loganalyzer使用截图


主界面

640.jpg


(图片可放大查看)

数据统计


640.jpg

日志关键字搜索


640.jpg


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3天前
|
Windows Python
如何反向读取Windows系统日志EVTX文件?
以下是如何反向读取Windows系统日志EVTX文件
12 2
|
9天前
|
存储 SQL 监控
|
9天前
|
运维 监控 安全
|
10天前
|
存储 Linux Docker
centos系统清理docker日志文件
通过以上方法,可以有效清理和管理CentOS系统中的Docker日志文件,防止日志文件占用过多磁盘空间。选择合适的方法取决于具体的应用场景和需求,可以结合手动清理、logrotate和调整日志驱动等多种方式,确保系统的高效运行。
10 2
|
12天前
|
监控 关系型数据库 MySQL
分析慢查询日志
【10月更文挑战第29天】分析慢查询日志
28 3
|
12天前
|
机器学习/深度学习 运维 监控
开源日志分析Kibana
【10月更文挑战第22天】
23 3
|
12天前
|
监控 关系型数据库 数据库
怎样分析慢查询日志?
【10月更文挑战第29天】怎样分析慢查询日志?
29 2
|
9天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
108 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
1月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
210 3
|
1月前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1619 14