elastic stack部署

技术简介:

  • Elasticsearch :分布式搜索引擎。具有高可伸缩、高可靠、易管理等特点。可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 是用Java 基于 Lucene 开发,现在使用最广的开源搜索引擎之一,Wikipedia 、StackOverflow、Github 等都基于它来构建自己的搜索引擎。在elasticsearch中,所有节点的数据是均等的。
  • Logstash :数据收集处理引擎。支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储以供后续使用。
  • Kibana :可视化化平台。它能够搜索、展示存储在 Elasticsearch 中索引数据。使用它可以很方便的用图表、表格、地图展示和分析数据。
  • Filebeat:轻量级数据收集引擎。相对于Logstash所占用的系统资源来说,Filebeat 所占用的系统资源几乎是微乎及微。它是基于原先 Logstash-fowarder 的源码改造出来。换句话说:Filebeat就是新版的 Logstash-fowarder,也会是 ELK Stack 在 Agent 的第一选择。
  • Elasticsearch、Logstash、Kibana、Filebeat安装的版本号必须全部一致,不然会出现kibana无法显示web页面。

ELK常见的几种架构:

  • Elasticsearch + Logstash + Kibana 这是一种最简单的架构。这种架构,通过logstash收集日志,Elasticsearch分析日志,然后在Kibana(web界面)中展示。这种架构虽然是官网介绍里的方式,但是往往在生产中很少使用。
  • Elasticsearch + Logstash + filebeat + Kibana 与上一种架构相比,这种架构增加了一个filebeat模块。filebeat是一个轻量的日志收集代理,用来部署在客户端,优势是消耗非常少的资源(较logstash), 所以生产中,往往会采取这种架构方式,但是这种架构有一个缺点,当logstash出现故障, 会造成日志的丢失。
  • Elasticsearch + Logstash + filebeat + redis(也可以是其他中间件,比如RabbitMQ) + Kibana 这种架构是上面那个架构的完善版,通过增加中间件,来避免数据的丢失。当Logstash出现故障,日志还是存在中间件中,当Logstash再次启动,则会读取中间件中积压的日志。

部署:

  • 环境准备
10.100.6.60 elasticsearch-7.11.1  数据库,存数据 CentOS7.6 4核4G java java version “1.8.0_171”
10.100.6.60 kibana-7.11.1  分析,过滤,展示 CentOS7.6 4核4G java java version “1.8.0_171”
10.100.6.62 logstash-7.11.1 收集日志,过滤数据 CentOS7.6 4核4G java java version “1.8.0_171”
filebeat-7.11.1 收集日志,传输到es GO
  • 软件下载地址:

https://www.elastic.co/cn/downloads/

部署思路如下:Elasticsearch + Logstash + Kibana+filebeats 采用简单的架构

  1. 在两台服务器配置JDK环境,jdk版本不能太高,推荐jdk8
  2. 安装elasticsearch
  3. 部署elasticsearch rpm包
  4. 修改elasticsearch配置文件

修改的配置文件如下:

vim /etc/elasticsearch/elasticsearch.yml

#

cluster.name: my-application

node.name: node-1

path.data: /var/lib/elasticsearch

path.logs: /var/log/elasticsearch

network.host: 10.100.6.60

http.port: 9200

cluster.initial_master_nodes: [“node-1”]

  1. 启动elasticsearch
  2. 部署kibana
  3. 安装kibana rpm包
  4. 修改kibana配置文件

vi /etc/kibana/kibana.yml

#

server.port: 5601

server.host: “0.0.0.0”

elasticsearch.hosts: [“http://localhost:9200”]

kibana.index: “.kibana”

  1. 启动kibana
  2. 访问kibana,浏览器上输入:http://ip:5601,出现以下界面,则安装成功同时由于启动较慢,可多刷新几次。
  3. 部署logstash
  4. 安装logstash rpm包
  5. 修改logstash配置文件

vim /etc/logstash/logstash.yml

#

http.host: “0.0.0.0”

http.port: 9600-9700

cp /etc/logstash/logstash-sample.conf /etc/logstash/conf.d/logstash.conf

input {

beats {

port => 5044

}

}

output {

elasticsearch {

hosts => [“10.100.6.60:9200”]

index => “logstash-%{+YYYY.MM.dd}”

}

}

  1. 启动logstash
elastic stack部署

发表回复

滚动到顶部