背景:

网络安全法第三章第二十一条明确规定“采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月”。

为了满足合规性的要求,应当建设相应的日志采集存储系统。

市面上不少日志系统价格不菲,所以考虑在Centos 7.6环境下,基于MariaDB 和 Rsyslog,搭建开源免费的日志采集分析系统LogAnalyzer。

当然啦,ELK也可以,Prometheus + Grafana也OK。

本文参考了不少网络资料,感谢热爱分享的人们!

-------------------------------------------------------------------------------------------------------------------------------------------------------------

软件:

① VMware Workstation 15 Player

② CentOS-7-x86_64-Minimal-1810.iso

③ loganalyzer-4.1.11.tar.gz

④ loganalyzer-4.1.11中文语言包.zip

-------------------------------------------------------------------------------------------------------------------------------------------------------------

1、创建新虚拟机

 

2、稍后安装操作系统

 

3、选择Linux,版本为CentOS 7 64位

 

4、填写虚拟机名称:CentOS7,位置为C:\vm

 

5、设置磁盘大小为10G,选择将虚拟磁盘存储为单个文件

 

6、点击完成

 

7、点击编辑虚拟机设置

 

8、设置内存为2048MB

 

9、设置CD/DVD,使用的ISO文件为CentOS-7-x86_64-Minimal-1810.iso

 

10、设置网络适配器,网络连接为桥接模式

 

11、播放虚拟机

 

12、键盘上下键选中Install CentOS 7

 

13、出现VMware Tools,点击以后提醒我

 

14、选中语言为中文

 

15、点击系统,选择安装位置

 

16、使用自动配置分区,点击完成

17、点击开始安装

 

18、点击ROOT密码进行设置

 

19、设置ROOT密码为123456

 

20、正在安装

 

21、安装完成后重启虚拟机

 

22、重启后,输入账号:root,输入密码:123456进入系统

 

23、输入:cd /,输入:ip addr查看网络配置

 

24、输入:cd /etc/sysconfig/network-scripts/,输入:ls查看目录

 

25、输入:vi ifcfg-ens33,默认配置如下:

修改为如下:

BOOTPROTO=static

ONBOOT=yes

IPADDR=192.168.20.123

NETMASK=255.255.255.0

GATEWAY=192.168.20.240

输入:wq,进行保存

26、输入:service network restart,重启网络服务

 

27、尝试ping一下百度,输入:ping www.baidu.com,发现ping不通,怀疑是DNS问题

 

28、需要设置DNS,

输入:vi /etc/resolv.conf

 

29、填写DNS内容,

输入:nameserver 114.114.114.114

输入:nameserver 8.8.8.8

输入:wq,进行保存

30、再次重启网络服务,

输入:service network restart

31、再次输入:ping www.baidu.com,这下能ping通了

 

32、查看rsyslog是否安装,以及CentOS版本信息,

输入:cd /,输入:rpm –qa | grep rsyslog

输入:cat /etc/redhat-release

 

33、关闭防火墙,

输入:systemctl stop firewalld.service

输入:systemctl disable firewalld.service

输入:systemctl status firewalld.service

 

34、关闭selinux,输入:vi /etc/selinux/config,修改后重启操作系统

默认如下

设置SELINUX=disabled

 

35、查看MariaDB是否安装,输入:cd /,输入:rpm –qa | grep mariadb,发现只有mariadb-libs

 

36、安装MariaDB服务,

输入:yum -y install mariadb mariadb-server

 

37、再次查看MariaDB安装情况,输入:rpm –qa | grep mariadb

 

38、启动MariaDB服务,并设置为开机启动,

输入:systemctl start mariadb.service,

输入:systemctl enable mariadb

 

39、设置MariaDB的密码,

输入:cd /root

输入:/bin/mysql_secure_installation

设置账号root,密码123456

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL

SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we’ll need the current

password for the root user. If you’ve just installed MySQL, and

you haven’t set the root password yet, the password will be blank,

so you should just press enter here.

Enter current password for root (enter for none):<– 初次运行直接回车

OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MySQL

root user without the proper authorisation.

Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车

New password: <– 设置root用户的密码

Re-enter new password: <– 再输入一次设置的密码

Password updated successfully!

Reloading privilege tables…

… Success!

By default, a MySQL installation has an anonymous user, allowing anyone

to log into MySQL without having to have a user account created for

them. This is intended only for testing, and to make the installation

go a bit smoother. You should remove them before moving into a

production environment.

Remove anonymous users? [Y/n] <– 是否删除匿名用户,生产环境建议删除,所以直接回车

… Success!

Normally, root should only be allowed to connect from ‘localhost’. This

ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] <– 是否禁止root远程登录,根据自己的需求选择y并回车,建议禁止

… Success!

By default, MySQL comes with a database named ‘test’ that anyone can

