使用容器和Elasticsearch集群对Twitter进行监控

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

介绍


Elasticsearch是ELK(Elasticsearch/Logstash/Kibana)的基石。在这篇文章中,我们将使用Rancher Catalog来部署stack,并将它用于追踪Twitter上的tag和brand。


追踪Twitter上的hashtag对于衡量基于Twitter的营销活动的影响力是非常有用的。你可以从中提取出诸如您的推文被转发的次数,你的营销活动为你带来了多少位新的关注者等有效信息。


安装ELK stack


Elasticsearch


若你已经有了一个正在工作中的Elasticsearch集群,现在只需要调整一些集群中的配置即可。我们将使用JSON创建一个索引模板,来调整相关配置。


  • GitHub上获取JSON模板

  • 在你的浏览器中输入http://[你的kopf在rancher主机上的路径]

  • 在kopf中,点击“more”,然后在下拉菜单中选择“index templates”


wKiom1kTKRjhKxFJAACWV6zk2fQ808.jpg


现在我们给我们的索引模板起个名字,并且推动其配置。


  • 使用twitter_elk_example作为模板名称

  • 粘贴你之前下载的JSON文件中的内容

  • 点击“save”按钮


wKiom1kTKS6Sc-zHAACZEPVSHl0935.jpg


Elasticsearch集群的配置就到这里。现在让我们接着往下走。


Logstash


Logstash让你能够分析所获得的数据并且将数据传输至你的Elasticsearch集群中。它原生支持很多数据源(如Twitter APIs、collectd、Apache日志等)。


在处理你的数据时,Logstash可以帮助你解压或格式化你数据中的正确部分。这样,你就不必推送一些不必要的或者(更糟的)错误数据,这些脏数据会使你的Kibana dashboard与实际情况不相符。


在我们开始之前,需要创建Twitter应用密钥


需要特别关注以下内容:


  • Consumer Key

  • Consumer Secret

  • Access Token

  • Access Token Secret


注意:确保你所有的Rancher主机的时钟均已同步,否则你将无法正确地使用Twitter证书。


现在跳转到目录页并选择Logstash(最好是最新的版本)。你需要在“Logstash inputs*”输入框中加入以下内容(用你自己的APIs认证密钥替换CAP文本):

1
2
3
4
5
6
7
8
twitter {
  consumer_key =>  "INSERT YOUR CONSUMER KEY"
  consumer_secret =>  "INSERT YOUR CONSUMER SECRET"
  oauth_token =>  "INSERT YOUR ACCESS TOKEN"
  oauth_token_secret =>  "INSERT YOUR ACCESS TOKEN SECRET"
  keywords => [  "docker" "rancher_labs" "rancher" "kubernetes"  ]
  full_tweet =>  true
  }

注意:在关键字数组中,不要使用“@”或者“#”符号,否则Logstash将运行失败并报“unauthorized message”错误。

