ELK日志系统:Filebeat使用及Kibana如何设置登录认证
根据elastic上的说法:
Filebeat is a lightweight, open source shipper for log file data. As the next-generation Logstash Forwarder, Filebeat tails logs and quickly sends this information to Logstash for further parsing and enrichment or to Elasticsearch for centralized storage and analysis.
Filebeat比Logstash貌似更好,是下一代的日志收集器,ELK(Elastic + Logstash + Kibana)以后估计要改名成EFK。
Filebeat使用方法:
1、下载最新的filebeat
地址:https://www.elastic.co/downloads/beats/filebeat 然后解压到任意目录
2、修改filebeat下的filebeat.yml文件,参考以下内容:
filebeat:
prospectors:
-
paths:
- "/var/log/nginx/*.log"
input_type: log
document_type: nginx-access -
paths:
- "/data/log/order/*.log"
input_type: log
document_type: order-service -
paths:
- "/opt/service/zhifu/logs/*.log"
input_type: log
document_type: zhifu-service output:
elasticsearch:
hosts: ["localhost:9200"] logging:
files:
rotateeverybytes: 10485760
里面hosts里的内容,改成实际elasticsearch的地址。
3、设置elasticsearch的filebeat模板
curl -XPUT 'http://localhost:9200/_template/filebeat?pretty' -d@/etc/filebeat/filebeat.template.json
注:上面localhost:9200改成实际的elasticsearch的地址,后面的一串为filebeat根目录下的filebeat.template.json的完整路径,顺利的话,会返回:
{
"acknowledged" : true
}
表示模板已被接收。
4、启动
./filebeat -e -c filebeat.yml -d "Publish"
如果能看到一堆东西输出,表示正在向elastic search发送日志。可以浏览:http://192.168.1.111:9200/_search?pretty 如果有新内容返回,表示ok
测试正常后,Ctrl+C结束,然后用
nohup ./filebeat -e -c filebeat.yml >/dev/null 2>&1 &
转入后台运行,最后到kibana里,创建一个索引,注意pattern为:filebeat-*
二、kibana的登录认证问题
kibana是nodejs开发的,本身并没有任何安全限制,直接浏览url就能访问,如果公网环境非常不安全,可以通过nginx请求转发增加认证,方法如下:
tips:kibana没有重启命令,要重启,只能ps -ef|grep node 查找nodejs进程,干掉重来。
1、参考以下内容,修改配置文件:
server {
listen 80;
server_name elk.yjmyzz.com;
location / {
auth_basic "secret";
auth_basic_user_file /data/nginx/db/passwd.db;
proxy_pass http://localhost:5601;
proxy_set_header Host $host:5601;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Via "nginx";
}
access_log off;
}
上面的配置表示将elk.yjmyzz.com的请求,转发到服务器的5601端口,同时使用最基本的用户名、密码来认证。
2、配置登录用户名,密码
htpasswd -c /data/nginx/db/passwd.db user1
注意passwd.db的路径要跟nginx配置中的一致,最后的user1为用户名,可以随便改,输入完该命令后,系统会提示输入密码,搞定后passwd.db中就有加密后的密码了,有兴趣的可以cat看下。
提示:htpasswd是apache自带的小工具,如果找不到该命令,尝试用yum install httpd安装
3、关掉kibana端口的外网访问
用nginx转发后,一定要记得配置iptables之类的防火墙,禁止外部直接访问5601端口,这样就只能通过nginx来访问了。

