带你读《Elastic Stack 实战手册》之77:——4.2.3.CDN流媒体服务实时分析Elasticsearch实践(下)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 带你读《Elastic Stack 实战手册》之77:——4.2.3.CDN流媒体服务实时分析Elasticsearch实践(下)

《Elastic Stack 实战手册》——四、应用实践——4.2 可观测性应用场景 ——4.2.3.CDN流媒体服务实时分析Elasticsearch实践(上) https://developer.aliyun.com/article/1226000


索引管理

 

索引生命周期管理 Elasticsearch 也提供了非常便利的工具。

 

生命周期配置,这里应该根据业务需求和节点规模综合考量


{
    "policy": {
        "phases": {
            "hot": {
                "actions": {
                      "rollover": {
                        "max_size": "20GB",
                        "max_docs": 20000000,
                        "max_age": "7d"
                    }
                }
            },
            "delete": {
                "min_age": "30d",
                "actions": {
                    "delete": {}
                }
            }
        }
    }
}

完整版https://github.com/cloudymoma/raycom/blob/gcp-lb-log/scripts/elastic/index-gclb-template.json

 模版为每次生成的索引应用相同的配置,且指定了生命周期的政策文件和注入别名。


{
    "index_patterns": [
        "bindiego*"
    ],
    "order": 999,
"settings": {
        "number_of_shards": 2,
        "number_of_replicas": 1,
        "final_pipeline": "bindiego",
        "index.lifecycle.name": "bindiego-policy",
        "index.lifecycle.rollover_alias": "bindiego-ingest"
          },
    "mappings": {

最后我们配置了脚本一次性把上述配置应用,且在 Kibana 里为我们建立好查询的 index

pattern

 

详细戳这里:

https://github.com/cloudymoma/raycom/blob/gcp-lb-log/scripts/elastic/init.sh

 

数据面板

 

这里虽然是个人弱项,但是借助 Kibana 强大的可视化功能,可以根据第一部分整理出来的数据绘制实时面板。

 

完整可复用面板:https://github.com/cloudymoma/raycom/blob/gcp-lb-log/scripts/elastic/gclb_dashboard.ndjson

部分截图:https://github.com/cloudymoma/raycom/tree/gcp-lb-log#dashboards-in-kibana

 

下面我举一些可能常被忽视的好用功能给大家打个样。

 

1、IP 反查出的 Geo 和 ISP 信息

image.png

image.png


通过这些信息,可以快速反映出各个运营商网络的情况,甚至一些盗链的线索初判断。

 

2、Vega 在 Kibana 里绘制数据


image.png

当我们觉得 Kibana 自身图表不够丰富的时候,可以借助 Vega。上面这个图就展示了来自不同地区的用户,分别命中 CDN 缓存点的流量分配。数据通过用 Elasticsearch 的 CompositeAggregation 提取。


3、Kibana TSVB

这个是我个人最喜欢的绘图方法了,可以非常灵活的对指标进行计算。下面这两个图表就展示过滤出直播业务的缓存命中、请求返回和缓存填充的数据量这些信息。


image.png


总结

 

由于业务数据的敏感性,这里就不列举细节了。但数据管道和治理,都依旧遵循同样的原则。整体数据管道的选型也非常灵活,采集部分即可以是 Beats 生态中的产品,也可以是自己开发的 agent。队列常用的有 Kafka 或者云上托管服务。分布式计算层因为业务比较简单,我比较推荐使用 Apache Beam,这样执行引擎可以在比如 Flink、Spark Streaming 和任何 Beam 支持的平台上相对灵活的切换。

 

今天我们给出的案例是一个非常简单,且可以快速复用的开源项目。大家有任何需求和疑问也欢迎到社区一起交流、学习。

 

创作人简介

吴斌,Elastic 中文社区副主席,现就职于大型互联网公司任职云架构师。专注于海量数据处理、挖掘、分析和企业级搜索领域。十分熟悉分布式应用,高可用架构和自动化技术。曾在海外世界百强大学计算机学院任教 6 年。更是一位开源软件社区的积极贡献者和组织者。

博客:https://gist.github.com/bindiego

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
3月前
|
自然语言处理 API 索引
Elasticsearch Analyzer原理分析并实现中文分词
Elasticsearch Analyzer原理分析并实现中文分词
74 0
|
2月前
电子书阅读分享《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》
电子书阅读分享《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》
235 1
|
6月前
|
自然语言处理 监控 搜索推荐
Elasticsearch的应用场景
Elasticsearch的应用场景
|
4月前
|
搜索推荐 Java 数据处理
Elasticsearch搜索分析引擎本地部署与远程访问
Elasticsearch搜索分析引擎本地部署与远程访问
|
8月前
|
定位技术
Elasticsearch之基于地理位置进行聚合分析
Elasticsearch之基于地理位置进行聚合分析
|
4月前
|
存储 SQL 监控
从 Elasticsearch 到 SelectDB,观测云实现日志存储与分析的 10 倍性价比提升
SelectDB 助力观测云完成日志数据存储和分析架构升级,实现整体性价比 10 倍提升,为日志存储和分析场景服务提供强大动力。
|
4月前
|
存储 缓存 监控
Elasticsearch elastic io 100%,但磁盘的iops和吞吐量没爆没啥原因吗?
Elasticsearch elastic io 100%,但磁盘的iops和吞吐量没爆没啥原因吗?
53 2
|
4月前
|
搜索推荐 索引
Elasticsearch elastic io 100%,但磁盘的iops和吞吐量没爆没啥原因吗?
Elasticsearch elastic io 100%,但磁盘的iops和吞吐量没爆没啥原因吗?
72 3
|
6月前
|
存储 自然语言处理 监控
ElasticSearch第三讲:ES详解 - Elastic Stack生态和场景方案
ElasticSearch第三讲:ES详解 - Elastic Stack生态和场景方案
|
8月前
|
关系型数据库 MySQL Java
基于Elasticsearch+Logstash+Kibana的小型流量分析系统
基于Elasticsearch+Logstash+Kibana的小型流量分析系统

相关产品

  • 检索分析服务 Elasticsearch版