ELK环境搭建完整说明

ELK环境搭建完整说明

ELK:ElasticSerach、Logstash、Kibana三款产品名称的首字母集合,用于日志的搜集和搜索。简单地理解为我们可以把服务端的日志(nginx、tomcat等)直接web化展示查看,十分方便。

本机环境说明:
    系统:centos7.5
    ElasticSerach:6.4.2
    Logstash:6.4.2
    Kibana:6.4.2
    Filebeat:6.4.2

部署情况简介

说明:图是直接搜索的网上的,其中nginx、elk这里都采用单机直接部署,所以ip相同,我这里为192.168.21.128。

流程说明

 1. 业务请求到达nginx-server机器上的Nginx;
 2. Nginx响应请求,并在access.log文件中增加访问记录;
 3. FileBeat搜集新增的日志,通过LogStash的5044端口上传日志;
 4. LogStash将日志信息通过本机的9200端口传入到ElasticSerach;
 5. 搜索日志的用户通过浏览器访问Kibana,服务器端口是5601;
 6. Kibana通过9200端口访问ElasticSerach;

安装java环境

因为ElasticSerach运行需要java环境支持,所以首先要配置java环境,具体操作方法自行百度吧,网上比较多。

下载ELK安装包

ELK官网:https://www.elastic.co/downloads

手动下载ELK安装的tag.gz文件,这里我们放入/usr/local/work/下,并解压缩,最终效果如下:

创建用户

因为ElasticSerach运行时不允许以root用户身份的,所以这里需要手动创建用户并分配权限,具体如下:

  1. 创建用户组:groupadd elasticsearch
  2. 创建用户加入用户组:useradd elasticsearch -g elasticsearch
  3. 设置ElasticSerach文件夹为用户elasticsearch所有:chown -R elasticsearch.elasticsearch /usr/local/work/elasticsearch-6.4.2

系统设置部分

  1. 打开文件/etc/security/limits.conf,添加下面4处内容:

    * soft nofile 65536
    * hard nofile 131072
    * soft nproc 2048
    * hard nproc 4096
  2. 打开文件/etc/sysctl.conf,添加下面内容:
    vm.max_map_count=655360
  3. 加载sysctl配置,执行命令:sysctl -p
  4. 重启电脑,执行命令:reboot

启动ElasticSerach

  1. 切换到用户elasticsearch:su elasticsearch
  2. 进入目录/usr/local/work/elasticsearch-6.4.2
  3. 执行启动命令:bin/elasticsearch -d,此时会在后台启动elasticsearch(如果启动报错没有权限的话,重新执行上面的chown那部分命令设置权限)
  4. 查看启动日志可执行命令:tail -f /usr/local/work/elasticsearch-6.4.2/logs/elasticsearch.log
  5. 执行curl命令检查服务是否正常响应:curl 127.0.0.1:9200,收到响应如下:

具体效果:

配置启动Logstash

  1. 在目录/usr/local/work/logstash-6.4.2下创建文件default.conf,内容如下:
# 监听5044端口作为输入
input {
    beats {
        port => "5044"
    }
}
# 数据过滤
filter {
    grok {
        match => { "message" => "%{COMBINEDAPACHELOG}" }
    }
    geoip {
        source => "clientip"
    }
}
# 输出配置为本机的9200端口,这是ElasticSerach服务的监听端口
output {
    elasticsearch {
        hosts => ["127.0.0.1:9200"]
    }
}
  1. 后台启动Logstash服务:nohup bin/logstash -f default.conf –config.reload.automatic &
  2. 查看启动日志:tail -f logs/logstash-plain.log,启动成功的信息如下:

Kibana

  1. 打开Kibana的配置文件/usr/local/work/kibana-6.4.2-linux-x86_64/config/kibana.yml,找到下面这行:
#server.host: "localhost"

改成如下内容:

server.host: "192.168.21.128"
  1. 进入Kibana的目录:/usr/local/work/kibana-6.4.2-linux-x86_64
  2. 执行启动命令:nohup bin/kibana &
  3. 查看启动日志:tail -f nohup.out
  4. 在浏览器访问http://192.168.21.128:5601,看到如下页面:

注意:
    这里访问5601的时候可能访问不通,centos有自己的防火墙及端口限制,具体设置自行百度吧,很多的。
    

配置Filebeat,传送nginx日志至LogStash

  1. 打开文件/usr/local/work/filebeat-6.4.2-linux-x86_64/filebeat.yml,找到如下图的位置并设置:

  1. 继续修改filebeat.yml文件,找到下图中的内容并设置:

  1. 启动FileBeat:nohup ./filebeat -e -c filebeat.yml -d "publish" &

