参考来自: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页,就可以看到数据了。

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

最新文章

  1. Clone Graph leetcode java(DFS and BFS 基础)
  2. oracle 读书笔记
  3. ArcEngine中使用上下左右键移动地图
  4. 话说TP框架里的Vendor这目录是干什么用的啊?类库扩展thinkphp3.1版本
  5. awk字符串函数及其意义
  6. 博客系统typecho的安装与使用
  7. Elastic Stack之FileBeat使用实战
  8. 028、限制容器对CPU的使用(2019-01-23 周三)
  9. SpringMVC框架01——使用IDEA搭建SpringMVC环境
  10. python+selenium+unittest 实现自动化测试
  11. maven的profile详解
  12. 使用Wisdom RESTClient进行自动化测试,如何取消对返回的body内容的校验?对排除的JSON属性字段不做校验?
  13. UI控件Telerik UI for WinForms发布R1 2019|附下载
  14. B1015 德才论 (25 分)
  15. python文本 去掉字符串前后空格
  16. Angular2 constructor VS ngOnInit
  17. 洛谷P1876开灯 题解
  18. Python之查询美国护照状态
  19. Ubuntu 16.04安装IntelliJ出品的数据库管理工具DataGrip
  20. 在github上面创建属于自己的个性主页

热门文章

  1. HDU 1087 最大上升子序列的和
  2. vue项目--favicon设置以及动态修改favicon
  3. [03] react 测试
  4. PriorityQueue详解(一)
  5. 【问题帖】压缩图片大小至指定Kb以下
  6. 花匠(NOIP2013)(神奇纯模拟)
  7. Android SQLite使用
  8. linux free 命令 ,讲解得比较好
  9. ws2s函数
  10. GitHub和GitLab的区别 转自(zhang_oracle)