参考文章:
1、http://elk-docker.readthedocs.org/
2、https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-getting-started.html
3、http://geek.csdn.net/news/detail/54967
ELK日志系统:Filebeat使用及Kibana如何设置登录认证的更多相关文章
- ELK日志系统:Filebeat使用及Kibana如何设置登录认证(转)
原文地址:http://www.cnblogs.com/yjmyzz/p/filebeat-turorial-and-kibana-login-setting-with-nginx.html 根据el ...
- ELK日志系统:Elasticsearch+Logstash+Kibana+Filebeat搭建教程
ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程 系统架构 安装配置JDK环境 JDK安装(不能安装JRE) JDK下载地址:http://www.orac ...
- ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程
环境:OS X 10.10.5 + JDK 1.8 步骤: 一.下载ELK的三大组件 Elasticsearch下载地址: https://www.elastic.co/downloads/elast ...
- ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程(转)
环境:OS X 10.10.5 + JDK 1.8 步骤: 一.下载ELK的三大组件 Elasticsearch下载地址: https://www.elastic.co/downloads/elast ...
- ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程 good
环境:OS X 10.10.5 + JDK 1.8 步骤: 一.下载ELK的三大组件 Elasticsearch下载地址: https://www.elastic.co/downloads/elast ...
- ELK日志系统之kibana的使用操作
1.ELK日志系统打开后,打开kibana的操作界面,第一步创建索引模式: 第2步:创建日志索引 第3步:创建成功 第4步:查看30分钟时间段内的日志数据,也可以查今天的,今月的,今年的 放牛去
- 02篇ELK日志系统——升级版集群之kibana和logstash的搭建整合
[ 前言:01篇LK日志系统已经把es集群搭建好了,接下来02篇搭建kibana和logstash,并整合完成整个ELK日志系统的初步搭建. ] 1.安装kibana 3台服务器: 192.168.2 ...
- ELK日志系统之通用应用程序日志接入方案
前边有两篇ELK的文章分别介绍了MySQL慢日志收集和Nginx访问日志收集,那么各种不同类型应用程序的日志该如何方便的进行收集呢?且看本文我们是如何高效处理这个问题的 日志规范 规范的日志存放路径和 ...
- 创业公司做数据分析(四)ELK日志系统 (转)
http://blog.csdn.net/zwgdft/article/details/53842574 作为系列文章的第四篇,本文将重点探讨数据采集层中的ELK日志系统.日志,指的是后台服务中产生的 ...
随机推荐
- html5 canvas常用api总结(一)
1.监听浏览器加载事件. window.addEventListener("load",eventWindowLoaded,false); load事件在html页面加载结束时发生 ...
- C# 一段绘图代码 在form_load事件不能显示图
今天无意将一段绘图代码 写在form_load事件了,结果不能显示绘图.(代码:Graphics g = this.CreateGraphics();Pen pen = new Pen(Color.R ...
- Windows进程间通信—命名管道
命名管道是通过网络来完成进程间的通信,它屏蔽了底层的网络协议细节.我们在不了解网络协议的情况下,也可以利用命名管道来实现进程间的通信.与Socket网络通信相比,命名管道不再需要编写身份验证的代码.将 ...
- python学习笔记1:python入门
关于版本的选择 按照网上的说法,如果python是为了在工作中使用,选择2.7版本的.这里我选择2.7.9版本的来进行学习: Python是什么? 是一种高级的计算机程序设计语言.应用范围比较广,go ...
- Java接口响应超时监控
为什么要监控 服务化接口是提供服务的,接口正确性.稳定性是最最重要的,在保证正确的同时需要尽量提高接口响应时间. 有的团队会有专门的工具来对系统响应时间.吞吐量做监控,但如果团队没有这种"待 ...
- 记录一次bug解决过程:velocity中获取url中的参数
一.总结 在Webx的Velocity中获取url中参数:$rundata.getRequest().getParameter('userId') 在Webx项目中,防止CSRF攻击(Cross-si ...
- Date.parse
JavaScript: Date.parse(),一个参数,参数类型是 JavaScript 中的 Date 类型. 返回值 : 得到一个 Unix 时间戳,比如说,1470993235000,这种东 ...
- spider RPC高级特性
多租户 spider原生支持多租户部署,spider报文头对外开放了机构号.系统号两个属性用于支持多租户场景下的路由. 多租户场景下的路由可以支持下述几种模式: n 系统号: n 系统号+服务号( ...
- getRequestDispatcher()与sendRedirect()的区别
1.request.getRequestDispatcher()是请求转发,前后页面共享一个request ; response.sendRedirect()是重新定向,前后页面不是一个request ...
- atitit.http原理与概论attilax总结
atitit.http原理与概论attilax总结 1. 图解HTTP 作者:[日]上野宣 著1 2. HTTP权威指南(国内首本HTTP及其相关核心Web技术权威著作)1 3. TCP/IP详解(中 ...