一、实战背景

  根据公司平台的发展速度,对于ELK日志分析日益迫切。主要的需求有:

  1.用户行为分析

  2.运营活动点击率分析

  作为上述2点需求,安装最新版本6.4.0是非常有必要的,大家可根据本人之前博文ELK实战得知,之前ELK本人主要采用5.5.2 版本,

但是根据平台发展,5.5.2的功能不能完全满足我们的需求,所以现在博主与大家一起来对 6.4.0 (目前最新稳定版)版本进行安装部署。

二、ELK安装部署开始

  大家安装部署之前,可先参考官方文档进行部署。(官方参考文档地址可点击一下超链接)

  注:Elasticsearch 6.4.0 默认安装了x-pack 安全插件,该插件授权 30天试用。(如过期,则自行选择购买,或者破解,本方案不提供破解方案)

  Elasticsearch 6.4.0      Kibana 6.4.0     Logstash 6.4.0      Filebeat 6.4.0

 1、安装 Elasticsearch 

  1.1、下载安装Elasticsearch 6.4.0

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.0.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.0.tar.gz.sha512 # 当shasum命令不存在时,可执行命令安装 yum install perl-Digest-SHA
shasum -a 512 -c elasticsearch-6.4.0.tar.gz.sha512
tar -xzf elasticsearch-6.4.0.tar.gz
cd elasticsearch-6.4.0/

  2.1、配置Elasticsearch 集群

    2.1.1 配置服务器hosts

    由于模拟生产环境,提升计算能力,跨主机集群配置为优选

    #1.配置集群之前先配置每台节点主机hosts,下图以测试环境为例:

    配置 es-node1 es-node2 两台主机名称, es-node1为本机主机 ,如若增加主机节点,可配置es-node3 …,elasticsearch可配置上千节点作为集群服务节点。

vi /etc/hosts

192.168.30.21  es-node1
192.168.30.22 es-node2
192.168.30.23 es-node3

   2.1.2 配置Elasticsearch

   A.配置es-node1节点集群配置,如下配置 node.master:true 表示为主节点,node.data:true 表示主节点也作为数据节点

vi config/elasticsearch.yml

cluster.name: my_es_cluster
node.name: es-node1 path.data: /data/elk/es/data
path.logs: /data/elk/es/logs
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
# 配置白名单 0.0.0.0表示其他机器都可访问
network.host: 0.0.0.0
transport.tcp.port: 9300
# tcp 传输压缩
transport.tcp.compress: true
http.port: 9200
discovery.zen.ping.unicast.hosts: ["es-node1","es-node2","es-node3"]

   B.配置es-node2节点集群配置

vi config/elasticsearch.yml

cluster.name: my_es_cluster
node.name: es-node2
path.data: /data/elk/es/data
path.logs: /data/elk/es/logs
http.cors.enabled: true 
http.cors.allow-origin: "*"
node.master: false
node.data: true # 配置白名单 0.0.0.0表示其他机器都可访问
network.host: 0.0.0.0
transport.tcp.port: 9300
# tcp 传输压缩
transport.tcp.compress: true
http.port: 9200
discovery.zen.ping.unicast.hosts: ["es-node1","es-node2","es-node3"]

  C.配置es-node3节点集群配置

vi config/elasticsearch.yml

cluster.name: my_es_cluster
node.name: es-node3
path.data: /data/elk/es/data
path.logs: /data/elk/es/logs
http.cors.enabled: true 
http.cors.allow-origin: "*"
node.master: false
node.data: true
# 配置白名单 0.0.0.0表示其他机器都可访问
network.host: 0.0.0.0
transport.tcp.port: 9300
# tcp 传输压缩
transport.tcp.compress: true
http.port: 9200 discovery.zen.ping.unicast.hosts: ["es-node1","es-node2","es-node3"]

  2.1.3 启动elasticsearch

  A.启动elasticsearch服务之前,需先配置es用户组和es用户(由于es安全因素)

groupadd es              #增加es组
useradd es –g es –p pwd #增加es用户并附加到es组
chown -R es:es elasticsearch-6.4. #分配es的目录访问权限
su –es #切换es用户

  B.启动命令

