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. HDOJ1001

    #include<iostream> using namespace std; int main() { long long n; while(cin >> n) { cout ...

  2. 白化whitening

    原文地址:http://blog.csdn.net/hjimce/article/details/50864602 作者:hjimce 一.相关理论     白化这个词,可能在深度学习领域比较常遇到, ...

  3. 快速切题 hdu2416 Treasure of the Chimp Island 搜索 解题报告

    Treasure of the Chimp Island Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ( ...

  4. git reset --hard和git revert命令

      git reset --hard和git revert命令   git误操作时可以用git reset –hard 去撤销这次修改, 但是这样做也有问题,可能在之前本地有没有提交的修改也都消失了, ...

  5. InstallShield中打包ArcEnineRuntime

    InstallShield中打包ArcEnineRuntime 最近研究了一阵应用程序的打包,几天下来也算颇有收获.普通的.net程序打包相对简单一点,不过ArcEngine的应用程序还涉及到Engi ...

  6. 玩转X-CTR100 l STM32F4 l X-CTR100与树莓派搭建机器人平台

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器与树莓派Linux系统 ...

  7. if...then

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

  8. Python与系统的交互方式

    本节内容 os与commands模块 subprocess模块 subprocess.Popen类 总结 我们几乎可以在任何操作系统上通过命令行指令与操作系统进行交互,比如Linux平台下的shell ...

  9. LARC Caffe笔记(二) 训练自己的img

    继看完 贺完结!CS231n官方笔记 上一次已经成功跑起caffe自带的例程,mnist和cifar10 但是终归用的是里面写好的脚本,于是打算训练自己的img 〇.目标 准备好food图片3类(出于 ...

  10. 京东Java面试题(一)

    1.说一下java类集2.字符串哈西相等,equals相等吗?反过来呢?3.Spring的工作原理,控制控制反转是怎么实现的,自己写过滤器过滤编码怎么实现4.框架的源码有没有看过5.动态代理是怎么实现 ...