Amazon Elasticsearch ServiceにMySQLのデータを投入してkibanaで可視化してみる
MySQLのデータの可視化にAmazon Elasticsearch Service + kibanaを使用したくてその設定をしてみました。
MySQLとAESの間はlogstash(EC2)でつないでいます。

目次
Amazon Elasticsearch Servicのセットアップ
マネージメントコンソールでAmazon Elasticsearch Serviceをクリックします。

domain nameで任意の名前を入力します。

インスタンスを設定します。今回はテストなんでt2.microでEBSにしています。

アクセスポリシーはIPアドレスで制限してみます。
(例はプライベートアドレスで書いてますがグローバルIPが必要です。)
で、ここにkibanaにアクセスに来るグローバルIPもですが、logstashのEC2のEIPも設定が必要です。

完了です。「Processing」になったら使えます。

logstash(EC2)の操作
EC2の構築は割愛しますが下記を設定してます。
- ロールはAdministratorAccessを割り当ててます。
- セキュリティグループは専用で作成しRDSのセキュリティグループで3306ポートにアクセス可能として設定します。
-
logstashのインストール
- logstash-output-amazon_esプラグインのインストール
- logstash-input-jdbcプラグインのインストール
- mysql-jdbc-connectorのダウンロード
をEC2でします。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$ wget https://download.elastic.co/logstash/logstash/packages/centos/logstash-1.5.4-1.noarch.rpm $ sudo rpm -ivh logstash-1.5.4-1.noarch.rpm $ /opt/logstash/bin/logstash --version logstash 1.5.4 $ export PATH=$PATH:/opt/logstash/bin $ sudo /opt/logstash/bin/plugin install logstash-output-amazon_es Validating logstash-output-amazon_es Installing logstash-output-amazon_es Installation successful $ sudo /opt/logstash/bin/plugin install logstash-input-jdbc Validating logstash-input-jdbc Installing logstash-input-jdbc Installation successful $ wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.38.tar.gz $ sudo tar xzf mysql-connector-java-5.1.38.tar.gz |
例えばtable_name.confとかで下記を記述したファイルを作成します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
input { jdbc { jdbc_driver_library => "mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar" jdbc_driver_class => "com.mysql.jdbc.Driver" jdbc_connection_string => "jdbc:mysql://*************.ap-northeast-1.rds.amazonaws.com:3306/db" jdbc_user => "user" jdbc_password => "******" statement => "select * from table_name" } } output { amazon_es { hosts => ["search-**********************.ap-northeast-1.es.amazonaws.com"] region => "ap-northeast-1" index => "table_name" document_type => "table_name" } stdout{ } } |
logstashの引数でtable_name.confファイルを指定して実行します。
|
1 2 |
logstash -f table_name.conf |
マッピングも自動で行われてデータがkibanaから確認できます。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
スポットインスタンスの削減額情報を見ました
なんだこれ?と思って、検索してみたら、2018年11月からあったのですね。 Am …
-
-
SCPが影響しないサービスにリンクされたロールにEC2が引き受けるIAMロールは含まれないことを確認
ドキュメントで確認 サービスコントロールポリシーのユーザーガイドには、「SCPは …
-
-
AWS LambdaでS3 Select
RDSスナップショットをS3にエクスポートした、Parquetフォーマットのデー …
-
-
Rocket.ChatからOut Going Webhookを設定してみる
API GatewayとLambda とりあえず、どんなデータが飛んでくるのか見 …
-
-
AWS Organizations組織でCompute Optimizerを有効にしました
OrganizationsでCompute Optimizerの信頼されたアクセ …
-
-
「JAWS-UG 名古屋 2022年 “re:Invent”の復習~忘年会~」に参加しました
re:Inventのおみやげも飲み物、ピザ、お寿司もたくさん。 コラボベースさん …
-
-
Amazon S3アクセスポイント経由からアクション可能なポリシー
S3アクセスポイントを使うことで、複雑で長いバケットポリシーを避け、アクセスポイ …
-
-
AWS Lambda(Python)からAmazon Connectで電話を発信する
自動で電話を発信する必要がありまして、電話発信APIを開発することになりましたの …
-
-
X-Ray SDK for Python でライブラリへのパッチ適用
boto3でのAWS呼び出しとrequestsでの外部API呼び出しにパッチ適用 …
-
-
PyCharmにAWS CloudFormationプラグインをインストールして入力補完してみる
JetBrainsのPython統合開発環境(IDE)のPyCharmを1年ちょ …
