热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ELK日志分布式日志平台搭建

首先先搭建好ELK中的ElasticSearch存储数据和Logstash采集数据ElasticSearch本地快速搭建与使用es的独立性也很强,它本身是一个分布式的搜索引擎,通过

首先先搭建好ELK中的ElasticSearch存储数据 和Logstash采集数据

ElasticSearch 本地快速搭建与使用

es的独立性也很强,它本身是一个分布式的搜索引擎,通过倒排序索引对存储的数据进行索引。
当输入查询关键字之后,es依据命中结果的匹配度有序返回结果,效果就像大家百度或者google搜索一样。

在ELK组合中,担当的是数据存储、索引和提供查询接口的功能。

Logstash安装配置

kibana图形显示数据

kibana是一个数据展示的客户端,提供对es中数据的可视化搜索和展示功能,主要提供了时间维度和数据中字段值的检索。以及功能丰富的看板,能够添加曲线图、饼图、地址分布图等多种样式的展示图形。

elasticsearch 服务安全配置

elasticsearch 服务安全配置

一、目前主要通过插件的形式来控制:

  1. 常用的插件主要包括:elasticsearch-http-basic,search-guard,shield
  2. 由于shield是收费的暂时还未研究(研究后统一补充)
  3. search-guard主要用于elasticsearch2.x以后的版本(研究后统一补充)
  4. elasticsearch-http-basic主要用于elasticsearch1.x的版本
  5. 基于目前我们es集群大部分都是1.5.2版本的,所以主要使用http-basic来控制来自http请求的访问。

