一、软件介绍

1.Easticsearch搜索引擎:是一个基于Lucene的搜索引擎,提供索引,搜索功能。他提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

2.Logstash接收,处理,转发日志工具:
logstash是一个开源的服务器端数据处理流水线,它可以同时从多个数据源获取数据,并将其转化为最喜欢的“存储”(ours is elasticsearch,naturally.)主要是用来日志的搜集、分析、过滤日志的工具。用于管理日志和事件的工具,你可以用它去收集日志、转换日志、解析日志并将他们作为数据提供给其它模块调用,例如搜索、存储等。

3.Beats采集日志信息:GO语言开发,所以高效、很快:
filebeat:
隶属于Beats,轻量级数据收集引擎。基于原先 Logstash-fowarder 的源码改造出来。换句话说:Filebeat就是新版的 Logstash-fowarder,也会是 ELK Stack 在 Agent 的第一选择,目前Beats包含四种工具:

  • Packetbeat(搜集网络流量数据)

  • Metricbeat(搜集系统、进程和文件通过从操作系统和服务收集指标,帮助您监控服务器及其托管的服务。)

  • Filebeat(搜集文件数据)

  • Winlogbeat(搜集 Windows 事件日志数据)

4.Kibana:独立美观的图形数据展示界面: Kibana 是一个优秀的前端日志展示框架,它可以非常详细的将日志转化为各种图表,为用户提供强大的数据可视化支持,它能够搜索、展示存储在 Elasticsearch 中索引数据。使用它可以很方便的用图表、表格、地图展示和分析数据。让你可视化你的Elasticsearch数据并导航Elastic Stack,所以你可以做任何事情,从凌晨2:00分析为什么你得到分页,了解雨水可能对你的季度数字造成的影响。

二、实验环境

1.实验拓扑

2.实验准备

a.环境准备:

  • els——192.168.11.132——elasticsearch(搜索引擎)
  • logstash——192.168.11.139——logstash(日志处理) redis(缓冲队列)
  • filebeat——192.168.11.140——filebeat(日志收集)httpd/mysql(生成日志)
  • kibana——192.168.11.141——kibana(展示界面)

b.修改主机名

hostnamectl set-hostname els.along.com
hostnamectl set-hostname logstash.along.com
hostnamectl set-hostname filebeat.along.com
hostnamectl set-hostname kibana.along.com
注:分别在四台主机上操作,然后重启主机生效

c.修改hosts
vim /etc/hosts

192.168.11.132 els.along.com
192.168.11.139 logstash.along.com
192.168.11.140 filebeat.along.om
192.168.11.141 kibana.along.com

测试:互ping
[root@els ~]# ping logstash.along.com
[root@els ~]# ping filebeat.along.com
[root@els ~]# ping kibana.along.com

e.关闭防火墙、selinux
systemctl stop firewalld.service
systemctl status firewalld.service
setenforce 0
getenforce

f.同步时间
yum -y install chrony
vim /etc/chrony.conf

systemctl restart chronyd.service
chronyc sources -v

三、搭建elasticsearch和head插件

1.安装java环境
yum -y install java-1.8.0-openjdk-devel

