elasticsearch
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
 
/etc/yum.repos.d/elasticsearch.repo:
[elasticsearch-6.x]
 name=Elasticsearch repository for .x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=
autorefresh=
type=rpm-md
配置/etc/elasticsearch/elasticsearch.yml
修改:network.host: 0.0.0.0
这个改动用于地址绑定,可以实现监控多网卡(内网+外网)同一个端口,如果有需求得话。
验证:curl localhost:9200
 
Logstash
 
/etc/yum.repos.d/logstash.repo:
 [logstash-.x]
name=Elastic repository for .x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=
autorefresh=
type=rpm-md
 
/etc/logstash/conf.d/fb-es.conf
input {
beats {
port =>
ssl => false
client_inactivity_timeout =>
}
}
filter {
grok {
match => { "message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}"}
remove_field => ["message"]
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "nginx-%{+YYYY.MM.dd}"
document_type => "nginx"
}
}
注意,我在配置match的时候,是因为我使用Ngnix的日志内容:
55.3.244.1 GET /index.html 15824 0.043
其他日志内容要根据自己的日志格式来设定。
 验证:访问curl localhost:9600
kibana
 
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
/etc/yum.repos.d/kibana.repo:
 [kibana-.x]
name=Kibana repository for .x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=
autorefresh=
type=rpm-md

/etc/kibana/kibana.yml

配置:server.host: "0.0.0.0"

另外注意需要在kibana的management面板中配置索引“Index Pattern”,只有这样才能够通过kibana的Discovery面板来监控到各个索引的情况。

验证:通过网页端访问http://ip:5601

说明:ELK如果采用这种rpm包(yum)安装方式。默认配置文件在/etc/XX下面(XX代表elasticsearch/ logstash/ kibana);运行文件在/usr/share/XX下面。
注:看到这里,其实仔细看你会官方教程给的yum源其实都是一个;我们是不是只需要写好一个其他就OK呢?其实可以,但是对于新版本这样搞是否可以就不得而知了。
 
filebeat
 curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.3.2-x86_64.rpm
sudo rpm -vi filebeat-6.3.-x86_64.rpm
在/etc/filebeats文件夹下,编辑filebeats.yml,定义要采集(input)的文件信息:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/test.log  # 这里可以设置通配符,例如:*.log
同文件,配置输出(output)目的地,可以配置是es或者logstash(注意其他不要的输入配置需要最好注释掉):
output.elasticsearch:
hosts: ["myEShost:9200"]
或者
output.logstash:
hosts: ["logstash_ip:5044"]
 
验证&测试:
在部署了filebeat的机器上面,执行下面的命令:
 echo "55.3.244.1 GET /index.html 15824 0.043" >> /var/log/test.log  
此时通过kibana或者head插件既可以看到索引的文档数有增加;
关于head插件,github地址:https://github.com/mobz/elasticsearch-head;注意可以作为chrome的插件来部署,比较方便;当然也可以搭建一个站点。
 
问题:
  发现外网访问不了,原来需要设置监听主机的IP为0.0.0.0;eslasticsearch以及kibana很容就解决了这个问题;但是logstash上面就卡住了。5044端口无法访问;后来配置为http.host: "0.0.0.0",问题解决
 
  io.netty.handler.codec.DecoderException: org.logstash.beats.BeatsParser$InvalidFrameProtocolException: Invalid Frame Type, received: 84
  感觉上就是logstash和Filebeat什么没有配对上。这个问题其实并不知道怎么解决的,反正按照上面的配置之后,就解决了。
 
  Failed to publish events caused by: read tcp 172.17.0.2:59030->52.50.63.141:5000: read: connection reset by peer
  再后来就是通过kibana看不到数据,因为看日志一直发现一个异常“logstash filebeat connection reset by peer”。
  发现这个异常其实可以忽略;因为本来就是好用的,早就插入到了es里面了;只不过我当时是在kibana里面看到了数据没有展示,但是其实你通过head来进行查看的时候,你就会发现其实已经插入到里面了。head这个插件还要感谢迟永刚,是他和我闲聊的时候提到了这个组件。搞了一天半,终于发现问题原来就是他妈的kibana不好用。Kibana不好用是因为没有配置Kibana的索引类型,因为我后来的索引类型都是nginx做开头的(在logstash里面配置的),需要配置一个nginx-*的索引,配置之后,即可以在discovery里面看到了。
 
 
 
参考
https://www.elastic.co/guide/index.html 注意这个是elasticsearch技术栈文档的入口;即顶部菜单的“learn”一项
http://blog.51cto.com/seekerwolf/2106509
https://www.cnblogs.com/spec-dog/p/6235866.html

安装EKL的更多相关文章

  1. Docker版EKL安装记录文档

    Docker版EKL安装记录文档 拉取已下三个镜像 docker.io/logstash 7.5.2 b6518c95ed2f 6 months ago 805 MB docker.io/kibana ...

  2. HDP-2.6.1安装

    1.首先安装HDP的Ambari仓库文件到本机的/etc/yum.repos.d/ambari.repo路径下

  3. Oozie安装与部署

    原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3885162.html 安装基础环境: Hadoop – 2.2.0  Linux – Centos 6. ...

  4. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  5. 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法

    如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...

  6. Sublime Text3安装JsHint

    介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...

  7. Fabio 安装和简单使用

    Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...

  8. gentoo 安装

    加载完光驱后 1进行ping命令查看网络是否通畅 2设置硬盘的标识为GPT(主要用于64位且启动模式为UEFI,还有一个是MBR,主要用于32位且启动模式为bois) parted -a optima ...

  9. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

随机推荐

  1. 10. Regular Expression Matching *HARD*

    Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...

  2. drawImage

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head>    < ...

  3. SPOJ UMR 10A 计算几何

    DES:顺时针给出构成凸多边形的点.然后有Q个询问任意给出两个点的编号,询问由这两个点的连线将多边形分成的两部分面积较小的部分面积大小. 比赛时直接每次连线后求多边形求面积超时了.正确解法是求出利用叉 ...

  4. bzoj1572

    题解: 每一次不能满足的时候 找一个之前有过的 然后最小的 和他替换 代码: #include<bits/stdc++.h> using namespace std; ; long lon ...

  5. 设置xml中控件的圆润边框效果

    <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http: ...

  6. if...then

    我到现在明白一些道理 有些事情是徒劳无功的 有些却不是 世间事不过如此,只要你肯付出相应的代价,你就可以得到.

  7. STL标准库-一个万用的hash function

    技术在于交流.沟通,本文为博主原创文章转载请注明出处并保持作品的完整性 在前面我介绍过hash的使用,本次主要介绍一下Hash Function Hash Function即获得hash code的函 ...

  8. JVM --- OutOfMemoryError异常

    在Java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其他几个运行时区域都有可能发生OutOfMemoryError(OOM)异常. 1.Java堆溢出 Java堆用于存储对象实例,只要不断地创 ...

  9. 【设计模式】 模式PK:工厂模式VS建造者模式

    1.概述 工厂方法模式注重的是整体对象的创建方法,而建造者模式注重的是部件构建的过程,旨在通过一步一步地精确构造创建出一个复杂的对象.我们举个简单例子来说明两者的差异,如要制造一个超人,如果使用工厂方 ...

  10. [追加评论]三款SDR平台对比:HackRF,bladeRF和USRP

    这三个月,有幸把3种板子都用到了.说说使用体会.   我用过其中的HackRF,bladeRF x115,USRP B210.我并没有仔细的测量各种板子的射频指标什么的,只是做各种实验的时候用到它们. ...