OMC Log Analyticsで未対応のログをカスタム・パーサで取り込む

OMC Log Analyticsがまだサポートしていないログフォーマットや独自のアプリケーションのログなどの場合は、自身でログ・パーサーを手動作成することでOMCに取り込んで分析することができます。
ここでは実際にサンプルのProxyログを使って、その手順を紹介してきます。

ここからサンプルのProxyログをダウンロードします
https://github.com/western24/omcdemo/blob/master/sample_proxy_log.txt

## ログ・パーサーの作成
ログ・パーサーは、ログファイルを読み込んでフィールドに紐づける定義です。OMCのコンソールで設定した定義情報に基づいて正規表現が自動的に作成されていきます

- ログ・パーサーをクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/003a3a2d-c02a-bb2c-48cb-1308a1605a3c.png)

- 作成クリックし、Regex Type(正規表現タイプ)を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/b8f57dfb-30e9-52e2-72f6-a945481fec66.png)

- 任意のパーサー名を入力、ファイルからの追加でダウンロードしたsample_proxy_log.txtを選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/7bd33b38-e6cf-0a67-8f80-499084af8f07.png)

- 先頭のレコードをクリックして一番下の次をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/e01914b6-3ac3-0375-d355-16d38b7f9dd5.png)

- レコードから時刻に関する情報をTimeフィールドとして指定する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/5eefabbf-6628-37a1-4173-bfbbffd1ecfd.png)

- 正しく指定できていればパーサー・テストに時間が表示される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/1e79b91e-2ee0-b1f7-5ddd-c8893e534c6b.png)

- 同様に、レコードからサーバー名に関する情報をHost Nameフィールドとして指定する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/af2b3475-3924-afd5-4f36-97e7a139d611.png)

- レコードからユーザー名に関する情報をUser Nameフィールドとして指定する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/48c44dcd-f292-7243-dcd5-472b065d2a4d.png)

- レコードから接続元IPアドレスに関する情報をSource IPフィールドとして指定する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/c32b638a-d1b8-e553-daca-ce94ee7d41be.png)

- レコードから接続先IPアドレスに関する情報をDestination IPフィールドとして指定する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/947fc0e6-3c1a-d8e0-5297-38b84104eb1c.png)

- レコードから接続先URLに関する情報をDestination URLフィールドとして指定する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/64a27f1c-c95e-3ea6-8042-d65681c9058f.png)

- レコードからステータス・コードに関する情報をStatus Codeフィールドとして指定する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/12dfe4c9-0554-a4b3-fe3a-e2c5bffe4c66.png)

- レコードからリクエスト関する情報をRequestフィールドとして指定する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/371baff8-6f67-32cb-7e79-8c72e500aa8b.png)

- 一番下の次をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/eb9544c8-52c1-0f01-901b-d0a5fdb5af98.png)

- パーサーの作成をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/39579bcd-07e9-8212-8503-a0f8639c93c4.png)

## ルックアップの作成
ルックアップは、マスタ表のように、コードに対する付加情報を紐づける定義です。以下のようなコードに対応するメッセージやタイプの情報を予め用意しておきます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/4f77e0eb-1814-d046-4f18-88f8b74d5a6f.png)


- ルックアップをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/57352a3f-d1e9-6cc8-a7ba-c460d5930ee5.png)

- 新規をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/aafbdae6-af0b-19b8-0c71-52a71cf45f64.png)

- ルックアップ名は、StatusCodeを入力し、インポートをクリック。status_code.csvを選択して保存する
status_code.csvは、ここからダウンロード 
https://github.com/western24/omcdemo/blob/master/status_code.csv
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/35a09043-f0c4-885b-9801-4c8941f68b11.png)
※保存に失敗する場合があります。その場合は気にせず、何度かトライして下さい

## フィールドの作成
Oracle Management Cloudで用意されていないフィールド名を使いたい場合は、ここで作成します

- 作成をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/acf9050d-e562-cfe7-d136-0f9df1b06c93.png)

- Status DescriptionとStatus Typeを２つ新しく作成する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/8f51823d-4ba5-5d59-1d08-7ccf1feda070.png)

# ログ・ソースの作成
ログ・ソースは、最終的なログの定義情報です。今まで作成したパーサーやルックアップなどの情報を紐づけて、ログを取り込むために必要な情報をまとめます

- ログ・ソースをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/08e18b57-b3c0-8ab6-1545-d7b3b3f48ff6.png)

- 作成をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/41516948-9288-a573-8d73-ddea76f6b29a.png)

- 任意のソース名を入力
    - エンティティ・タイプは、Host(Linux)
    - ファイル・パーサーは、作成したカスタム・パーサーを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/f42fd9c1-5d4d-c06d-899c-6cf49f2bf4e0.png)

- 下記、フィールド・エンリッチメントを選択し、追加をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/0333b50a-902b-e22b-c7bc-b5965bc34ab1.png)

- 関数はGeolocationを選択。IPフィールドはDestination IPを選択し、追加をクリック
    - この設定をすると、OMCがIPアドレスを逆引きして、国や州などのフィールドを自動的に追加します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/cfb8a45d-ae73-8e36-5243-d99b7d9108a9.png)

- Geolocation関数が追加される。もう一度、追加をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/e49fc09b-5b2b-be65-03c1-a18d94c88dc8.png)

- 関数はLookupを選択。ルックアップ名は、StatusCode、入力フィールドはStatus Codeを選択。Addをクリックし以下を追加。
    - status_description --> Status Description
    - status_type Status --> Status Type
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/05c99fda-880a-1a46-002e-5759adbba2a7.png)

- 右上の保存をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/40010008-02c0-07cb-2d1f-9d6b74ad2b7b.png)

## ログファイルのアップロード
- アップロードをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/48a7c0c8-8576-ca1c-77c6-8811d4bd0db7.png)

- 新規アップロードのクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/768c4c06-a2ce-bf81-a0e8-4b1eb5e42e02.png)

- 任意のアプロード名、ファイル選択でsample_proxy_log.txtを指定して右上の>をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/413ff1ac-1b75-9331-704d-4d7c1f427568.png)

- ログソースの関連付けをクリックし、作成したログ・ソースを指定して右上の>をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/23308318-672d-78ec-4b62-0596be59fa31.png)

- アップロードを実行
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/421331a4-aa10-7eb3-f5d6-1d1643250b54.png)

- ログ・エクスプローラで表示をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/756f1619-3fdd-8829-bb49-547eeb8dfa40.png)

- Status Coded "407" に対応する、Status DescriptionとStatus TypeのフィールドがLookupフィールドから追加されている
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/6b7626c9-e0aa-da0c-751a-749d2f910713.png)

- Destination IPに対応するHost CountryやHost Country codeなどが追加されている
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/5f60b491-1b14-b4b1-a406-bc86405bb178.png)

- マップビューによるログ分析例
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/21917f6f-fe83-6214-a7f6-ddd0171fdf91.png)

OMCが対応していないログを取り込む場合は上記の手順でログ・パーサーを作成し、ログソースの定義をするという流れになります。OMCのコンソールを使用すれば、テキスト形式のログはGUIで正規表現のフォーマットを自動作成することができます。
また、テキストのログだけでなくXML, JSONも同様にGUIベースでのパーサーを作成することが可能です。

Lookupの仕組みを使えば、ありがちなレポート画面にログデータのコードや略称で表示され第三者が良く分からないというケースを付加的な情報を表示することより分かりやすいレポートやダッシュボードを作成することにも役立ちします。

Oracle Management Cloud関連の情報は[こちら](https://qiita.com/western24/items/1e44bfcaa77f3251a263)