二、elasticsearch-http-basic安装:

  1. 下载elasticsearch-http-basic-1.5.1.jar(下载地址:https://github.com/Asquera/elasticsearch-http-basic/releases)
  2. 在ES的plugins文件夹下新建http-basic文件夹
  3. 把下载的 elasticsearch-http-basic-1.5.1.jar拷贝到新建的http-basic文件夹下
  4. 修改ES的配置文件elasticsearch.yml,在文件末尾添加以下配置:
配置名                                     默认值                            说明

http.basic.enabled                         true                            开关,开启会接管全部HTTP连接

http.basic.user                          "admin"                          账号

http.basic.password                      "admin_pw"                       密码

http.basic.ipwhitelist            ["localhost", "127.0.0.1"]    白名单内的ip访问不需要通过账号和密码,支持ip和主机名,不支持ip区间或正则

http.basic.trusted_proxy_chains    []                                    信任代理列表

http.basic.log    false                                              把无授权的访问事件添加到ES的日志

http.basic.xforward    ""                                          记载代理路径的header字段名

5.重启ES集群
目前我们主要通过http.basic.ipwhitelist 白名单 + 用户名、密码来控制外部机器对ES集群的http请求,

1.在白名单内的ip列表用户无需验证可直接通过ES节点的ip地址访问ES,白名单外的用户无权访问ES集群

2.由于白名单无法控制通过域名的访问,如果要通过域名访问ES必须要通过用户名和密码来访问

安装
下载地址:https://www.elastic.co/downloads/kibana
解压:tar zxvf kibana-6.4.0-linux-x64.tar.gz

配置 Kibana
Kibana server 启动时从 kibana.yml 文件中读取配置属性。Kibana 默认配置 localhost:5601 。改变主机和端口号,或者连接其他机器上的 Elasticsearch,需要更新 kibana.yml 文件。也可以启用 SSL 和设置其他选项。

Kibana 基础配置项
https://www.elastic.co/guide/cn/kibana/current/settings.html(官方配置文档)

#默认值: 5601 Kibana 由后端服务器提供服务,该配置指定使用的端口号。
server.port: 5601
#默认值: "localhost" 指定后端服务器的主机地址。
server.host: "192.168.1.191"
#默认值: "http://localhost:9200" 用来处理所有查询的 Elasticsearch 实例的 URL 。
elasticsearch.url: "http://192.168.1.191:9200"

启动Kibana

./kibana  //不能关闭终端
nohup  ./kibana > /nohub.out &  //可关闭终端,在nohup.out中查看log
在浏览器中访问:http://192.168.1.191:5601/

输入*配备所有目录 选择其中一个生成数据
ELK日志分布式日志平台搭建

ELK日志平台整合

因为没有特负责的业务,所以这里采用FileBeats收集日志直接输出到elasticsearch ,用kibana展示查询

安装运行 FileBeats

FileBeats 也提供了下载包,地址为 https://www.elastic.co/downloads/beats/filebeat 。找到系统对应的包下载后解压即可。

tar zxvf filebeat-6.2.2-darwin-x86_64.tar.gz
cd filebeat-6.2.2-darwin-x86_64

进入目录编辑 filebeat.yml 找到对应的配置项,配置如下

###################### Filebeat Configuration Example #########################

# 此文件是一个示例配置文件,仅突出显示最常见的配置文件

#=========================== Filebeat inputs =============================

filebeat.inputs:
# 每个 - 是一个输入。 大多数选项可以在输入级别设置,因此您可以使用不同的输入进行各种配置。下面是输入特定的配置。
- type: log
  # 为true以启用此输入配置。
  enabled: true
  # 采集文件的路径
  paths:
    - /usr/local/apache-tomcat-8.5.34/logs/*.txt

  #要匹配的正则表达式列表。 它会删除与列表中任何正则表达式匹配的行。
  #exclude_lines: ['^DBG']
  # 要匹配的正则表达式列表
  #include_lines: ['^ERR', '^WARN']

  # 排除文件。 要匹配的正则表达式列表
  #exclude_files: ['.gz$']

  # 可选的附加字段。 可以***选择这些字段以将其他信息添加到已爬网日志文件以进行过滤
  #fields:
  #  level: debug
  #  review: 1

  ### Multiline options

  # 多行可用于跨越多行的日志消息。 这对于Java Stack Traces或C-Line Continuation来说很常见
  # 必须匹配的正则表达式模式。 示例模式匹配以[以[]开头的所有行
  #multiline.pattern: ^\[

  # 定义是否取消设置的模式。 默认值为false。
  #multiline.negate: false




#============================= Filebeat modules ===============================

filebeat.config.modules:
  # 用于配置加载的Glob模式
  path: ${path.config}/modules.d/*.yml
  #设置为true以启用配置重新加载
  reload.enabled: false
  #检查路径下文件的更改周期
  #reload.period: 10s

#====================Elasticsearch模板设置 ==========================

setup.template.settings:
  index.number_of_shards: 3
  #index.codec: best_compression
  #_source.enabled: false

#============================== Kibana 设置=====================================
setup.kibana:
  host: "192.168.1.191:5601"

#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
  hosts: ["192.168.1.191:9200"]
  template.name: "filebeat"
  template.path: "filebeat.template.json"
  template.overwrite: false

  # Optional protocol and basic auth credentials.
  #protocol: "https"
  #username: "elastic"
  #password: "changeme"

配置完成后执行如下命令,启动 FileBeat 即可(elasticsearch先启动)

# FileBeat 需要以 root 身份启动,因此先更改配置文件的权限
sudo chown root filebeat.yml
sudo ./filebeat -e -c filebeat.yml -d "publish"
#后台启动
nohup ./filebeat -e -c filebeat.yml >/dev/null 2>&1 &

访问kibana就会出现新加入的索引列表filebeat-6.4.0-2018.09.29
ELK日志分布式日志平台搭建


推荐阅读
  • Flume 数据采集组件
    目录1、数据收集工具系统产生背景2、专业的数据收集工具2.1、Chukwa2.2、Scribe2.3、Fluentd2.4、Logstash2.5、ApacheFlu ... [详细]
  • 分享一下我老师大神的人工智能教程!零基础,通俗易懂!http:blog.csdn.netjiangjunshow也欢迎大家转载本篇文章。分 ... [详细]
  • ArcBlock 发布 ABT 节点 1.0.31 版本更新
    2020年11月9日,ArcBlock 区块链基础平台发布了 ABT 节点开发平台的1.0.31版本更新,此次更新带来了多项功能增强与性能优化。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 精选10款Python框架助力并行与分布式机器学习
    随着神经网络模型的不断深化和复杂化,训练这些模型变得愈发具有挑战性,不仅需要处理大量的权重,还必须克服内存限制等问题。本文将介绍10款优秀的Python框架,帮助开发者高效地实现分布式和并行化的深度学习模型训练。 ... [详细]
  • 本文介绍了如何在不同操作系统上安装Git,以及一些基本和高级的Git操作,包括项目初始化、文件状态检查、版本控制、分支管理、标签处理、版本回退等,并简要提及了开源许可协议的选择。 ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • 本文详细记录了 MIT 6.824 课程中 MapReduce 实验的开发过程,包括环境搭建、实验步骤和具体实现方法。 ... [详细]
  • 【转】强大的矩阵奇异值分解(SVD)及其应用
    在工程实践中,经常要对大矩阵进行计算,除了使用分布式处理方法以外,就是通过理论方法,对矩阵降维。一下文章,我在 ... [详细]
  • 本文整理了关于Sia去中心化存储平台的重要网址和资源,旨在为研究者和用户提供全面的信息支持。 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • ELK+filebeat安装部署监控springboot日志
    ELK服务器端部署1.安装dockercompose,略2.配置docker-compose.ymlcdrootelkvidocker-compose.ymlversion:&am ... [详细]
  • 搞懂 ELK 并不是一件特别难的事
    点击下方“民工哥技术之路”,选择“设为星标”回复“1024”获取独家整理的学习资料!本篇文章主要介绍ELK的一些框架组成,原理和实践&#x ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有