/tools/elk/elasticsearch-6.4.
./bin/elasticsearch

  C.第一次启动将遇到问题

  ERROR: [2] bootstrap checks failed

  [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

#切换到root用户修改
vi /etc/security/limits.conf #在最后面追加
es hard nofile
es soft nofile #修改后重新登录es账号,使用命令查看上面设置是否成功,结果为65536则成功
ulimit -Hn

  [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

#切换到root用户
vi /etc/sysctl.conf #在最后追加
vm.max_map_count= #使用 sysctl -p 查看修改结果
sysctl -p

  D.解决以上问题,则先启动 数据节点,最后启动主节点

/tools/elk/elasticsearch-6.4.
./bin/elasticsearch

  F.当所有节点启动成功后,在主节点服务器执行以下curl命令,如下图所示,标识Elasticsearch集群启动成功。

curl http://localhost:9200/_nodes/process?pretty

2、安装 Kibana

  2.1 下载安装Kibana

wget https://artifacts.elastic.co/downloads/kibana/kibana-6.4.0-linux-x86_64.tar.gz
https://artifacts.elastic.co/downloads/kibana/kibana-6.4.0-linux-x86_64.tar.gz.sha512
shasum -a 512 kibana-6.4.0-linux-x86_64.tar.gz.sha512
tar -xzf kibana-6.4.-linux-x86_64.tar.gz 
mv kibana-6.4.-linux-x86_64/ kibana-6.4.
cd kibana-6.4./

  2.2 配置kibana

vi ./config/kibana.yml

server.host: "192.168.30.21"

  2.3 启动kibana

./bin/kibana

  2.4 访问kibana,如下图所示,表示启动成功

http://192.168.30.21:5601

  3、安装 Logstash 与 Filebeat

 3.1 下载安装Logstash和Filebeat

# Logstash
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.4.0.tar.gz
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.4.0.tar.gz.sha512
shasum -a 512 logstash-6.4.0.tar.gz.sha512
tar -xzf logstash-6.4.0.tar.gz
cd
logstash-6.4.0 # Filebeat
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.4.0-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.4.0-linux-x86_64.tar.gz.sha512
shasum -a 512 filebeat-6.4.0-linux-x86_64.tar.gz.sha512

tar -xzf filebeat-6.4.0-linux-x86_64.tar.gz
mv
filebeat-6.4.0-linux-x86_64 filebeat-6.4.0
cd
filebeat-6.4.0

3.2 配置Logstash、Filebeat (最新版与5.5.2版本有差异,最新版引入module的概念,具体查看官方文档)

  官方参考地址:https://www.elastic.co/guide/en/logstash/6.4/advanced-pipeline.html

  Filebeat + Kafka + Logstash方案地址(可参考):https://www.cnblogs.com/woodylau/p/9488339.html

  在本篇博文,将仅说明 Logstash与Filebeat的交互,采集日志,该交互参考了以上官方文档。采集nginx日志。

# Filebeat.yml
filebeat.prospectors:
- type: log
paths:
- /path/to/file/logstash-tutorial.log
multiline.pattern: ^\[
  multiline.negate: true
  multiline.match: after
output.logstash:
hosts: ["localhost:5044"]
# Logstash-test.yml
cd logstash-6.4.0
vi logstash_test.conf

input {
beats {
port => ""
}
}
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}"}
}
geoip {
source => "clientip"
}
}
output {
elasticsearch {
hosts => [ "localhost:9200" ]
}
}

3.3 启动Logstash、Filebeat 

#后台启动 filebeat
nohup ./filebeat -c ./filebeat.yml & #启动Logstash
nohup ./bin/logstash -f logstash-test.conf &

