AWS 搭建ELK

​在亚马逊EC2机器上运行Logstash, 通过Logstash从亚马逊的Kinesis将数据导入AWS的Elasticsearch, 最后在AWS自带的Kibana上查询和展示数据。


  1. 创建AWS Elasticsearch Service

    首先,选择AWS的分析服务Elasticsearch Service,创建一个新域,输入域的名称并选择Elasticsearch的版本。配置ES集群, 选择实例个数和实例类型,不同的实例类型虚拟CPU、ECU、内存和支持的最大存储容量不同,t2类型的实例最大存储只支持35G,最多能存不到20G的数据。根据需要选择你的实例类型,可以动态扩容。网络配置选择公有访问权限,并配置访问策略。如果想通过配置的账号池通过账号访问Kibana,  需要启用Amazon Cognito身份验证,详细参考下文的Kibana身份验证。 访问策略:列表中的第一个策略是为了让EC2 的机器访问aws的es,第二个策略是为了让配置的账号池能够访问aws的es,角色ID为配置Kibana时的经过身份验证的角色的ARN,角色的ARN在IAM的角色里面找到。

  2. 配置Kibana身份验证

    按步骤提示创建用户池。 然后创建用户身份池,配置身份池时用户池ID和应用程序客户端ID需要填写为刚刚创建的用户池ID,未经身份验证的角色和经过身份验证的角色一定要填,角色为根据身份池名称创建的角色,两个角色为AWS自动创建,否则访问Kibana会出错。将创建的用户池名称和用户身份池名称填入ES的集群配置。

  3. 用Logstash从aws的Kinesis导数据到aws的ES

    安装logstash并安装kinesis input和 amazon es output插件

    bin/logstash-plugin install logstash-input-kinesis

    bin/plugin install logstash-output-amazon_es

    配置logstash配置文件logstash_kinesis.conf

    运行logstash: ./logstash -f logstash_kinesis.conf。让logstash访问aws的kinesis需要aws的访问key和secret。将写有aws_access_key_id和aws_secret_access_key的文件放在~/.aws/credentials。通过aws的Elasticsearch 域概述中的Kibana url就可以访问kibana了

猜你喜欢

转载自blog.csdn.net/hu741774962/article/details/80309138
AWS