SumoLogic は SasS 型のログ分析ツールです。 なぜ ログ分析 サービスを SaaS型 や他いろいろなもので利用するかというと、
- 膨大な量のログ分析
- 収集したログの管理 (リテンション、取得)
- 一貫したコンソール画面の提供
などがあるでしょう。 さて、運用していくと手間だと感じやすいのがこれです。
取得するコレクターやログの設定管理
例えば、 SumoLogic は、 SaaS型であり 取得するログの指定は以下の2つ方法があります。
- Collector にインストールしたホストでSource設定をJson指定
- Web管理画面で指定した Source を取得
直にサーバーの設定を触るのは極力避けたいわけです。 今回紹介するのは、Web管理画面への SumoLogic API を叩くことで、 Web管理画面での Collector やSource管理を簡単にしよう作戦です。 何しろ SumoLogic は Web管理画面での 使わなくなった Collector や Source のBulk 削除、Sourceをまとめて追加などは対応していないので! ====
SumoLogic API
公式ホームページのAPI入り口はこちら
APIs
じつはGitHub上に公開されています。
Collector と Source 管理 : Collector Management API 検索 API : Search API
今回は、 Collector と Source 管理を見てみましょう。
GitHub
Source の削除など全然たりない未実装ですが、 Collector や Source 取得が容易になるように Module を作っています。
guitarrapc/PSSumoAPI
利用前提
- SumoLogic アカウント
- 一台のWindows や Linux に Sumo Collector をインストールする
事前にアカウントは作って下さいませー。 Module は Collector と Source が対象ですん。 (Source は 取得と追加のみですが) Help はまだ作っていないです ((
コマンド一覧
全然すくにゃい...... 足さなきゃ。
CommandType Name ModuleName ----------- ---- ---------- Function Get-SumoApiCollectors PS-SumoAPI Function Get-SumoApiCollectorsSource PS-SumoAPI Function Get-SumoCredential PS-SumoAPI Function New-SumoCredential PS-SumoAPI Function Remove-SumoApiCollectors PS-SumoAPI
利用例
ReadMe は後で埋めるので.....とりあえず簡単に紹介を。
認証作成 : New-SumoCredential
SecureStringPassで Module パスに一時保管しています。 ※違うPC や ユーザーではデクリプトできません。 消去 Clear や 変更Set はなく 作成New のみなのですが (SetはNewで上書きでも) ご容赦を。 使い方:
gist22e26177dceeb016bfff234072db555d
- save : 認証を保存するパスを指定可能です。デフォルトはモジュールパスです。
- User : 認証に利用するユーザーを指定します。
こんな感じで認証を作っておきます。
$user ="Input UserName" # First time to create Credential New-SumoCredential -User $user
認証読み込み : Get-SumoCredential
New-SumoCredential で生成した認証情報を読み込みます。 使い方:
gist22e26177dceeb016bfff234072db555d
- User : 認証に利用するユーザーを指定します。
こんな感じで認証を読み込みます。
$user ="Input UserName" $credential = Get-SumoCredential -User $user -force
Collector の取得 : Get-SumoApiCollectors
Collector 一覧を取得します。 使い方:
gistb88dfc7345f403546dbf365d8c63188c
- CollectorIds : Colelctor のIDを指定可能です。指定が無ければ全て取得します。
- Credential : Get-SumoCredential で読み込んだ認証情報を指定してください。
Invoke-RestMethod で Get を送っています。 利用はこのような形で。
gistb88dfc7345f403546dbf365d8c63188c
などがあります。疲れたので全部はしません。
Module に足していないSumoLogic API
例えば、 Source の登録です。 以下のようなスクリプトで現在は可能ですが、これは Module に追加する予定です。
gist9211234c8d25321b0f9e9d661d5c6309
他にも 「現在利用しなくなった Collector の削除」などが可能なサンプルを置いておきます。参考にどうぞ。
https://github.com/guitarrapc/PS-SumoAPI/tree/master/Sample
まとめ
API 叩いてサクッと出来るのは楽ちんです。 自分が使うものから実装しますが (てへぺろ Source登録などは、 Workflow なり 並列化しないと現状は遅いのですけど。 ぜひ SumoLogic を使ってみてください。