软件版本:

  • es:2.4.0
  • logstash:2.4.0
  • kibana:4.6.1

一、logstash安装(收集、过滤日志、构建索引)

1、下载:https://www.elastic.co/downloads/

2、解压

3、启动

  • cd /Users/enniu1/Desktop/server/elk/logstash-2.4.0/bin

  • ./logstash -e 'input{stdin{}} output{stdout{codec=>rubydebug}}'

    • -e:用于快速测试的时候指定参数
    • codec:美化输出格式
    • 仅用于测试

4、测试

命令行输入:hello jigang

输出:

 {
"message" => "hello jigang",
"@version" => "1",
"@timestamp" => "2016-09-17T10:41:31.215Z",
"host" => "ShaoFeng51deMacBook-Pro.local"
}

注意:以上是logstash最常见的输出形式。

  • message:完整的输入信息或事件
  • host:事件发生的主机
  • @timestamp:事件被索引时的时间。

5、生产环境

使用配置文件配置input、filter、output信息

  • 自己创建配置文件:/Users/enniu1/Desktop/server/elk/logstash-2.4.0/conf/logstash.conf
 input {
stdin {}
} filter { } output {
elasticsearch { hosts => ["127.0.0.1:9200"] }
}
  • 以上配置将所有的输入信息都输出到es中,这是最常见的输出地方。
  • 还有一种elk架构使用redis作为broker来接收logstash收集到的数据,之后进行indexer,这是高数量情况下的首选,redis会担当一个消息队列的角色。

logstash配置文件配置文档:https://www.elastic.co/guide/en/logstash/current/configuration.html

之后启动logstash:./logstash -f ../conf/logstash.conf

至此,logstash配置安装成功!!!

二、es安装(搜索、存储日志)

1、下载:https://www.elastic.co/downloads/

2、解压

3、配置文件:elasticsearch-2.4.0/config/elasticsearch.yml

 # Use a descriptive name for your cluster:集群将根据这个名字来自动发现和加入节点
cluster.name: mymicroservice-elk
node.name: node-es-1
path.data: /Users/enniu1/Desktop/microservice/elk/es/data
path.logs: /Users/enniu1/Desktop/microservice/elk/es/logs
network.host: 127.0.0.1
http.port: 9200

4、启动

  • cd/Users/enniu1/Desktop/server/elk/elasticsearch-2.4.0/bin
  • nohup ./elasticsearch &

5、测试

浏览器输入:http://127.0.0.1:9200/,输出:

 {
"name" : "node-es-1",
"cluster_name" : "mymicroservice-elk",
"version" : {
"number" : "2.4.0",
"build_hash" : "ce9f0c7394dee074091dd1bc4e9469251181fc55",
"build_timestamp" : "2016-08-29T09:14:17Z",
"build_snapshot" : false,
"lucene_version" : "5.5.2"
},
"tagline" : "You Know, for Search"
}

成功!!!

注意:为了更好的使用并查看es的使用情况,安装Kopf插件。

Kopf插件地址:https://github.com/lmenezes/elasticsearch-kopf

插件安装文档:https://www.elastic.co/guide/en/elasticsearch/plugins/current/installation.html

安装命令:

  • cd/Users/enniu1/Desktop/server/elk/elasticsearch-2.4.0/bin
  • ./plugin install lmenezes/elasticsearch-kopf

安装插件之后重启es,浏览器输入:127.0.0.1:9200/_plugin/kopf,输出

成功!!!

三、kibana安装(展示日志信息)

1、下载:https://www.elastic.co/downloads/

2、解压

3、配置文件:/Users/enniu1/Desktop/server/elk/kibana-4.6.1/config

 server.host: "127.0.0.1"
server.port: 5601
elasticsearch.url: "http://127.0.0.1:9200"

4、启动

  • cd /Users/enniu1/Desktop/server/elk/kibana-4.6.1/bin
  • ./kibana

5、测试

浏览器输入:http://127.0.0.1:5601/

输出:

在此页面,点击"create"按钮,进行index的构建。

至此,kibana配置安装启动成功!!!

四、形成完整通道

在logstash终端输入:hello jigang

在kibana的Discover部分查看日志:

elk最简架构搭建完成!!!

