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
関連記事
-
AWSルートユーザーのパスワード復旧
AWSルートユーザーのパスワード最設定は、メールアドレスだけでいいのですね。 M …
-
AWS Lambdaで Unable to import module エラーが発生したときは
そもそも、Pycharmのナビゲーションペインでディレクトリごとドラッグ& …
-
AWS Database Migration Service(DMS)チュートリアル
公式ユーザーガイドのAWS Database Migration Service …
-
「AWSではじめるLinux入門ガイド 」を執筆しました
2020年4月30日に、「AWSではじめるLinux入門ガイド」という本を発行い …
-
VPCピア接続ではピア先VPCのセキュリティグループIDを指定できる
タイトルどおりです。 できることは知ってたのですが、試したことがなかったので、確 …
-
EC2 プレイスメントグループを試してみました
やったことないのでやってみたやつです。 プレイスメントグループの作成 まず、EC …
-
SendGridのイベントをAPI Gateway -> Lambda(Python) -> DynamoDBに格納する
SendGridのメールイベントログはコンソールで確認出来るのは直近7日分で一括 …
-
ヤマムギ vol.9 (AWS)EC2からAWS CLIコマンドを実行してみようハンズオン 手順
このブログは2020/5/5に開催しました、「ヤマムギ vol.9 (AWS)E …
-
SIEM on Amazon OpenSearch Serviceを構築
このブログまわりのモニタリングをSIEM on Amazon OpenSearc …
-
EFSをEC2(Amazon Linux 2)からマウントする
Amazon Elastic File Systemが東京リージョンに来たことも …