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. WebForm页面数据绑定总结

    总述 绑定语法 第一种: <%= str%> 例子:'<%= DateTime.Now %>'适用条件:用于非服务器端控件的属性第二种: <%= str%> 从出现 ...

  2. simulate mdns message

    use dns-sd command simulate mdns message: dns-sd -R test _test._tcp local 1234 a=1111111111111111111 ...

  3. OPENSHIFT MYSQL使用Navicat远程连接

    1.安装OpenShift的一个叫RHC的远程管理客户端:https://developers.openshift.com/en/getting-started-windows.html 注意ruby ...

  4. Vue 就地复用策略注意事项

    ---template部分 div el-popover(ref="message", placement="top-start", title="标 ...

  5. 纪念第一次ak。。。

    1.MM的数学作业 [题目大意] 今天,MM在上数学课,数学课的主题是函数.讲完以后老师留了一个家庭作业,让同学们回家思考.题目如下: 定义一个函数,F(x)表示x转成二进制后,二进制中“1”的个数. ...

  6. 【Grails 代理Proxy设置】部署Grails遇到Error Resolve error obtaining dependencies:错误,及解决方法

    最近在使用Grails,一开始使用3.0.2版本,一直包nullpointer错误,后来使用了2.5.0版本,可以创建工程,但是在进入到工程目录后,再执行grails程序,报错了,步骤如下: 1. g ...

  7. jQuery 禁用select和取消禁用之disabled

    jQuery1.5及以前: 禁用select: $('#groupId').attr('disabled','disabled'); 取消禁用: $('#groupId').removeAttr('d ...

  8. python3.6 ubuntu

    apt-get install python3.6-dev 安装 pip install mysqlclient 必备

  9. centos 7 NAT模式网络设置

    打开虚拟机.菜单栏点击‘编辑’ -> ‘虚拟网络设置’. 注意下图红色框地方的设置: 然后进入linux系统,编辑网络配置: vi /etc/sysconfig/network-scripts/ ...

  10. 基础练习 Huffuman树

     基础练习 Huffuman树   时间限制:1.0s   内存限制:512.0MB        问题描述 Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程. 给 ...