ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 环境:OS X 10.10.5 + JDK 1.8 步骤: 一、下载ELK的三大组件 Elasticsearch下载地址: https://www.elastic.co/downloads/elasticsearch (目前最新版本:2.

环境:OS X 10.10.5 + JDK 1.8

步骤:

一、下载ELK的三大组件

Elasticsearch下载地址: https://www.elastic.co/downloads/elasticsearch (目前最新版本:2.1.1)

Logstash下载地址: https://www.elastic.co/downloads/logstash (目前最新版本:2.1.1)

Kibana下载地址: https://www.elastic.co/downloads/kibana (目前最新版本:4.3.1)

下载后将其解压到某个目录即可,本文中的解压目录为:

~/app/elasticsearch-2.1.1

~/app/logstash-2.1.1

~/app/kibana-4.3.1-darwin-x64

注:这3个组件相互之间的关系及作用如下:

Logstash(收集服务器上的日志文件) --》然后保存到 ElasticSearch(搜索引擎) --》Kibana提供友好的web界面(从ElasticSearch读取数据进行展示)

 

二、启动elasticsearch

2.1

进入elasticsearch目录\bin

./elasticsearch

顺利的话,启动成功后,在浏览器里输入http://localhost:9200/ 应该能看到类似下面的输出:

 1 {
 2   "name" : "Atalanta",
 3   "cluster_name" : "elasticsearch",
 4   "version" : {
 5     "number" : "2.1.1",
 6     "build_hash" : "40e2c53a6b6c2972b3d13846e450e66f4375bd71",
 7     "build_timestamp" : "2015-12-15T13:05:55Z",
 8     "build_snapshot" : false,
 9     "lucene_version" : "5.3.1"
10   },
11   "tagline" : "You Know, for Search"
12 }

2.2 安装kopf插件

先按Ctrl+C停止elasticsearch,接下来准备安装插件,elasticsearch有大量插件资源,用于增加其功能,bin目录下,输入

./plugin list 可以查看当前安装的插件列表,我们刚刚全新安装,输出的是一个空列表,继续输入

./plugin install lmenezes/elasticsearch-kopf

将会联网安装kopf插件,安装完成后,再次用./plugin list确认下:

Installed plugins in /Users/yjmyzz/app/elasticsearch-2.1.1/plugins:
    - .DS_Store
    - kopf

如果输出上述类似,表明kopf安装成功。

然后重启elasticsearch,浏览器里输入http://localhost:9200/_plugin/kopf,将会看到类似下面的界面,可以很直观的看到elasticsearch的一些运行状况

点击看大图

以上操作都ok后,建议Ctrl+C关掉,改用nohup ./elasticsearch & 将其做为后台进程运行,以免退出。

 

三、logstash的启动与配置

3.1 新建索引配置文件

~/app/logstash-2.1.1/bin 下

mkdir conf

vi conf/logstash-indexer.conf

内容如下:

 1 input {
 2  file {
 3    path => ["/var/opt/log/a.log","/var/opt/log/b.log"]
 4  }
 5 }
 6 
 7 output {
 8   elasticsearch { hosts => ["localhost:9200"] }
 9   stdout { codec => rubydebug }
10 }

上面几个步骤的意思就是创建一个名为logstash-indexer.conf的配置文件,input{file{...}}部分指定的是日志文件的位置(可以多个文件),一般来说就是应用程序log4j输出的日志文件。output部分则是表示将日志文件的内容保存到elasticsearch,这里hosts对应的是一个数组,可以设置多个elasticsearch主机,相当于一份日志文件的内容,可以保存到多个elasticsearch中。

至于第9行的stdout,则表示终端的标准输出,方便部署时验证是否正常运行,验证通过后,可以去掉。

3.2 启动

继续保持在logstash的bin目录下,输入

./logstash -f conf/logstash-indexer.conf

稍等片刻,如果看到Logstash startup completed,则表示启动成功。然后另开一个终端窗口,随便找个文本编辑工具(比如:vi),向/var/opt/log/a.log里写点东西,比如:hello world之类,然后保存。观察logstash的终端运行窗口,是否有东西输出,如果有以下类似输出:

