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

根据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

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
WGLOG日志管理系统是怎么收集日志的
WGLOG通过部署Agent客户端采集日志,Agent持续收集指定日志文件并上报Server,Server负责展示与分析。Agent与Server需保持相同版本。官网下载地址:www.wgstart.com
|
6月前
|
Prometheus 监控 Cloud Native
基于docker搭建监控系统&日志收集
Prometheus 是一款由 SoundCloud 开发的开源监控报警系统及时序数据库(TSDB),支持多维数据模型和灵活查询语言,适用于大规模集群监控。它通过 HTTP 拉取数据,支持服务发现、多种图表展示(如 Grafana),并可结合 Loki 实现日志聚合。本文介绍其架构、部署及与 Docker 集成的监控方案。
602 122
基于docker搭建监控系统&日志收集
|
6月前
|
消息中间件 Java Kafka
搭建ELK日志收集,保姆级教程
本文介绍了分布式日志采集的背景及ELK与Kafka的整合应用。传统多服务器环境下,日志查询效率低下,因此需要集中化日志管理。ELK(Elasticsearch、Logstash、Kibana)应运而生,但单独使用ELK在性能上存在瓶颈,故结合Kafka实现高效的日志采集与处理。文章还详细讲解了基于Docker Compose构建ELK+Kafka环境的方法、验证步骤,以及如何在Spring Boot项目中整合ELK+Kafka,并通过Logback配置实现日志的采集与展示。
1145 64
搭建ELK日志收集,保姆级教程
|
9月前
|
监控 API 开发工具
HarmonyOS Next的HiLog日志系统完全指南:从入门到精通
本文深入解析HarmonyOS Next的HiLog日志系统,涵盖日志级别、核心API、隐私保护与高级回调功能,助你从入门到精通掌握这一重要开发工具。
|
6月前
|
Ubuntu
在Ubuntu系统上设置syslog日志轮替与大小限制
请注意,在修改任何系统级别配置之前,请务必备份相应得原始档案并理解每项变更可能带来得影响。
780 2
|
8月前
|
存储
WGLOG日志管理系统可以采集网络设备的日志吗
WGLOG日志审计系统提供开放接口,支持外部获取日志内容后发送至该接口,实现日志的存储与分析。详情请访问:https://www.wgstart.com/wglog/docs9.html
|
存储 消息中间件 缓存
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
基于阿里云SelectDB,MiniMax构建了覆盖国内及海外业务的日志可观测中台,总体数据规模超过数PB,日均新增日志写入量达数百TB。系统在P95分位查询场景下的响应时间小于3秒,峰值时刻实现了超过10GB/s的读写吞吐。通过存算分离、高压缩比算法和单副本热缓存等技术手段,MiniMax在优化性能的同时显著降低了建设成本,计算资源用量降低40%,热数据存储用量降低50%,为未来业务的高速发展和技术演进奠定了坚实基础。
545 1
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
|
网络安全
window系统下安装elk
本文介绍了Elasticsearch、Logstash和Kibana(统称ELK栈)8.17.3版本的安装与配置流程。主要内容包括: - **Elasticsearch**:详细描述了从下载到启动服务的步骤,以及`elasticsearch.yml`的关键配置项,并提供了Postman操作示例及常见问题解决方案。 - **Logstash**:涵盖了插件安装、配置文件`logstash.conf`编写及其启动命令。 - **Kibana**:讲解了下载、配置`kibana.yml`和启动过程,确保与Elasticsearch正确连接。
|
存储 JSON Go
PHP 日志系统的最佳搭档:一个 Go 写的远程日志收集服务
为了不再 SSH 上去翻日志,我写了个 Go 小脚本,用来接收远程日志。PHP 负责记录日志,Go 负责存储和展示,按天存储、支持 API 访问、可远程管理,终于能第一时间知道项目炸了。
269 10
|
存储 监控 安全
5款 Syslog集中系统日志常用工具对比推荐
集中管理Syslog有助于持续监控网络中的恶意活动,确保日志的搜索和分析更为便捷。常用工具包括Rsyslog、Syslog-ng、Logstash和Fluentd,它们各有优劣。Rsyslog通过多种协议确保日志传输的安全性;Syslog-ng支持高效收集和转发日志;Logstash能解析多源日志并索引;Fluentd将日志转换为JSON格式。卓豪EventLog Analyzer则提供一体化的日志管理,支持日志分析、报表生成、用户行为分析及实时告警,是全面的日志管理解决方案。
364 0