参考来自:Linux日志分析ELK环境搭建

 

0 版本说明

因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1.7,所以采用的是5.0前的最新版本。

1 Elasticsearch : 2.4.4
2 Logstash:2.4.1
3 kibana:4.6.4

操作环境:

1 新建用户和用户组

注意:elasticsearch不能以root运行的问题 ,所以建议单独建立一个用户来运行elasticsearch。

主要步骤:

 创建新用户组和新用户
将新用户添加到新组
创建用户主目录
让新用户获得其主目录有文件的拥有权限
设置新用户的密码

这里详细步骤写在: 2017.7.18 linux下用户和组的操作

操作完成后,创建了组elkgroup和用户elkuser,主目录为elkuser。

2 下载与解压

2.1 下载

下载地址:https://www.elastic.co/downloads

将下载好的安装包,通过ftp工具上传到elkuser的主目录下,并且解压。

2.2 解压

解压的命令为:

解压后,查看当前elkuser是否拥有文件的操作权限。(如果没有操作权限会使得后面启动elastic的时候无法解析路径,导致启动失败)

3 启动Elasticsearch服务

3.1 修改配置文件elasticsearch.yaml

为了能通过浏览器访问elasticsearch,需要修改配置文件elasticsearch.yaml的host和port。

注意,yaml文件最前方缩进表示层级,所以千万不要多打空格。否则报错如下:

3.2 启动elasticsearch

3.3 访问localhost:9200来验证

另外开一个终端,访问localhost:9200,出现如下页面则安装并启动服务成功。

3.4 安装head插件

下载并安装完成后,查看elasticsearch所拥有的插件:

访问localhost:9200/_plugin/head/,出现如下页面,表示安装head插件成功。这里已经有一些建好的索引了。

4 启动logstash服务

4.1 在bin目录下,新建配置文件logstash.conf

简单的配置如下:input和output为必填,filter可以根据需求来写或者不写。因为这里处理的数据为json,所以在codec里设置了json。

更详细的配置参看官网。

 input{
file{
path => "E:/lyh/software/ELK/sample/data/accounts.json"
start_position => "beginning"
type => "testdata"
codec => json{
charset => "UTF-8"
}
}
} filter{
} output{
elasticsearch{
hosts => "localhost:9200"
index => "logstash-%{type}"
}
}

4.2 启动logstash服务

启动前可以先检查一下配置文件的正确性。

5 启动kibana服务

5.1 启动kibana服务

5.2 访问localhost:5601来验证

6  使用ELK处理数据

上面访问localhost:5601的时候,可以看到有一个提示:unable to fetch mapping,do you have indices matching the pattern?

而访问localhost:9200的时候,也可以看到索引里没有刚刚logstash.conf配置里的:logstash-testdata

  

这就说明logstash没有把日志写入到elasticsearch。

打开account.json,随意修改(内容可以不变但是要有操作)然后点击保存。重启服务后,再刷新这两个页面就有新数据了。

刷新页面后可以看到elasticsearch中已经有了新的索引和数据:

这个时候再去kibana中创建对应的索引,就可以查看相应的数据了。此时的提示已经不见,变成了create。

点击创建后,访问kibana的discover页,就可以看到数据了。

经过一些处理后,可以看到一些更直观的画面信息。

