ELK日志分析系统实战

一、ELK Stack简介

1、ELK Stack 是什么

开源日志分析和管理平台,也称Elastic Stack。

2、Elasticsearch 是什么

开源数据收集引擎,提供数据搜集、分析、存储数据三大功能。

3、Logstash 是什么

是一个开源数据处理管道,主要功能:采集数据、处理数据、输出数据。

4、Kibana 是什么

Kibana 是一个免费开放的WEB用户界面,能够对 Elasticsearch 数据进行可视化展示,能够实时生成报表,方便展示和查看。

二、DNS概述

1、DNS(域名系统服务)

1)正向解析:通过域名解析IP地址

2)反向解析:通过IP地址解析域名

2、FQDN(完全合格的主机名)

www. tedu .cn

站点 二级域 顶级域

3、查询方式

递归查询:客户机向DNS服务器发出请求后,DNS若本身不能解析,则会向其他的DNS发出查询请求,得到结果后转交给客户机,这个过程称之为递归查询!(递归:提供优质的跑腿服务,帮你去打听你想要的信息)。

迭代查询:一般用于dns服务之间,当客户机发送查询请求时,DNS服务器一般不会直接回复查询结果,而是告诉客户机另一台DNS服务器地址,客户机在向另外一台dns服务器提交请求,一次循环,直到返回查询结果,这个过程称之为迭代!(迭代:不告诉你结果,只告诉你去找下一台DNS服务器)。

4、域名注册网站

1. 新网: www.xinnet.com

2. 万网-阿里云: www.net.cn

3. 中国互联:网站建设,域名注册查询,顶级域名申请,百度爱采购,加盟星-万象互联

5、DNS域名管理

IANA:互联网数字分配机构(最高权威机构)

CNNIC:中国互联网络信息中心

6、bind概述

bind :伯克利因特网名字域系统

软件包: bind、 bind-chroot (虚拟根-牢笼政策)

备注:虚拟根的作用,监控保护bind,当发现bind出现问题,囚禁起来

7、部署DNS服务器

1. 装包

yum -y install bind bind-chroot
yum list bind bind-chroot

2. 启动服务

systemctl start named
systemctl enable named

备注&:系统服务named 有两个配置文件
备注&:系统服务named 监听 UDP/TCP 53端口

netstat -anput | grep named

三、ELK实验

1、ELK实验说明

在部署好的ELK环境中完成日志收集,日志可视化展示。

一台ELK服务器,用于收集日志,分析日志,可视化展示日志。

一台log-creat服务器部署DNS服务,产生DNS查询日志。

一台Windows server 2012 ,模拟运维人员主机。

2、配置步骤

第一步:登录Win-2012 ,通过Win-2012远程管理ELK和log-creat

1. 通过物理机远程Win-2012主机

2. Win-2012上安装MobaXterm

在Win-2012上安装MobaXterm或其他远程工具,方便管理。使用MobaXterm 远程登录ELK服务器和log-creat(DNS)服务器,进行远程操作管理。

第二步:登录ELK服务器、配置logstash、启动ELK服务

1. 使用MobaXterm 远程登录ELK服务器进行远程操作管理。

用户名college, 密码360College,登录成功后,执行sudo  -i切换到root用户。

[college]$ sudo -i              //切换管理员用户
[sudo]Password for college:       //输入密码
[root]#

2. 在ELK服务器上创建自定义logstash 配置文件bind.conf

[root] cp /etc/logstash/logstash-sample.conf  /etc/logstash/conf.d/bind.conf

3. 在ELK服务器上编辑logstash的配置文件bind.conf

1)配置logstash的采集日志的输入端口,tcp 5144;

2)配置采集日志的类型为系统日志;

3)配置logstash 将日志输出给elasticsearch;

4)输出的日志索引名为 dns+日期时间;

4. 启动ELK服务

[root]     //启动服务
systemctl  start logstash elasticsearch kibana
systemctl  status  logstash elasticsearch kibana

5. 验证启动的端口

Logstash的端口是5144;Elasticsearch 的端口是 9200;Kibana的端口是5601。

[root]ss  -lnt      //检查端口
l: 监听     n:编号    t:tcp

第三步:登录log-creat服务器、配置dns、重启rsyslog

1. 登录log-creat服务器(DNS)

用户名college,密码360College,登录成功后,执行sudo -i切换到root用户。

2. 检查DNS查询日志的配置文件

查询日志发送至rsyslog的local5通道

[root] vim /etc/named.conf

3. 打开rsyslog.conf的配置文件,在下面加入一行配置

[root] vim /etc/rsyslog.conf
local5.* @@ 192.168.0.109:5144     //将日志发送至ELK的服务器,端口号5144,在配置文件最下面添加本行

将syslog日志发送给ELK服务器中的logstash,将日志在本地存储一份,发送给ELK的logstash 一份。

4. 重启rsyslog,开启dns服务

[root] systemctl restart rsyslog      //重启rsyslog
[root] systelctl start named         //启动DNS服务

第四步:产生dns日志

1. 产生dns日志

[root] dig    baidu.com   @127.0.0.1      //使用本地dns服务器做域名挖掘

2. 执行cat  /var/log/dns查看本地是否产生dns日志

第五步:登录Kibana,查看是有日志

1. 在Win-2012中使用浏览器访问Kibana

kibana的端口号是5601;Kibana的访问地址就是ELK服务器的IP地址,如http://192.168.0.109:5601

点击management->index patterns  ->Create index patterns:

2. 在Kibana中查看采集到的日志

找到dns-2021.12.07,然后选择这个日志进行分析,选择索引,输入索引名dns,点击next step:

3. 选择时间过滤,并创建索引模式 

4. 多产生几次dns日志

[root] dig    baidu.com    @127.0.0.1
[root] dig    taobao.com   @127.0.0.1
[root] dig    mod.gov.cn   @127.0.0.1
[root] dig    qq.com       @127.0.0.1

5. 点Discover,查看日志成功

第六步:创建可视化图形

1. 点击kibana上Visualize

2. 创建可视化图形,创建饼图 

3. 创建可视化图形 ,选择索引 

4. 创建可视化图形 ,选择按片来分割 

5. 创建可视化图形 ,显示聚合图形 

猜你喜欢

转载自blog.csdn.net/qq_35029061/article/details/126835023