1 {
2        "message" => "hello world",
3       "@version" => "1",
4     "@timestamp" => "2016-01-08T14:35:16.834Z",
5           "host" => "yangjunmingdeMacBook-Pro.local",
6           "path" => "/var/opt/log/a.log"
7 }

说明logstash工作正常,此时浏览http://localhost:9200/_search?pretty 也应该能看到一堆输出,表明elasticsearch接收到logstash的数据了。

 

四、kibana的配置及启动

4.1 修改配置文件

~/app/kibana-4.3.1-darwin-x64/config 下有一个配置文件kibana.yml,大概在12行的位置,改成下面这样:

1 # The Elasticsearch instance to use for all your queries.
2 elasticsearch.url: "http://localhost:9200"

即:指定elasticsearch的访问位置

4.2 启动

~/app/kibana-4.3.1-darwin-x64/bin 下,输入:

./kibana

注:如果启动不成功,请检查版本是否为4.3.1,kibana必须与elasticsearch的版本匹配,一般说来,都从官网下载最新版即可。

启动完成后,在浏览器里输入http://localhost:5601/ 即可看到kibana界面,首次运行,会提示创建index,直接点击Create按钮即可。

然后,就能看到类似下面的界面了:

 

参考文章:

http://baidu.blog.51cto.com/71938/1676798?utm_source=tuicool&utm_medium=referral

https://www.elastic.co/products

http://www.cnblogs.com/yjf512/p/4199105.html

http://kibana.logstash.es/content/

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
1月前
|
监控 安全 Linux
【Elasticsearch专栏 14】深入探索:Elasticsearch使用Logstash的日期过滤器删除旧数据
使用Logstash的日期过滤器可以有效删除Elasticsearch中的旧数据,释放存储空间并提高集群性能。通过配置Logstash,可以指定索引模式、筛选时间戳早于特定阈值的文档,并在输出阶段删除这些旧数据。执行配置时,需确保Logstash与Elasticsearch连接正常,并监控日志以确保操作安全。定期执行此操作可确保旧数据不会过多积累。总之,Logstash的日期过滤器提供了一种简单而高效的方法,帮助管理和优化Elasticsearch中的数据。
|
2月前
|
存储 监控 数据可视化
日志分析对决:揭示 ELK 与 GrayLog 的优势和差异
日志分析对决:揭示 ELK 与 GrayLog 的优势和差异
228 0
|
3月前
|
存储 Prometheus 监控
Prometheus vs. ELK Stack:容器监控与日志管理工具的较量
随着容器化技术的广泛应用,容器监控与日志管理成为了关键任务。本文将对两种常用工具进行比较与选择,分别是Prometheus和ELK Stack。Prometheus是一款开源的监控系统,专注于时序数据的收集和告警。而ELK Stack则是一套完整的日志管理解决方案,由Elasticsearch、Logstash和Kibana三个组件组成。通过比较它们的特点、优势和适用场景,读者可以更好地了解如何选择适合自己需求的工具。
|
12天前
|
消息中间件 存储 运维
更优性能与性价比,从自建 ELK 迁移到 SLS 开始
本文介绍了 SLS 基本能力,并和开源自建 ELK 做了对比,可以看到 SLS 相比开源 ELK 有较大优势。
54492 47
|
2月前
|
存储 监控 关系型数据库
ELK架构监控MySQL慢日志
ELK架构监控MySQL慢日志
|
2月前
|
JSON 数据可视化 应用服务中间件
ELK技术栈 - Kibana 学习笔记
ELK技术栈 - Kibana 学习笔记
38 0
|
21天前
|
Java
使用Java代码打印log日志
使用Java代码打印log日志
75 1
|
22天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
77 1
|
26天前
|
SQL 关系型数据库 MySQL
MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复
对于MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复。二进制日志是MySQL中记录所有数据库更改操作的日志文件。要进行时间点恢复,您需要执行以下步骤: 1. 确保MySQL配置文件中启用了二进制日志功能。在配置文件(通常是my.cnf或my.ini)中找到以下行,并确保没有被注释掉: Copy code log_bin = /path/to/binary/log/file 2. 在需要进行恢复的时间点之前创建一个数据库备份。这将作为恢复的基准。 3. 找到您要恢复到的时间点的二进制日志文件和位置。可以通过执行以下命令来查看当前的二进制日志文件和位
|
1月前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
49 0

热门文章

最新文章