2017.7.18 linux下ELK环境搭建的更多相关文章

  1. 2017.7.18 windows下ELK环境搭建

    参考来自:Windows环境下ELK平台的搭建 另一篇博文:2017.7.18 linux下ELK环境搭建 0 版本说明 因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1.7, ...

  2. Linux下ELK环境搭建

    一.准备工作 准备3台机器,这样才能完成分布式集群的实验,当然能有更多机器更好: 192.168.3.64(e1) 192.168.3.62  (e2) 192.168.3.63(e3) 角色划分: ...

  3. linux下LAMP环境搭建

    ++++++++++++++++++++++++++++++++++++++++++++++ linux下LAMP环境搭建 ++++++++++++++++++++++++++++++++++++++ ...

  4. Linux 下LNMP环境搭建_【all】

    LNMP = Linux + Nginx + Mysql + PHP 1.0 Linux环境搭建 Linux 系统安装[Redhat] 1.1. FastCGI介绍 1.什么是CGI(common g ...

  5. 2017.7.18 linux下用户、组和文件的操作

    参考来自:<鸟叔的linux私房菜(基础学习篇)-第14章> 0 目的 在linux下搭建ELK环境时,因为elasticsearch不能在root下操作,所以要为其新增一个用户,以及随之 ...

  6. Linux下-LNMP环境搭建博客网站(全过程)

    通常我们所说的LNMP是指一个网站基本的组织框架,即Linux系统支持,Nginx静态服务,Mysql数据库支持以及PHP动态编程语言支持.目前Mysql数据库被Oracle数据库分析公司收购,其创始 ...

  7. linux下LAMP环境搭建尝试

    最近,学习搭建了LAMP服务环境,中间遇到了很多问题,经过不断摸索总算得以解决.为了大家少走弯路,现将相关经验进行总结. linux下软件安装分为自动安装和手动安装两种,自动安装借助工具如yum等,自 ...

  8. linux下PHP 环境搭建

    linux下环境搭建   第一步 安装Apache2 sudo apt-get install apache2   第二步 安装PHP模块 sudo apt-get install php5   第三 ...

  9. linux下scrapy环境搭建

    最近使用scrapy做数据挖掘,使用scrapy定时抓取数据并存入MongoDB,本文记录环境搭建过程以作备忘 OS:ubuntu 14.04  python:2.7.6 scrapy:1.0.5 D ...

随机推荐

  1. 论文笔记《Deep Hand: How to Train a CNN on 1 Million Hand Images When Your Data Is Continuous and Weakly Labelled》

    一.概述 这个是最近的核心工作了,基本上都是靠着这篇paper的model过日子了啊.. 论文主要讲的是hand gesture recognition,实际上是用googlenet做的一个class ...

  2. 2016华中农业大学预赛 E 想法题

    Problem E: Balance Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 205  Solved: 64[Submit][Status][We ...

  3. Java中Collections的frequency方法

    注:调用此方法时需要根据自己的须由复写Objects的equals方法 创建复写了equals方法的对象类 public class Student { private String name; pr ...

  4. Java中的抽象和封装

    一.面向对象和面向过程的区别 面向对象: 核心:封装了属性和方法的类,以数据为中心,实现了类级别的代码重用 面向对象因为采用了类,所以具有继承和多态特性,可以进一步重用代码和简化编程 面向过程: 核心 ...

  5. Oracle 数据库维护相关

    版本升级 在维护数据库升级的过程中,会产生n个脚本.谈谈我所处的项目背景,项目数据库最早版本假定为1,最后在多次维护后,版本号,可能变更为16.那么针对项目上不同的数据库版本,如何来进行升级呢? 我使 ...

  6. 无法解析的外部符号 "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)"

    采用下面的方法.重新编译了一下依赖的库,OK了.   问题描述: 今天用VS2010编译一个在VS2008下Coding的工程的时候,VS给出了一堆链接错误信息,如下图所示: 在ErrorList里面 ...

  7. C++文件(夹)选择对话框

    由于各种应用,我们需要调用系统的打开文件对话框或者打开文件夹对话框,或两者兼有.今遇到这个情况已经解决,特写下这篇博文. 1.打开文件对话框常用的方法是使用系统的CFileDialog.这里介绍另外一 ...

  8. VS217下载码云服务器项目

    按下图打开VS2017团队资源管理器的管理连接 ,本地GIT存储库下面输入远程GIT存储库URL地址和保存到本地的地址即可将远程项目下载到本地,下载完成后,关闭VS2017重新打开这个项目就可以进行源 ...

  9. 【微信】根据appid, secret, code获取用户基本信息

    function getUserInfo(){ $appid = "yourappid"; $secret = "yoursecret"; $code = $_ ...

  10. hdu5884(多叉哈夫曼树)

    hdu5884 题意 给出 n 个数,每次选择不超过 k 个数合并(删掉这些数,加入这些数的和),花费为合并的这些数的和,要求最后只剩下一个数,问 k 最小取多少. 分析 二分 k,合并数的时候可以按 ...