access. This is also intended only for testing, and should be removed

before moving into a production environment.

Remove test database and access to it? [Y/n] <– 是否删除test数据库,直接回车

Dropping test database…

… Success!

Removing privileges on test database…

… Success!

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

Reload privilege tables now? [Y/n] <– 是否重新加载权限表,直接回车

… Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MySQL

installation should now be secure.

Thanks for using MySQL!

 

40、输入:mysql -uroot –p123456,进入MariaDB

 

41、创建rsyslog数据库(用来存放LogAnalyzer系统的配置信息),字符编码设置为utf-8,

输入:create database rsyslog character set utf8 collate utf8_bin;

 

42、查看当前有几个数据库,

输入:show databases;

 

43、为rsyslog数据库创建本地用户rsyslog,设置密码为rsyslog,权限为全部权限,

输入:grant all privileges on rsyslog.* to ‘rsyslog’@’localhost’ identified by ‘rsyslog’;flush privileges;

 

44、输入:exit

退出MariaDB

 

45、安装rsyslog的MySQL扩展程序包rsyslog-mysql,

输入:yum -y install rsyslog-mysql

 

46、将rsyslog的MySQL表导入创建的rsyslog数据库,

输入:mysql -uroot -p < /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql

 

47、查看当前有几个数据库,输入:show databases;

多了一个Syslog数据库

 

48、使用Syslog数据库,输入:use Syslog;

查看Syslog数据库下有几个表,输入:show tables;

显然SystemEvents表用来存放日志记录

 

49、为Syslog数据库创建本地用户rsyslog,设置密码为rsyslog,权限为全部权限,

输入:grant all privileges on Syslog.* to ‘rsyslog’@’%’ identified by ‘rsyslog’;flush privileges;

 

50、修改rsyslog配置文件,

输入:vi /etc/rsyslog.conf

默认如下:

修改为如下:

新增:

$ModLoad ommysql

*.*:ommysql:localhost,Syslog,rsyslog,rsyslog

去除如下内容前面的#:

$ModLoad imudp

$UDPServerRun 514

$ModLoad imtcp

$InputTCPServerRun 514

输入:wq,保存并退出

51、启动rsyslog服务并设置为开机启动,

输入:systemctl restart rsyslog.service

输入:systemctl enable rsyslog.service

 

52、安装LAMP环境,

输入:yum install httpd php php-mysql php-gd –y

 

53、创建相应的目录用来存放loganalyzer的解压文件和运行后生成的日志,

输入:mkdir -p /var/www/html/log

输入:mkdir -p /var/log/httpd/log

54、把loganalyzer-4.1.11.tar.gz上传到/opt目录下,并解压,

输入:tar –zxvf loganalyzer-4.1.11.tar.gz

 

55、输入:cd loganalyzer-4.1.11