第三十章 elk(1) - 第一种架构(最简架构)的更多相关文章

  1. 【第三十章】 elk(1) - 第一种架构(最简架构)

    软件版本: es:2.4.0 logstash:2.4.0 kibana:4.6.1 一.logstash安装(收集.过滤日志.构建索引) 1.下载:https://www.elastic.co/do ...

  2. thinkphp 的两种建构模式 第一种一个单入口里面定义两个模块,前台和后台,函数控制模块必须function.php前台加载前台模块的汉书配置文件,后台加载后台模块的汉书配置文件,公共文件共用。第二种架构模式两个单入口文件,分别生成两个应用定义define。。。函数可以定义配置文件。。。。

    thinkphp 的两种建构模式  第一种一个单入口里面定义两个模块,前台和后台,函数控制模块必须function.php前台加载前台模块的汉书配置文件,后台加载后台模块的汉书配置文件,公共文件共用. ...

  3. 数据库时间内接受的是lang类型的时间 分为三种字段 第一种只存日期 第二种存日期+时间 第三种时间戳

    数据库时间内接受的是lang类型的时间 分为三种字段 第一种只存日期 第二种存日期+时间 第三种时间戳

  4. 一种M2M业务的架构及实现M2M业务的方法

    http://www.cnblogs.com/coryxie/p/3849764.html 技术领域 [0001] 本发明涉及通信技术领域,尤其涉及一种M2M业务的架构及实现M2M业务的方法. 背景技 ...

  5. 一种更清晰的Android架构(转)

    一种更清晰的Android架构   一种更清晰的Android架构 原文链接 : Architecting Android…The clean way? 译者 : Mr.Simple & So ...

  6. 今天我们要说的画一个三角形,恩,画一个三角形,第一种呢是利用我们的html标签结合css来实现;而第二种方法就就是我们的html5新增的一个标签canves,这个canves就是网页画幕,那么顾名思义就是在网页里建造一个画板,用来画画,好,那接下来就和我一起去看看吧!

    第一种方法:利用我们的html标签结合css来实现 span{ width:0px; height:0px; border-width:7px; border-style:solid; border- ...

  7. Android-AnimationDrawable(三)运行的几种方式

    项目开发用到了AnimationDrawable,调用start后没有运行,很纳闷.google搜了下.记录一下. 这个AnimationDrawable.start不能直接写在onClick,onS ...

  8. 第一种:NStread

    - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typica ...

  9. 第三篇——第二部分——第一文 SQL Server镜像简介

    原文:第三篇--第二部分--第一文 SQL Server镜像简介 原文出处:http://blog.csdn.net/dba_huangzj/article/details/26951563 镜像是什 ...

随机推荐

  1. angular.js:13920 Error: [$injector:unpr] Unknown provider: $scopeProvider <- $scope <- testServe

    angular.js:13920 Error: [$injector:unpr] Unknown provider: $scopeProvider <- $scope <- testSer ...

  2. 【笔记】js获取当前点击元素的索引

    以前用jq 做过图片切换 滑动之类的特效现在想用js 试试是怎么一回事 jq图片切换的思路是用index()函数获取当前点击的按钮的索引然后根据索引值将对应索引的图片显示出来 于是查了一下js 是如何 ...

  3. Constraint5:unique 约束和null

    unique约束使用unique index来限制列值的唯一性: 创建unique约束之后,column中允许插入null值,unique 约束将两个null值看作是相同的(即null=null为tr ...

  4. 计算程序总行数的Python代码

    最近需要统计一下项目中代码的总行数,写了一个Python小程序,不得不说Python是多么的简洁,如果用Java写至少是现在代码的2倍. import os path="/Users/ron ...

  5. v-if VS v-show

    在vue实现轮播图效果 中分别用到 v-if和 v-show 下面讲讲我理解的他们的区别: v-if: 根据表达式的值的真假条件渲染元素.在切换时元素及它的数据绑定 / 组件被销毁并重建.如果元素是 ...

  6. Python深入06 Python的内存管理

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 语言的内存管理是语言设计的一个重要方面.它是决定语言性能的重要因素.无论是C语言的 ...

  7. Android标题栏最右边添加按钮

    step1:重写activity的onCreateOptionsMenu方法 @Override public boolean onCreateOptionsMenu(Menu menu){ Menu ...

  8. Jquery通过Ajax方式来提交Form表单

    今天刚好看到Jquery的ajax提交数据到服务器的方法,原文是: 保存数据到服务器,成功时显示信息. jQuery 代码: $.ajax({ type: "POST", url: ...

  9. Java (JVM) Memory Model – Memory Management in Java

    原文地址:http://www.journaldev.com/2856/java-jvm-memory-model-memory-management-in-java Understanding JV ...

  10. C语言 基础练习40题

    一.题目 1.输入2个整数,求两数的平方和并输出. 2. 输入一个圆半径(r)当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息. 3.函数y=f(x)可表示为: 4.编写一个程序,从4 ...