2017.7.18 linux下ELK环境搭建
参考来自: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环境搭建的更多相关文章
- 2017.7.18 windows下ELK环境搭建
参考来自:Windows环境下ELK平台的搭建 另一篇博文:2017.7.18 linux下ELK环境搭建 0 版本说明 因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1.7, ...
- Linux下ELK环境搭建
一.准备工作 准备3台机器,这样才能完成分布式集群的实验,当然能有更多机器更好: 192.168.3.64(e1) 192.168.3.62 (e2) 192.168.3.63(e3) 角色划分: ...
- linux下LAMP环境搭建
++++++++++++++++++++++++++++++++++++++++++++++ linux下LAMP环境搭建 ++++++++++++++++++++++++++++++++++++++ ...
- Linux 下LNMP环境搭建_【all】
LNMP = Linux + Nginx + Mysql + PHP 1.0 Linux环境搭建 Linux 系统安装[Redhat] 1.1. FastCGI介绍 1.什么是CGI(common g ...
- 2017.7.18 linux下用户、组和文件的操作
参考来自:<鸟叔的linux私房菜(基础学习篇)-第14章> 0 目的 在linux下搭建ELK环境时,因为elasticsearch不能在root下操作,所以要为其新增一个用户,以及随之 ...
- Linux下-LNMP环境搭建博客网站(全过程)
通常我们所说的LNMP是指一个网站基本的组织框架,即Linux系统支持,Nginx静态服务,Mysql数据库支持以及PHP动态编程语言支持.目前Mysql数据库被Oracle数据库分析公司收购,其创始 ...
- linux下LAMP环境搭建尝试
最近,学习搭建了LAMP服务环境,中间遇到了很多问题,经过不断摸索总算得以解决.为了大家少走弯路,现将相关经验进行总结. linux下软件安装分为自动安装和手动安装两种,自动安装借助工具如yum等,自 ...
- linux下PHP 环境搭建
linux下环境搭建 第一步 安装Apache2 sudo apt-get install apache2 第二步 安装PHP模块 sudo apt-get install php5 第三 ...
- linux下scrapy环境搭建
最近使用scrapy做数据挖掘,使用scrapy定时抓取数据并存入MongoDB,本文记录环境搭建过程以作备忘 OS:ubuntu 14.04 python:2.7.6 scrapy:1.0.5 D ...
随机推荐
- [CQOI2018]异或序列 (莫队,异或前缀和)
题目链接 Solution 有点巧的莫队. 考虑到区间 \([L,R]\) 的异或和也即 \(sum[L-1]~\bigoplus~sum[R]\) ,此处\(sum\)即为异或前缀和. 然后如何考虑 ...
- ping & traceroute 原理
说明: 忘记从哪里看到的原文了. 不过我应该进行了大刀阔斧的删选. ping 用类型码为0的ICMP发请 求,受到请求的主机则用类型码为8的ICMP回应. ping程序来计算间隔时间,并计算有多少个包 ...
- 寻找道路(NOIP2014)神奇之题。。
原题传送门 这道题嘛.. 首先根据题目,我们要先知道哪些点能够到达终点.(反向BFS) 然后我们再求最短路的途中,必须随时判断周围的点是否被第一次BFS标记过.. 所以再来一次BFS. 数组记得清零, ...
- linux进程地址空间--vma的基本操作【转】
转自:http://blog.csdn.net/vanbreaker/article/details/7855007 版权声明:本文为博主原创文章,未经博主允许不得转载. 在32位的系统上,线性地址空 ...
- select 动态添加 获取 整理
比如<select class="selector"></select> 1.设置value为pxx的项选中 $(".selector" ...
- [BZOJ2038] [2009国家集训队]小Z的袜子(hose) 莫队算法练习
2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec Memory Limit: 259 MBSubmit: 10299 Solved: 4685[Sub ...
- poj2976(01分数规划)
poj2976 题意 给出 a b 数组,一共 n 对数,其中最多可以去掉 k 对,问怎样使剩下比率(原始比率是 $ \frac{\sum_{i=1}^{n} a}{\sum_{i=1}^{n} b} ...
- [BZOJ5288][HNOI2018]游戏(拓扑排序)
传送门:https://www.luogu.org/problemnew/show/P4436 20分的暴力加一个Random_shuffle就A了.我还能说什么.. 不过这个也不是毫无道理,复杂度应 ...
- iOS静态库打包
当了三年多程序员,第一次写随便,说来有些惭愧.想成为一个优秀的程序员,分析,思考,总结并且做记录是必不可少的,今天先从简单的命令总结记起.好了,废话不多说了,Let's start our games ...
- 使用net包发送http请求
[java] view plain copy import java.io.BufferedReader; import java.io.InputStream; import java.io.Inp ...