ELK 安装部署实战 (最新6.4.0版本)的更多相关文章

  1. 二进制搭建Kubernetes集群(最新v1.16.0版本)

    目录 1.生产环境k8s平台架构 2.官方提供三种部署方式 3.服务器规划 4.系统初始化 5.Etcd集群部署 5.1.安装cfssl工具 5.2.生成etcd证书 5.2.1 创建用来生成 CA ...

  2. 【转帖】sysbench使用教程(包含ubuntu自带的0.4版本、0.5版本和最新的1.0版本)

    sysbench使用教程(包含ubuntu自带的0.4版本.0.5版本和最新的1.0版本) 2018年08月10日 09:54:42 cxin917 阅读数 429   版权声明:本文为博主原创文章, ...

  3. ELK 安装部署小计

    ELK的安装部署已经是第N次了! 其实也很简单,这里记下来,以免忘记. #elasticsearch安装部署 wget https://artifacts.elastic.co/downloads/e ...

  4. Ubuntu18.04 LTS 安装部署golang最新版本1.10

    1 步骤 //1 直接安装golang-go 目前最新版本是1.10 sudo apt-get install golang-go //2 向/etc/profile追加以下代码 sudo vim / ...

  5. Azkaban介绍+安装部署+实战案例

    Azkaban介绍 什么是azkaban?1.工作流的作业调度系统2.通过k.v指令写法描述工作流节点3.可以通过web界面去管理工作流 Azkaban安装部署 2.3.1 准备工作 Azkaban ...

  6. zabbix4.4 (server,proxy,agent)安装部署实战

    一. 部署架构图 二. 安装环境及版本信息 操作系统:centos7 zabbix版本: 4.4 mysql: 5.7.28 三.zabbix server安装(192.168.182.132) rp ...

  7. 【Untiy3D 游戏开发之一】Unity3D For Window/Mac最新4.2.0版本破解教程

    转载请标明:转载自[小枫栏目],博文链接:http://blog.csdn.net/rexuefengye/article/details/11646885 一.Unity3D For Mac 1.首 ...

  8. Docker ElK安装部署使用教程

    一.简介 1.核心组成 ELK由Elasticsearch.Logstash和Kibana三部分组件组成: Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引 ...

  9. ELK安装部署

    一.ELK简介 ELK是Elasticsearch.Logstash.Kibana的简称,这三者是核心套件,但并非全部.Elasticsearch是实时全文搜索和分析引擎,提供搜集.分析.存储数据三大 ...

随机推荐

  1. Linux C -> symlink 和 readlink -> 符号链接

    Linux C -> symlink 和 readlink -> 符号链接 -------------------------------------------------------- ...

  2. WinDbg:栈帧的含义

    转自:http://www.cppblog.com/weiym/archive/2012/06/07/177958.html 栈从高地址向低地址生长, __stcall和__cdecl调用约定都是函数 ...

  3. Git学习1:Git起步

    本系列文章部分原理和命令相关内容是从 https://git-scm.com/book/zh/v2 摘录,软件实际使用是总结自己的实践经验成文. 1. 关于版本控制 版本控制是一种记录一个或若干文件内 ...

  4. 关于使用metronic时里modal模拟框使用ueditor时不能全屏的情况

    ueditor里有这么断代码, 1.初始显示状态下(非全屏),修改一下代码的z-index UE.Editor.defaultOptions = function(editor){ var _url ...

  5. WCF 的优势和特点

    版权声明:本文为博主原创文章,未经博主允许不得转载. 一.理解面向服务(Service-Oriented-Architecture)    是指为了解决在Internet环境下业务集成的需要,通过连接 ...

  6. win7 64位 安装java jdk1.8 ,修改配置环境变量

    下载jdk1.8,下载地址:http://www.wmzhe.com/soft-30118.html 安装时有两个程序,都安装在同一个目录下. win7 64位 安装java jdk1.8 ,修改配置 ...

  7. angular2 里父子组件传值的坑

    1.如果传的是基本类型的值,子组件里改变该值,父组件无变化 2.如果传的是对象,子组件里改变对象里的变量,父组件会变化 3.如果传的是函数,this不会继续指向父组件对象了,如果需要this指向父组件 ...

  8. WP模拟器修改语言为中文方法

    对于WP7模拟器来说默认启动时显示的语言为英文,除了操作界面外,如果你的应用支持多国语言必须修改为中文才能显示正确的界面.下面Zune123将WP7 Emulator修改语言为中文的方法写个简单的教程 ...

  9. asp.net反射的运用

    反射的用途:    (1)使用Assembly定义和加载程序集,加载在程序集清单中列出模块,以及从此程序集中查找类型并创建该类型的实例.     (2)使用Module了解包含模块的程序集以及模块中的 ...

  10. intellij 无法导入 SimpleTagSupport问题

    主要原因还是导包问题: 需要导入2个包: 之前,我只导入 servlet-api.jar ,总是报错,最后导入jsp-api.jar后,才成功可以继承!