2.安装下好的els(https://www.elastic.co)
yum -y install elasticsearch-5.5.1.rpm

3.修改jvm的配置
vim /etc/elasticsearch/jvm.options

4.配置els
vim /etc/elasticsearch//elasticsearch.yml

cluster.name: alongels #集群名字
node.name: els #节点名
path.data: /els/data #索引路径
path.logs: /els/logs #日志存储路径
network.host: 192.168.11.132 #对外通信的地址,依次修改为自己机器对外的IP
#http.port: 9200 #默认端口

5.创建所需的路径,并修改权限

mkdir -pv /els/{data,logs}
chown -R elasticsearch.elasticsearch /els/
*

6.重启服务
systemctl start elasticsearch.service

7.测试
ss -naput | grep 9200

curl 192.168.11.132:9200

浏览器访问:

8.安装elasticsearch 的head插件
谷歌Elasticsearch head插件实现了此功能,所以直接使用谷歌插件

四、搭建介绍logstash

1.介绍(笔者自己做笔记用,可以直接忽略)
查看官方文档:https://www.elastic.co/cn/products/logstash
① 官方介绍:Logstash is an open source data collection engine with real-time pipelining capabilities。简单来说logstash就是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供里很多功能强大的滤网以满足你的各种应用场景。

② Logstash的事件(logstash将数据流中等每一条数据称之为一个event)处理流水线有三个主要角色完成:inputs –> filters –> outputs:

logstash整个工作流分为三个阶段:输入、过滤、输出。每个阶段都有强大的插件提供支持:
Input 必须,负责产生事件(Inputs generate events),常用的插件有

  • file 从文件系统收集数据
  • syslog 从syslog日志收集数据
  • redis 从redis收集日志
  • beats 从beats family收集日志(如:Filebeats)

Filter常用的插件有, 可选,负责数据处理与转换(filters modify them)

  • grok grok是logstash中最常用的日志解释和结构化插件
  • mutate 支持事件的变换,例如重命名、移除、替换、修改等
  • drop 完全丢弃事件
  • clone 克隆事件
  • geoip 给ip地址添加地址信息

output 输出,必须,负责数据输出(outputs ship them elsewhere),常用的插件有

  • elasticsearch 把数据输出到elasticsearch
  • file 把数据输出到普通的文件
  • graphite 把数据输出到graphite (logstash 插件)
  • statsd 把数据输出到statsd(logstash插件)

    2.下载安装
    去官网下载对应版本的logstash ,我下载的是5.5.1版本https://www.elastic.co/cn/downloads/logstash
    yum -y install logstash-5.5.1.rpm

3.修改环境变量
vim /etc/profile.d/logstash.sh
export
. /etc/profile.d/logstash.sh

4.logstash演示用法(笔者做笔记,可忽略)

input => 标准输入

filter => 无

output => 标准输出

编辑配置文件,由于input、output还是标准输入输出

出现无法输出的情况可通过以下方法解决

a.示例1:标准输入输出(可忽略)
----编辑配置文件
cd /etc/logstash/conf.d/
vim test.conf

logstash -f ./test.conf -t
有Configuration OK表明测试成功
logstash -f ./test.conf

b.示例2:从文件输入数据,经grok 拆分插件过滤之后输出至标准输出(必做)

input => 文件输入

filter => grok、date 模块

grok:拆分字段

date:修改时间格式

output => 标准输出

----下载http服务
yum -y install httpd
systemctl start httpd
vim /var/www/html/index.html
home page
----生成20个测试页面
for i in {1…20}; do echo "Test Page i">/var/www/html/testi" > /var/www/html/testi">/var/www/html/testi.html; done
ls /var/www/html
curl 192.168.11.139
curl 192.168.11.139/test1.html
—循环生成httpd日志
for i in {1…200}; do j=((((((i %20+1)); curl http://192.168.11.139:80/test$j.html; done
**(重要)**
----vim test2.conf

logstash -f ./test.conf -t
有Configuration OK表明测试成功
logstash -f ./test.conf

c.示例3:filter 的date、mutate 插件(可忽略)
input => 标准输入

filter => date、mutate 模块

mutate:修改字段

output => 标准输出

vim test3.conf

logstash -f ./test.conf -t
有Configuration OK表明测试成功
logstash -f ./test.conf


d.示例4:filter 的 geoip 模块(记录世界ip地址)
input => 标准输入

filter => geoip 模块

geoip:利用这个模块解析ip的地址,利于后边kibana 的地理位置展示图

output => 标准输出

----(1)准备ip 数据库

网上下载数据库,因为是记录世界的IP 地址,所以经常有变动,可以写一个计划任务,每隔一周去网上下载一次,解包,链接到maxmind 下:
  tar xf GeoLite2-City.tar.gz
  mv GeoLite2-City_20190416/ /etc/logstash/
  cd /etc/logstash/
  mv GeoLite2-City_20190416/ maxmind
  ----模拟一个公网ip 访问
  echo ‘112.168.1.102 - - [08/Feb/2018:15:28:53 +0800] “GET /test6.html HTTP/1.1” 200 12 “-” “curl/7.29.0”’ >> /var/log/httpd/access_log

vim /etc/logstash/conf.d/test4.conf

logstash -f ./test.conf -t
有Configuration OK表明测试成功
logstash -f ./test.conf

e.示例5:output 输出给elasticsearch

input => 来自httpd 的访问日志

filter => geoip 模块

output => 输出给elasticsearch

vim test5.conf

logstash -f test5.conf -t
logstash -f test5.conf

f.示例6:output 输出给redis
input => 来自httpd 的访问日志

filter => geoip 模块

output => 输出给redis

yum -y install redis
vim /etc/redis.conf

systemctl restart redis

vim /etc/logstash/conf.d/test6.conf
测试如图

五、Beats 轻量型数据采集器

1.下载官网:
https://www.elastic.co/cn/products/beats

2.安装
yum -y install filebeat-5.5.1-x86_64.rpm

3.修改配置文件
vim /etc/filebeat/filebeat.yml


***-----示例1:配置filebeats,目标***elasticsearch
4.安装httpd服务
systemctl start filebeat.service
yum install httpd
systemctl start httpd
vim /var/www/html/index.html
for i in {1…20}; do echo "Test Page i">/var/www/html/test{i}" > /var/www/html/testi">/var/www/html/test{i}.html; done
ls /var/www/html/

curl 192.168.11.140
curl 192.168.11.140/test1.html

for i in {1…200}; do j=((((((i %20+1)); curl http://192.168.11.140:80/test$j.html; done(生成日志文件)

5.测试
filebeat.sh -e /etc/filebeat/filebeat.yml

----示例1:完整的ELK —> 配置filebeat,目标给logstash

1.配置filebeat
vim /etc/filebeat/filebeat.yml


systemctl restart filebeat.service
ss -anput | grep 5044

2.logstash服务器的配置
input => 来自filebeat

filter => geoip 模块

output => 输出给elasticsearch

vim /etc/logstash/conf.d/apachelogs.conf

logstash -f apachelogs.conf -t

3.filebeat的操作
systemctl restart filebeat.service
for i in {1…200}; do j=((((((i %20+1)); curl http://192.168.11.140:80/test$j.html; done(生成日志)

4.测试



----示例2:完整的els搭建

1.filebeat的操作
vim /etc/filebeat/filebeat.yml

redis-cli -a 123.com

2.logstash的操作
input => 来自redis

filter => geoip 模块

output => 输出给elasticsearch

vim /etc/logstash/conf.d/apachelogs2.conf

logstash -f apachelog.conf -t

3.filebeat的操作
systemctl restart filebeat
filebeat.sh -e /etc/filebeat/filebeat.yml
另开窗口产生日志
for i in {1…200}; do j=((((((i %20+1)); curl http://192.168.11.140:80/test$j.html; done

4.测试

六、kibana

1.介绍
  kibana 是您走进 Elastic Stack 的窗口,Kibana 让您能够可视化 Elasticsearch 中的数据并操作Elastic Stack,因此您可以在这里解开任何疑问:例如,为何会在凌晨 2:00 被传呼,雨水会对季度数据造成怎样的影响。

① 一张图片胜过千万行日志

Kibana 让您能够自由地选择如何呈现您的数据。或许您一开始并不知道自己想要什么。不过借助Kibana 的交互式可视化,您可以先从一个问题出发,看看能够从中发现些什么。

② 从基础入手

Kibana 核心搭载了一批经典功能:柱状图、线状图、饼图、环形图,等等。它们充分利用了Elasticsearch 的聚合功能。

③ 将地理数据融入任何地图

利用我们的 Elastic Maps Services 来实现地理空间数据的可视化,或者发挥创意,在您自己的地图上实现自定义位置数据的可视化。

④ 时间序列也在菜单之列

您可以利用 Timelion,对您 Elasticsearch 中的数据执行高级时间序列分析。您可以利用功能强大、简单易学的表达式来描述查询、转换和可视化。

⑤ 利用 graph 功能探索关系

凭借搜索引擎的相关性功能,结合 graph 探索,揭示您 Elasticsearch 数据中极其常见的关系。

2.官网下载
https://www.elastic.co/cn/downloads/kibana

3.安装配置
yum -y install kibana-5.5.1-x86_64.rpm
vim /etc/kibana/kibana.yml

systemctl start kibana

打开网页192.168.11.141:5601

kibana目前不会操作,日后更新。

ELK企业内部日志分析系统(elasticsearch/logstash/beats/kibana)centos7详解相关推荐

  1. elk日志分析系统_部署ELK企业内部日志分析系统

    部署ELK企业内部日志分析系统 一.实验环境 二.基本环境部署 1.IP地址配置 2.主机名配置三台节点hosts文件要一致 [root@yichen-els-node1 ~]# cat /etc/h ...

  2. Ubuntu 16.04源码搭建ELK日志分析系统(Elasticsearch+Logstash+Kibana)

    ELK环境 : 操作系统:Ubuntu 16.04 RAM:4GB CPU:2 注意 : 5.0版本之前可以在启动指令后跟:-Des.insecure.allow.root=true或者修改elast ...

  3. 八、日志分析系统Nginx,Beats,Kibana和Logstash

    @Author : By Runsen @Date : 2020/6/19 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘 ...

  4. ELK入门——ELK详细介绍(ELK概念和特点、Elasticsearch/Logstash/beats/kibana安装及使用介绍、插件介绍)

    目录 主要参考链接 一.什么是ELK(端口9200) 主要特点: 1.存储:面向文档+JSON 2.检索:倒排+乐观锁 3.分析:监控+预警+可视化 4.支持集群 二.Logstash(端口5044) ...

  5. 超实用的ELK日志分析系统

    文章目录 前言: 一.ELK日志分析系统简介 (一).日志服务器 (二).ELK日志分析系统 补充: (三).日志处理步骤 (四).Elasticsearch 介绍 (五).Logstash介绍 (六 ...

  6. 理论+实验:ELK日志分析系统

    目录 一.ELK日志分析系统简介 1.1 ELK日志分析系统简介-1 1.2 ELK日志分析系统简介-2 二.Elasticesarch介绍 三.Logstash介绍 四.Kibana介绍 五.部署E ...

  7. ELK企业级日志分析系统部署

    ELK企业级日志分析系统部署 文章目录 ELK企业级日志分析系统部署 1.什么是ELK日志分析系统 2.ELK日志分析系统诞生的原因 3.ELK日志分析系统的核心开源工具 3.1Logstash解析 ...

  8. 超详细 ELK 日志分析系统

    文章目录 一.ELK日志分析系统简介 1:ELK日志分析系统组成 2:日志处理步骤 二:三款软件简介 1:Elasticsearch (1)Elasticsearch的概述 (2)Elasticsea ...

  9. 企业级日志分析系统ELK(Elasticsearch , Logstash, Kibana)

    企业级日志分析系统ELK(Elasticsearch , Logstash, Kibana) 前言 一.ELK概述 1.ELK日志分析系统 2.ELK日志处理特点 3.Elasticsearch概述 ...

  10. 运维实操——日志分析系统ELK(中)之logstash采集数据、伪装rsyslog、多行过滤、grok切片

    日志分析系统ELK(中)之logstash 1.什么是logstash? 2.Logstash安装 3.logstash简单命令行测试 4.logstash文件测试 (1)命令行输入,输出到文件 (2 ...

最新文章

  1. TCP协议的服务器与客户端的程序设计(代码注释超详细)
  2. 利用CStopWatch计算并显示小车运行速度
  3. hql可以使用distinct吗_香薰精油可以当香水使用吗
  4. mysql动态标签可以嵌套吗_Mysql动态嵌套游标
  5. c 控制mysql数据导出_MySql数据库导入导出的三种方式
  6. 树莓派linux共享目录,树莓派局域网文件共享
  7. python df head_在方法()中调用时,Pandas Df.head()不显示?
  8. Docker 禁止被列入美国“实体名单”的国家、企业、个人使用
  9. iMazing Mac2平台上最好的iPhone、iPad和iPod设备管理器 详细功能介绍
  10. java 修改mysql密码_mysql数据库忘记密码时如何修改
  11. reverse函数中的begin和end迭代器
  12. java实现qq音乐vip歌曲永久下载
  13. Python基础语法回顾
  14. 计算机文献检索语言,文献检索语言
  15. WordPress 5.2中的致命错误恢复模式
  16. React-组件公共逻辑抽离的两种方式
  17. linux:The CXX compiler identification is unknown
  18. ps怎么将图片制作成ico图标? ps制作ico图标的教程
  19. JS实现最美的3D宇宙特效
  20. python车牌识别系统抬杆_车牌识别系统识别到道闸不抬杆是什么问题?

热门文章

  1. 对 云寻觅贴吧(http://tieba.yunxunmi.com/)的简要分析
  2. HTML+CSS 网页排版 笔记
  3. 计算机窗口闪屏,电脑玩游戏闪屏是什么原因(对应的解决方法)
  4. 【Watir Webdriver】自动化上传照片到百度相册
  5. 各个版本的金蝶kis的区别
  6. 可重入锁 ReentrantLock
  7. PV(访问量)、UV(独立访客)、IP(独立IP) (转)
  8. 关于线性回归分析的理解
  9. Android Studio 设置背景色、修改前进后退快捷键
  10. 计算机算法实际应用,数学方法在计算机算法中的应用分析