一、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. 创建可视化图形 ,显示聚合图形