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認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
S3に置いたMP3ファイルをTwilioから電話再生する(AWS Lambda Python)
Google Calendar Twilio ReminderのTwilioを使 …
-
-
特定AWSアカウント特定リージョンのSNSトピックを削除するLambda(Python)
やりたいこと 特定アカウント内特定リージョン内のSNSトピックを全部削除したいで …
-
-
AWS Transfer Family S3向けのSFTP対応サーバー
S3バケットは作成済です。 IAMロールの作成 [crayon-694320b3 …
-
-
Amazon VPCにオンプレミス検証環境想定プライベートDNSサーバー(BIND)をEC2で起動する
オンプレミス想定の検証で使うために、Amazon VPCにプライベート向けDNS …
-
-
Amazon SES(Simple Email Service)でメール受信時のアクションでLambdaを実行して渡されるデータを見てみる
Amazon SESで受信したメールをS3に保存して、S3のトリガーでLambd …
-
-
ACM(AWS Certificate Manager)の承認メールを受け取るためにAmazon SESを設定する
何のためでもいいのですが、ドメインは持っているけど、そのドメイン宛にメールを送ら …
-
-
AWS Savings Plansを検討しました
今、個人でAWSアカウントを7つ使っています。 Savings Plansが使え …
-
-
試したい事があるのでAWS でとりあえずAmazon Linuxのサーバを作る
1年間の無料キャンペーン期間中に検証する とある勉強会でせっかくAWSのアカウン …
-
-
X-Ray SDK for Python でライブラリへのパッチ適用
boto3でのAWS呼び出しとrequestsでの外部API呼び出しにパッチ適用 …
-
-
AWS Protonの管理者ガイドとユーザーガイドのチュートリアル
AWS Proton管理者ガイドのAWS Management Console …
