Amazon CloudSearch によるLinuxサーバのcrontab検索システム

はじめに
===

Amazon CloudSearchの勉強がてら、Amazon CloudSearchでLinuxサーバの「crontab」を検索するシステムを作ってみました。

Linuxサーバで何らかのコマンドやバッチプログラムを定期実行させたい場合、crontab(バッチプログラムをスケジュール実行する機能)にバッチを登録し、バッチを定期的に実行させる事があるかと思います。

crontabでバッチを動かしているサーバが増えてくると、バッチの管理、例えばどのサーバでどのバッチが動いているのか探したりするのが大変になってくると思います。

そこで、以下のように設定する事で、Amazon CloudSearch上で、各Linuxサーバのcrontabを検索するシステムを作ってみました。

　・Amazon CloudSearchの検索ドメイン「example-search-cron」を作成する。
　・LinuxサーバのcrontabをCSVファイルとして出力し、Amazon S3へアップロードする。
　・Amazon CloudSearchの検索インデックスファイルのデータソースをS3に保存したcrontabのCSVファイルとし、Amazon CloudSearch上でcrontabを検索出来るようにする。

参考資料
===

Amazon CloudSearchの検索ドメイン作成手順は以下を参考にしました。

Amazon CloudSearch 検索ドメイン作成とデータ検索手順 (Amazon S3に格納したファイルからインデックス作成)
http://qiita.com/na0AaooQ/items/26c4d22edfae99825cfe

crontabをCSVファイル化するのは以下を参考にしました。

LinuxのcrontabをCSVで出力するシェルスクリプト
http://qiita.com/na0AaooQ/items/b944af792ac763f482ff

Amazon CloudSearchによるLinuxサーバのcrontab検索手順
===

Amazon CloudSearchでcronバッチ名を指定して、crontabを検索してみます。

## (1) AWSマネジメントコンソールの「CloudSearch」をクリックします

AWSマネジメントコンソールにログインします。
「CloudSearch」をクリックします。

<img width="911" alt="スクリーンショット 2016-10-26 20.11.51.png" src="https://qiita-image-store.s3.amazonaws.com/0/63647/a6885ea5-a715-66b7-ad22-50a812c2445b.png">

## (2) CloudSearch検索ドメインを表示します。

CloudSearchに作成した検索ドメイン「My Search Domains」→「example-search-cron」をクリックします。

<img width="1181" alt="スクリーンショット 2016-10-26 20.12.08.png" src="https://qiita-image-store.s3.amazonaws.com/0/63647/d852cb30-cbbe-46f4-a52e-8bdd0994fb61.png">


<img width="1191" alt="スクリーンショット 2016-10-26 20.12.23.png" src="https://qiita-image-store.s3.amazonaws.com/0/63647/a527208f-d100-0adc-bcd2-2faf05d59a24.png">

## (3) CloudSearchの「Run a Test Search」をクリックします。

<img width="1188" alt="スクリーンショット 2016-10-26 20.12.58.png" src="https://qiita-image-store.s3.amazonaws.com/0/63647/22daecac-4d11-f9c6-3350-0202ec0778c2.png">

## (4) CloudSearchでバッチ名を指定してcrontabを検索します。

「Run a Test Search」の「Search」に検索したいcronバッチ名を入力して「Go」をクリックします。

検索結果にヒットするcrontabのバッチ名が表示されます。

<img width="1192" alt="スクリーンショット 2016-10-26 20.12.50.png" src="https://qiita-image-store.s3.amazonaws.com/0/63647/11958193-6546-dfcf-6b74-83254a1cb134.png">

## (5) CloudSearchでバッチ名のサジェスト検索によりcrontabを検索します。

「Run a Test Search」の「No Suggester」をクリックします。「Suggester」を「cron_name」に変更します。

「Search」に検索したいcronバッチ名の一部を入力すると、バッチ名がサジェスト表示されるので、対象のcronバッチ名を選択して「Go」 をクリックします。

<img width="1174" alt="スクリーンショット 2016-10-26 20.13.15.png" src="https://qiita-image-store.s3.amazonaws.com/0/63647/76d01b0c-e25d-b982-3785-b91423463ced.png">

検索結果にヒットするcrontabのバッチ名が表示されます。

<img width="1191" alt="スクリーンショット 2016-10-26 20.13.24.png" src="https://qiita-image-store.s3.amazonaws.com/0/63647/ebbe51a5-480d-fbed-bcc2-91bd6ed39fcc.png">

Amazon CloudSearch のcrontab検索システムの設定
===

<img width="1190" alt="スクリーンショット 2016-10-26 20.13.37.png" src="https://qiita-image-store.s3.amazonaws.com/0/63647/be4e2490-c6a9-7999-e325-5685fea82783.png">

<img width="1180" alt="スクリーンショット 2016-10-26 20.14.18.png" src="https://qiita-image-store.s3.amazonaws.com/0/63647/d59b67f8-f082-4648-3311-f6233d789402.png">

<img width="1208" alt="スクリーンショット 2016-10-26 20.14.38.png" src="https://qiita-image-store.s3.amazonaws.com/0/63647/537b1783-e3ba-51ef-1318-93bac638f896.png">

<img width="1189" alt="スクリーンショット 2016-10-26 20.14.44.png" src="https://qiita-image-store.s3.amazonaws.com/0/63647/a421bb91-d26d-20e1-8a6b-06b128cc89eb.png">

<img width="1190" alt="スクリーンショット 2016-10-26 20.14.59.png" src="https://qiita-image-store.s3.amazonaws.com/0/63647/a437f06d-5908-7a9a-f452-faba91a0605b.png">

<img width="1207" alt="スクリーンショット 2016-10-26 20.15.17.png" src="https://qiita-image-store.s3.amazonaws.com/0/63647/ce729c0f-b890-0818-7236-d17aefe26ef9.png">

***

Amazon CloudSearchは手軽に検索システムを作れるので便利ですね！

以上になります。