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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

IIRF(Ionics Isapi Rewrite Filt er)实现在IIS 5/6上重写Url

IIS 7的URL Rewrite功能非常强大,可以通过Microsoft URL Rewrite Module来实现,可参看文章使用Microsoft URL...

1957
来自专栏铭毅天下

干货 | Elasticsearch集群黄色原因的终极探秘

绿色——最健康的状态,代表所有的主分片和副本分片都可用; 黄色——所有的主分片可用,但是部分副本分片不可用; 红色——部分主分片不可用。(此时执行查询部分数...

1200
来自专栏运维

Elastic Stack5.2.2升级到6.0.0注意事项

6.0版本filebeat prospectors中的document_type被禁用,原来的topic: '%{[type]}'获取文档类型的方式不可用,但是...

1023
来自专栏Youngxj

AE博客原创 | 开源的短网址程序Myurl

2502
来自专栏运维

ELK Stack最新版本测试二配置篇

http://jerrymin.blog.51cto.com/3002256/1720109

911
来自专栏静默虚空的博客

Elastic 技术栈之 Logstash 基础

Elastic 技术栈之 Logstash 基础 本文是 Elastic 技术栈(ELK)的 Logstash 应用。 如果不了解 Elastic 的安装、...

8876
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用Topbeat和ELK收集基础架构度量标准

Topbeat是帮助将各种类型的服务器数据发送到Elasticsearch实例的几个“Beats”数据发送器之一,它允许您收集有关服务器上的CPU,内存和进程活...

1633
来自专栏性能与架构

快速认识ELK中的L - Logstash

简介 Logstash 是一个开源的数据采集引擎。 Logstash 就像是一个管子,左面接数据源接收数据,右面接存储目的地,管子中间有过滤器,对接收到的数据进...

3648
来自专栏互联网开发者交流社区

PHP配置方法

1702
来自专栏黑白安全

中间件安全加固之Apache

使用命令“chmod 600 /etc/httpd/conf/httpd.conf”设置配置文件为属主可读写,其他用户无权限

1482

扫码关注云+社区