验证kibana是否能显示nginx的日志

至此,环境搭建完成~

原文地址:https://www.cnblogs.com/vipzhou/p/9768702.html

时间: 2024-10-10 19:14:47

ELK环境搭建完整说明的相关文章

CentOS 7下最新版(6.2.4)ELK+Filebeat+Log4j日志集成环境搭建完整指南

现在的公司由于绝大部分项目都采用分布式架构,很早就采用ELK了,只不过最近因为额外的工作需要,仔细的研究了分布式系统中,怎么样的日志规范和架构才是合理和能够有效提高问题排查效率的.经过仔细的分析和研究,确定下面的架构应该是比较合理的之一(Filebeat也支持直接写到ES).关于ELK的各种架构以及优缺点,可以参考https://www.ibm.com/developerworks/cn/opensource/os-cn-elk-filebeat/index.html. 首先,不管是不是分布式架

(实际应用)ELK环境搭建

今天给大家带来的是开源实时日志分析 ELK , ELK 由 ElasticSearch . Logstash 和 Kiabana 三个开源工具组成.官方网站:https://www.elastic.co 其中的3个软件是: Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制, restful 风格接口,多数据源,自动搜索负载等. Logstash 是一个完全开源的工具,他可以对你的日志进行收集.分析,并将其存储供以后使用(如,搜索

ELK环境搭建

Virtualbox/Vagrant安装 41.1. Virtualbox安装 41.2. Vagrant安装 41.2.1. 简述 41.2.2. Vagrant box 41.2.3. 安装配置 51.2.4. 常用命令 6 ELK安装 62.1. CentOS7系统配置 62.1.1. 安装iptables 62.1.2. 安装ifconfig 62.1.3. 禁用IPV6 72.2. 安装Java并配置环境变量 72.3. 安装Elasticsearch 72.3.1. 导入elasti

Linux下ELK环境搭建

一.准备工作 准备3台机器,这样才能完成分布式集群的实验,当然能有更多机器更好: 192.168.3.64(e1) 192.168.3.62  (e2) 192.168.3.63(e3) 角色划分: 3台机器全部安装jdk1.8,因为elasticsearch是java开发的 3台全部安装elasticsearch (后续都简称为es) e1作为主节点 e2,e3作为数据节点 e1上需要安装kibana 在e2上安装 logstash 二.es的安装配置 2.1es下载安装 [[email pr

LNMP环境搭建完整步骤

零.resource   http://pan.baidu.com/s/1o83r3S2 一.centos 6.4.VirtualBox 5.0.14 二.nginx 1.9.9 安装 [[email protected] ~]# cd /usr/local/src/ [[email protected] src]# yum install wget [[email protected] src]# wget http://heanet.dl.sourceforge.net/project/pc

ELK环境搭建及client配置

官网下载:logstash.kibana.elas: 在server端: 安装logstash:rpm包方式,最新版本 /etc/logstash/conf.d/下,创建个配置文件,用来收集client端的日志信息: #vim  server.conf input {      #配置输入信息及方式: redis { port => "6379" host => "10.6.22.75" data_type => "list"

从零搭建ES搜索服务(一)基本概念及环境搭建

前言 本系列文章最终目标是为了快速搭建一个简易可用的搜索服务.方案并不一定是最优,但实现难度较低. 背景 近期公司在重构老系统,需求是要求知识库支持全文检索. 我们知道普通的数据库like方式效果及性能都不好,所以另寻出路,确定通过 Elasticsearch (下文简称「 ES 」)搜索引擎实现. 技术选型 因公司之前购买了阿里云的ES服务且版本为 5.5.3 ,下文选用的技术框架均基于此版本. ① Elasticsearch 5.5.3 一个基于Lucene的搜索服务器,提供了分布式的全文搜

Eclipse4.6(Neon) + Tomcat8 + MAVEN3.3.9 项目完整环境搭建

软件清单 jdk-8u102-windows-x64.exe eclipse-inst-win64.exe (Eclipse4.6 Neon) apache-tomcat-8.5.5-windows-x64.zip apache-maven-3.3.9-bin.zip 1.JDK的安装 安装过程就是next一路到底; 安装完成之后要配置环境变量: 1.1 新建变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.8.0_102(这是我的jdk安装路径) 1.2

【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把环境搭建起来了,把过程记录下来分享给大家. 内容目录: 1.默认基础环境 2.NDK下载与配置 3.安装Cygwin 4.用NDK编译 5.安装