输入:cp -r src/* /var/www/html/log

输入:cp -r contrib/* /var/www/html/log

 

56、输入:cd /var/www/html/log

输入:chmod +x configure.sh secure.sh

输入:./configure.sh

输入:./secure.sh

输入:touch config.php

输入:chmod 666 config.php

输入:chown -R apache.apache *

输入:systemctl start httpd

输入:systemctl enable httpd

输入:systemctl status httpd

 

57、地址栏输入:http://192.168.20.123/log

点击Click here开始安装

 

58、第一步,准备工作

 

59、第二步、验证文件权限

 

60、第三步、基础配置,设置用户数据库,填写前面创建的rsyslog数据库,账号和密码都是rsyslog

 

61、第四步、创建表

 

62、第五步、检查SQL结果

 

63、第六步、创建系统的用户和密码,这儿都用的rsyslog

 

64、第七步、创建第一个数据源用来接收syslog数据,选择数据源类型为数据库,填写使用Syslog数据库的SystemEvents表,账号密码也是前面创建并赋了全部权限的rsyslog

 

65、第八步,前面都操作成功,完成安装

 

66、点击上图的Finish就能看到首页

 

67、点击Login,输入账号和密码,都是rsyslog

 

68、登录后看见下图

 

69、系统的基本设置,显示的字体设置为了Courier New

默认的字符编码设置为utf-8

 

70、中文语言包只是对菜单等进行了汉化,把中文语言包文件放入/var/www/html/log/lang目录下即可

 

【原】无脑操作:Centos 7.6 + MariaDB + Rsyslog + LogAnalyzer环境搭建的更多相关文章

  1. 【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础授权权限

    上一篇<[原]无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限>介绍了实现Shiro的基础认证.本篇谈谈实现 ...

  2. 【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限

    开发环境搭建参见<[原]无脑操作:IDEA + maven + SpringBoot + JPA + Thymeleaf实现CRUD及分页> 需求: ① 除了登录页面,在地址栏直接访问其他 ...

  3. 【原】无脑操作:EasyUI Tree实现左键只选择叶子节点、右键浮动菜单实现增删改

    Easyui中的Tree组件使用频率颇高,经常遇到的需求如下: 1.在树形结构上,只有叶子节点才能被选中,其他节点不能被选中: 2.在叶子节点上右键出现浮动菜单实现新增.删除.修改操作: 3.在非叶子 ...

  4. 【原】无脑操作:express + MySQL 实现CRUD

    基于node.js的web开发框架express简单方便,很多项目中都在使用.这里结合MySQL数据库,实现最简单的CRUD操作. 开发环境: IDE:WebStorm DB:MySQL ------ ...

  5. 【原】无脑操作:Eclipse + Maven + jFinal + MariaDB 环境搭建

    一.开发环境 1.windows 7 企业版 2.Eclipse IDE for Enterprise Java Developers  Version: 2019-03 (4.11.0) 3.JDK ...

  6. 【原】无脑操作:eclipse + maven搭建SSM框架

    网上看到一些Spring + Spring MVC + MyBatis框架的搭建教程,不是很详细或是时间久远了,自己动手整一个简单无脑的! 0.系统环境 1)Windows 10 企业版 2)JDK ...

  7. 【原】无脑操作:ElasticSearch学习笔记(01)

    开篇来自于经典的“保安的哲学三问”(你是谁,在哪儿,要干嘛) 问题一.ElasticSearch是什么?有什么用处? 答:截至2018年12月28日,从ElasticSearch官网(https:// ...

  8. 笔记:Linux下软件的安装、CentOS更新yum源、LAMP环境搭建、kali软件管理

    一.Linux下软件的安装 方式:yum源 / rpm /源码安装 1.yum:(帮助管理员解决依赖关系) yum是通过分析rpm的包头数据后,根据各种软件的相关性质做出属性相对应的解决方案,然后可以 ...

  9. 【原】无脑操作:Centos 7后台运行及终止jar包程序

    1.后台运行jar包程序,输入:nohup java -jar /路径/程序.jar & 2.后台终止jar包程序,输入:ps -ef | grep java,查看使用java命令的进程,再输 ...

随机推荐

  1. 如何在 crontab 中让 source ~/.bashrc 生效

    cron 是许多类 Unix 操作系统中都自带的用来调度定时任务的工具,定时任务的配置是写在 crontab 文件中的,但是 crontab 文件不允许直接编辑,一般都是通过命令 crontab -e ...

  2. 原生ajax分享

    最近被大佬问了一个很有趣的问题,你还能手打出一个ajax吗?,我当时的想法是有现成的为什么要自己打,后来我反思了一下(只有靠自己才是强者),在这里给大家分享一个我自己打的ajax,也是自己的一个知识点 ...

  3. Soul 网关 Nacos 数据同步源码解析

    学习目标: 学习Soul 网关 Nacos 数据同步源码解析 学习内容: 环境配置 Soul 网关 Nacos 数据同步基本概念 源码分析 学习时间:2020年1月28号 早7点 学习产出: 环境配置 ...

  4. jQuery 移入显示div,移出当前div,移入到另一个div还是显示。

    jQuery 移入移出 操作div 1 <style type="text/css"> 2 .box{ 3 position: relative; 4 } 5 .box ...

  5. CI/CD 最佳实践的基本原则 互联网后端架构 2020-10-04

    https://mp.weixin.qq.com/s/UfGmCueEm8n2jdegng1F_g CI/CD 最佳实践的基本原则 互联网后端架构 2020-10-04

  6. tee MultiWriter creates a writer that duplicates its writes to all the // provided writers, similar to the Unix tee(1) command.

    https://zh.wikipedia.org/wiki/Tee 在计算机科学中,tee是一个常见的指令,它能够将某个指令的标准输出,导向.存入某个档案中.许多不同的命令行界面(Shell)都提供这 ...

  7. Redis 实战 —— 10. 实现内容搜索、定向广告和职位搜索

    使用 Redis 进行搜索 P153 通过改变程序搜索数据的方式,并使用 Redis 来减少绝大部分基于单词或者关键字进行的内容搜索操作的执行时间. P154 基本搜索原理 P154 倒排索引 (in ...

  8. MySQL 高性能优化规范建议

    数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用 MySQL 保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名 ...

  9. 题解【CF1444A Division】

    题面 t 组数据. 给定参数 p,q,求一个最大的 x,满足 \((x|p)∧(q∤x)\). \(1\le t \le 500\),\(1\le p \le10^{18}\),\(2\le q\le ...

  10. python 基础学习4 字典和循环语句

    学了这么多天的基础,好着急的想什么时候可以开始写个小程序,今天还是静下心来把字典和循环语句学习了 关于字典,主要是了解了字典的创建,和映射,以及一些基本的运算法,运算法不一一列出,运算法在用到的时候会 ...