1
2
3
4
5
6
7
8
9
在“Logstash output*”这个输入框中,你需要加入以下内容
output {
  elasticsearch {
  host =>  "elasticsearch:9200"
  protocol =>  "http"
  cluster_name =>  "NAME OF YOUR ELASTICSEARCH CLUSTER"
  index =>  "twitter_elk_example"
  document_type =>  "tweets"
  }

wKiom1kTKV6zZR7dAABueZVzZ1M238.jpg


最后,选择“elasticsearch-clients as the Elasticsearch stack/service”,点击“launch”按钮即可!


wKioL1kTKWqDJWX5AAAwWH2y8ws290.jpg


接下来的事情Rancher将会帮你做完,包括部署一个完全配置好的Logstash。如果一切顺利,在几分钟之内,你应该能看到数据已经被加入到了你的Elasticsearch主页中。你可以在http://[你的ElasticSearch主机地址]/#kopt 中查看。


wKiom1kTKXfh_XM1AAAOMVOCsRs488.jpg


Kibana


Kibana能帮助你根据Elasticsearch集群中的数据创建一个强大的dashboard。要部署Kibana,你只需要做两件事情:选择正确的Rancher Catalog版本,然后将它连接到elasticsearch-clients容器中。


wKioL1kTKYrRx_U_AABB_5hXbbU709.jpg


这样,一个配置正确的Kibana已经准备好被使用了!后续我们还将会对它进行一些配置。


现在,整个ELK栈就部署好了。虽然Elasticsearch和Logstash已经部署好了,我们还是需要对Kibana进行一些操作。


在这个例子中,我们只需要在Kibana中导入一个JSON仪表盘即可。


  • 点击这里获取JSON文件

  • 进入Settings –> Object,然后点击“import”,接下来选择刚刚下载好的文件。你应该会看到类似于下图的界面。


wKioL1kTKabTTd_AAABiQUgAro0835.jpg


剩下的就是在Kibana中创建一个适当的索引设置了。


前往“Indices”页面,然后点击“New”按钮。你应该能看到被创建好的索引和被选择了的@timestamp(时间戳)。


wKiom1kTKbWAWNkiAACEEqM8XAk702.jpg


到目前位置,你已经有了一个帮助你监控Twitter上的hashtag和brand的Kibana dashboard。要加载被导入的dashboard,你只需要在这里点击它的名字即可。


wKioL1kTKcTzhFnuAAAc_3cW-2U070.jpg


几分钟后,重新查看dashboard,你会看到类似下图的界面:


wKioL1kTKduACaNQAACi300xW2E339.jpg


至此,你就能成功监测Twitter上的tag和brand的情况啦! 


本文转自 RancherLabs 51CTO博客,原文链接:http://blog.51cto.com/12462495/1924347

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
2天前
|
监控 负载均衡 安全
Elasticsearch 集群某一节点修改 IP 后无法启动问题复盘
Elasticsearch 集群某一节点修改 IP 后无法启动问题复盘
34 2
|
1天前
|
存储 Java Serverless
ACK One Argo 工作流集群:玩转容器对象存储
ACK One Argo 工作流集群:玩转容器对象存储
ACK One Argo 工作流集群:玩转容器对象存储
|
1天前
|
监控 Java 网络性能优化
容器内存可观测性新视角:WorkingSet 与 PageCache 监控
本文介绍了 Kubernetes 中的容器工作内存(WorkingSet)概念,它用于表示容器内存的实时使用量,尤其是活跃内存。
容器内存可观测性新视角:WorkingSet 与 PageCache 监控
|
1天前
部署elasticsearch集群 - 蓝易云
以上步骤完成后,你就成功部署了一个基本的Elasticsearch集群。根据你的需求,你可能还需要进行更多的优化和配置,例如设置副本数、调整内存设置等。
13 1
|
2天前
|
Prometheus 监控 Cloud Native
构建高效稳定的Docker容器监控体系
【5月更文挑战第14天】 在现代微服务架构中,Docker容器作为应用部署的基本单元,其运行状态的监控对于保障系统稳定性和性能至关重要。本文将探讨如何构建一个高效且稳定的Docker容器监控体系,涵盖监控工具的选择、关键指标的采集、数据可视化以及告警机制的设计。通过对Prometheus和Grafana的整合使用,实现对容器资源利用率、网络IO以及应用健康状态的全方位监控,确保系统的高可用性和故障快速响应。
|
2天前
|
Prometheus 监控 Cloud Native
构建高效稳定的Docker容器监控体系
【5月更文挑战第13天】在微服务架构和容器化部署日益普及的背景下,对Docker容器的监控变得尤为重要。本文将探讨一种构建高效稳定Docker容器监控体系的方法,通过集成Prometheus和cAdvisor工具,实现对容器资源使用情况、性能指标和运行状态的实时监控。同时,结合Grafana进行数据可视化,为运维人员提供直观的分析界面,以便及时发现和解决潜在问题,保障系统的高可用性和稳定性。
29 6
|
2天前
|
存储 监控 安全
Elasticsearch 8.X 集群 SSL 证书到期了,怎么更换?
Elasticsearch 8.X 集群 SSL 证书到期了,怎么更换?
37 3
|
2天前
|
缓存 JSON 关系型数据库
Elasticsearch 8.X 集群无响应,怎么办?
Elasticsearch 8.X 集群无响应,怎么办?
14 0
|
2天前
|
存储 数据可视化 Java
Elasticsearch 集群状态变成黄色或者红色,怎么办?
Elasticsearch 集群状态变成黄色或者红色,怎么办?
11 0
|
2天前
|
运维 Prometheus 监控
构建高效稳定的Docker容器监控体系
【4月更文挑战第29天】在微服务架构日益普及的当下,Docker作为轻量级容器的代表,被广泛应用于服务部署与管理。然而,随之而来的是复杂化的服务监控问题。本文旨在探讨如何构建一个高效且稳定的Docker容器监控体系,确保服务的高可用性。我们将从监控工具的选择、关键监控指标的确定,以及告警机制的设计等方面进行详细阐述,并提供一系列优化实践,以期为运维人员提供参考和指导。