分布式系列教程(42) -ELK配置与使用

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 分布式系列教程(42) -ELK配置与使用

引言

在前面的博客中,我们知道在Linux下如何搭建ELK(ElasticSearch+Logstash+Kibana)以及它们的使用,如有兴趣的同学,可以参考下。

安装教程:

使用教程:

前面讲的都是ELK每个模块单独使用的,本文主要讲解三者是如何联合使用。

ELK配置使用流程

首先确保ELK已经成功的安装在Linux服务器上了。

1.配置Logstash,把ElasticSearch的日志POST到ElasticSearch服务器存储。在Logstash配置目录下新建文件myeslog.conf

cd /usr/local/logstash-6.4.3/config/
vi myeslog.conf

2.配置内容如下:

input {
    # 从文件读取日志信息 输送到控制台
    file {
        path => "/usr/local/elasticsearch-6.4.3/logs/myes.log"
        codec => "json" ## 以JSON格式读取日志
        type => "elasticsearch"
        start_position => "beginning"
    }
}
# filter {
#
# }
output {
    # 标准输出 
    # stdout {}
    # 输出进行格式化,采用Ruby库来解析日志   
     stdout { codec => rubydebug }
  elasticsearch {
        hosts => ["192.168.162.131:9200"]
        index => "es-%{+YYYY.MM.dd}"
    }  
}

3.先切换至用户账号,启动ES:

su ylw
/usr/local/elasticsearch-6.4.3/bin/elasticsearch

4.启动Logstash,这里前台启动,方便看控制台输出日志(-f表示前台启动,启动有点慢):

cd /usr/local/logstash-6.4.3/bin/
./logstash -f ../config/myeslog.conf

5.启动Kibana

cd /usr/local/kibana-6.4.3-linux-x86_64/bin/
./kibana

6.浏览器输入:http://192.168.162.131:5601/,在控制台输入es,会弹出提示,显示获取今天打印的日志:

7.查询所有日志,可以看出把日志都查询出来了,总共55条:

GET /es-2019.12.19/_search

8.也可以模糊查询,查询message里面含有Ov3Qy5c字符串的日志:

GET /es-2019.12.19/_search
{
  "from": 0,
  "size": 3, 
  "query": {
    "match": {
        "message": "Ov3Qy5c"
      }
  }
}

返回:

{
  "took": 17,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 50,
    "max_score": 0.34676385,
    "hits": [
      {
        "_index": "es-2019.12.19",
        "_type": "doc",
        "_id": "fYDDHW8BMgxCikmkzC2N",
        "_score": 0.34676385,
        "_source": {
          "@timestamp": "2019-12-19T10:46:04.605Z",
          "path": "/usr/local/elasticsearch-6.4.3/logs/myes.log",
          "type": "elasticsearch",
          "host": "localhost.localdomain",
          "message": "[2019-12-19T18:42:21,780][INFO ][o.e.p.PluginsService     ] [Ov3Qy5c] loaded module [mapper-extras]",
          "@version": "1",
          "tags": [
            "_jsonparsefailure"
          ]
        }
      },
      {
        "_index": "es-2019.12.19",
        "_type": "doc",
        "_id": "foDDHW8BMgxCikmkzC2N",
        "_score": 0.34676385,
        "_source": {
          "@timestamp": "2019-12-19T10:46:04.607Z",
          "path": "/usr/local/elasticsearch-6.4.3/logs/myes.log",
          "type": "elasticsearch",
          "host": "localhost.localdomain",
          "message": "[2019-12-19T18:42:21,794][INFO ][o.e.p.PluginsService     ] [Ov3Qy5c] loaded module [parent-join]",
          "@version": "1",
          "tags": [
            "_jsonparsefailure"
          ]
        }
      },
      {
        "_index": "es-2019.12.19",
        "_type": "doc",
        "_id": "kIDDHW8BMgxCikmkzC2N",
        "_score": 0.34676385,
        "_source": {
          "@timestamp": "2019-12-19T10:46:04.812Z",
          "path": "/usr/local/elasticsearch-6.4.3/logs/myes.log",
          "type": "elasticsearch",
          "host": "localhost.localdomain",
          "message": "[2019-12-19T18:42:21,796][INFO ][o.e.p.PluginsService     ] [Ov3Qy5c] loaded plugin [analysis-ik]",
          "@version": "1",
          "tags": [
            "_jsonparsefailure"
          ]
        }
      }
    ]
  }
}

可以看出返回了两条数据!

9.也可以查询时间戳为2019-12-19T10:46:04.812Z的日志

GET /es-2019.12.19/_search
{
  "from": 0,
  "size": 3, 
  "query": {
    "match": {
        "@timestamp": "2019-12-19T10:46:04.812Z"
      }
  }
}

返回一条日志:

10.同时,也可以可视化查询

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
1月前
|
数据库
如何在Seata框架中配置分布式事务的隔离级别?
总的来说,配置分布式事务的隔离级别是实现分布式事务管理的重要环节之一,需要认真对待和仔细调整,以满足业务的需求和性能要求。你还可以进一步深入研究和实践 Seata 框架的配置和使用,以更好地应对各种分布式事务场景的挑战。
32 6
|
2月前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
55 1
|
2月前
|
SQL NoSQL MongoDB
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
53 0
|
2月前
|
存储 SQL 消息中间件
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
54 0
|
4月前
|
UED 存储 数据管理
深度解析 Uno Platform 离线状态处理技巧:从网络检测到本地存储同步,全方位提升跨平台应用在无网环境下的用户体验与数据管理策略
【8月更文挑战第31天】处理离线状态下的用户体验是现代应用开发的关键。本文通过在线笔记应用案例,介绍如何使用 Uno Platform 优雅地应对离线状态。首先,利用 `NetworkInformation` 类检测网络状态;其次,使用 SQLite 实现离线存储;然后,在网络恢复时同步数据;最后,通过 UI 反馈提升用户体验。
111 0
|
4月前
|
机器学习/深度学习 TensorFlow 数据处理
分布式训练在TensorFlow中的全面应用指南:掌握多机多卡配置与实践技巧,让大规模数据集训练变得轻而易举,大幅提升模型训练效率与性能
【8月更文挑战第31天】本文详细介绍了如何在Tensorflow中实现多机多卡的分布式训练,涵盖环境配置、模型定义、数据处理及训练执行等关键环节。通过具体示例代码,展示了使用`MultiWorkerMirroredStrategy`进行分布式训练的过程,帮助读者更好地应对大规模数据集与复杂模型带来的挑战,提升训练效率。
114 0
|
4月前
|
Java 测试技术 Spring
分布式之配置中心
分布式之配置中心
58 1
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能平台PAI产品使用合集之如何配置cluster系统自动生成分布式参数
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
6月前
|
网络安全 数据安全/隐私保护
分布式系统详解--框架(Hadoop-Ssh免密登陆配置)
分布式系统详解--框架(Hadoop-Ssh免密登陆配置)
73 0
|
7月前
|
安全
考虑极端天气线路脆弱性的配电网分布式电源和储能优化配置模型
考虑极端天气线路脆弱性的配电网分布式电源和储能优化配置模型