メインコンテンツまでスキップ
Sumo Logic Japanese

ログ取り込みのモニタリング、およびアラートの受信

Sumo Logic の取り込みアラートをスケジュールすると、取り込みの使用率や調整に関する情報をタイムリーに取得できます。以下で説明する調整アラートを除き、これらのアラートは、メトリクスではなく、ログにのみ適用されます。 

メトリクスのみのボリュームのクエリについては、「メトリクス ボリュームのクエリ」を参照してください。 

自分のアカウントへのアラートのコピー

次に示す JSON ファイルの例を使用して、このトピックのすべてのアラートを自分の Sumo Logic アカウントにコピーしてください。  次に、自分のニーズに最適なアラートを判断し、このトピックの手順に従って、アラートを更新およびスケジュールします。 

  1. 次のファイルから JSON をコピーします。ファイルを表示してコピーするには、[Expand (展開)] をクリックします。

{ "type":"Folder", "name":"Ingest Monitoring Alerts", "description":"", "children":[{ "type":"Search", "name":"Collector Not Sending Data", "description":"This hourly alert is generated when a Collector has not sent data to Sumo Logic for more than 60 minutes\u2028.The time range is the past 24 hours (-24h).", "searchQuery":"_index=sumologic_volume sizeInBytes _sourceCategory=\"collector_volume\"\n| parse regex \"\\\"(?<collector>[^\\\"]+)\\\"\\:\\{\\\"sizeInBytes\\\"\\:(?<bytes>\\d+),\\\"count\\\"\\:(?<count>\\d+)\\}\" multi\n| first(_messagetime) as MostRecent, sum(bytes) as TotalVolumeBytes by collector\n| formatDate(fromMillis(MostRecent),\"yyyy/MM/dd HH:mm:ss\") as MostRecentTime \n| toMillis(now()) as currentTime\n| formatDate(fromMillis(currentTime),\"yyyy/MM/dd HH:mm:ss\") as SearchTime\n| (currentTime-MostRecent) / 1000 / 60 as mins_since_last_logs\n| where mins_since_last_logs >= 60\n| fields -mostrecent, currenttime \n| format (\"%s Has not collected data in the past 60 minutes\", collector) as message", "defaultTimeRange":"-24h", "viewNameOpt":"", "viewStartTimeOpt":0 },{ "type":"Search", "name":"Daily Plan Limit", "description":"This daily alert is generated when when yesterday's daily account ingest greater than your daily plan limit.\n\n**You must replace the X in the search for the search to be successfully run", "searchQuery":"_index=sumologic_volume sizeInBytes\n| where _sourceCategory=\"collector_volume\"\n| parse regex \"\\\"(?<collector>[^\\\"]+)\\\"\\:\\{\\\"sizeInBytes\\\"\\:(?<bytes>\\d+),\\\"count\\\"\\:(?<count>\\d+)\\}\" multi\n| bytes/1024/1024/1024 as gbytes\n| timeslice 1d\n| sum(gbytes) as gbytes by _timeslice\n| X as daily_plan_size //Replace the X with your daily plan limit in GB found by going to Manage > Account\n| where gbytes >= daily_plan_size\n| sort gbytes\n| fields _timeslice, gbytes, daily_plan_size", "defaultTimeRange":"Yesterday", "viewNameOpt":"", "viewStartTimeOpt":0 },{ "type":"Search", "name":"Ingestion Throttling", "description":"This alert is automatically generated when your account has entered a throttled state ( whether induced by metrics or logs) in the last 30 minutes\u2028.The alert runs every 15 minutes and covers a 15 minute period.", "searchQuery":"_index=sumologic_audit _sourceCategory=account_management _sourceName=VOLUME_QUOTA", "defaultTimeRange":"-15m", "viewNameOpt":"", "viewStartTimeOpt":0 },{ "type":"Search", "name":"Monthly Plan Limit", "description":"This daily alert is generated when total ingest for the current billing period is greater than or equal to 85% of your total Sumo Logic monthly plan limit.\u2028 The alert covers the past 32 days (-32d).**You must replace the X in the search for the search to be successfully run", "searchQuery":"_index=sumologic_volume and sizeInBytes and _sourceCategory=\"collector_volume\"\n| parse regex \"\\\"(?<collector>[^\\\"]+)\\\"\\:\\{\\\"sizeInBytes\\\"\\:(?<bytes>\\d+),\\\"count\\\"\\:(?<count>\\d+)\\}\" multi \n| timeslice 1d\n| bytes/1024/1024/1024 as gbytes \n| sum(gbytes) as gbytes by _timeslice \n| formatDate(_timeslice, \"YY\") as year\n| formatDate(_timeslice, \"MM\") as month\n| number(month)\n| formatDate(_timeslice, \"dd\") as day\n| number(day)\n| formatDate(now(), \"MM\") as current_month\n| number(current_month)\n| formatDate(now(), \"dd\") as current_day\n| number(current_day)\n| X as billing_start //Replace the X with your billing start day which can be found in Manage > Account.\n| X as billing_end //Replace the X with your billing end day which can be found in Manage > Account\n| if(current_day < billing_start, current_month-1, current_month) as start_month\n| if(billing_start=1 and billing_end=31, current_month, if(current_day >= billing_start, current_month+1, current_month)) as end_month\n| if(((month>start_month AND day<=billing_end) OR (month=start_month AND day>=billing_start)), \"true\", \"false\") as include\n| 1 as day_count\n| if(start_month in(1,3,5,7,8,10,12), 31, if (start_month in(4,6,9,11), 30, if(year % 4 == 0, 29, 28))) as days_in_start_month\n| if(end_month in(1,3,5,7,8,10,12), 31, if (end_month in(4,6,9,11), 30, if(year % 4 == 0, 29, 28))) as days_in_end_month\n| where include=\"true\"\n| order by _timeslice\n| sum(gbytes) as gbytes, sum(day_count) as day_count, max(current_month) as current_month, max(current_day) as current_day, max(days_in_start_month) as days_in_start_month, max(days_in_end_month) as days_in_end_month, max(start_month) as start_month, max(end_month) as end_month, max(billing_start) as billing_start, max(billing_end) as billing_end\n| if(current_month = end_month, billing_end-current_day, if(current_month < end_month, days_in_start_month-current_day+billing_end, 0)) as billing_days_remaining\n| X as daily_gb_limit //Replace the X with your ingest limit per day which can be found in Manage > Account\n| daily_gb_limit * (day_count + billing_days_remaining) as expected_ingest_in_billing_cycle\n| (gbytes/expected_ingest_in_billing_cycle) * 100 as pct_used\n| where pct_used > 85", "defaultTimeRange":"-32d", "viewNameOpt":"", "viewStartTimeOpt":0 },{ "type":"Search", "name":"sourceCategory Ingest Spike", "description":"This hourly alert is generated when both of the following occur:\n1) Ingest for any _sourceCategory in your account has a 50% spike compared with the maximum ingest for the same _sourceCategory over the last four weeks (comparison is with the same hour and day of week).\n2) The volume ingested by the _sourceCategory represents at least 25 % of the total data ingested within the hour.\u2028\n", "searchQuery":"_index=sumologic_volume sizeInBytes _sourceCategory=\"sourcecategory_volume\" \n| parse regex \"\\\"(?<sourcecategory>[^\\\"]+)\\\"\\:\\{\\\"sizeInBytes\\\"\\:(?<bytes>\\d+),\\\"count\\\"\\:(?<count>\\d+)\\}\" multi\n| timeslice 1h\n| bytes/1024/1024/1024 as gbytes\n| sum(gbytes) as gbytes by sourcecategory, _timeslice\n| where !(sourceCategory matches \"*_volume\")\n| compare timeshift -1w 4 max \n| ((gbytes - gbytes_4w_max) / gbytes) * 100 as pct_increase\n| total gbytes by _timeslice\n| (gbytes / _total) * 100 as ingest_weight \n| where pct_increase > 50 and ingest_weight > 25", "defaultTimeRange":"-65m -5m", "viewNameOpt":"", "viewStartTimeOpt":0 }] }
  1. JSON をインポートする手順については、[Library (ライブラリ)] でコンテンツをエクスポート/インポートを参照してください。
  2. スケジュールするアラートに応じて、以下の手順に従います。

取り込みモニタリング アラート

取り込みアラートの各タイプについては、次のセクションを参照してください。

月プラン制限アラート

この日次アラートは、現在の請求期間の取り込みの合計が、Sumo Logic 月次プラン制限の合計の 85% 以上になったときに生成されます。
 このアラートでは、過去 32 日間 (-32d) がサポートされます。

検索を正常に保存するためには、示されているすべてのフィールドを更新する必要があります。

セットアップ

  1. データ ボリューム インデックスを有効にします。手順については、「データ ボリューム インデックスの有効化と管理」を参照してください。
  2. 検索クエリの以下のパラメーターについて、X を目的の値で置き換えます (以下のクエリの黄色のエントリを参照)。  請求の開始および終了の値には、日を使用します。たとえば、スクリーンショットでは、billing_start の値は 17 です。そのため、検索の行は、17 as billing_start. となるように更新します。

    X as billing_start
    X as billing_end
    X as daily_gb_limit

    目的の値は、[Account (アカウント)] ページにあります。左側のナビゲーションで自分の名前をクリックし、[Administration (管理)] > [Account (アカウント)] > [Account Overview (アカウントの概要)] を選択します。
    アカウント
  3. (省略可能) アラート生成のしきい値 (パーセンテージ) を変更する場合は、次の行を変更します。

    | where pct_used > 85

    例: 使用率が 80% になった時点でアラートを生成するには、この行を次のように変更します。

    | where pct_used > 80

クエリ

_index=sumologic_volume and sizeInBytes and _sourceCategory="sourcename_volume" | parse regex "\"(?<sourcename>[^\"]*)\"\:\{\"sizeInBytes\"\:(?<bytes>\d+),\"count\"\:(?<count>\d+)\}" multi | timeslice 1d | bytes/1024/1024/1024 as gbytes | sum(gbytes) as gbytes by _timeslice | formatDate(_timeslice, "YY") as year | formatDate(_timeslice, "MM") as month | number(month) | formatDate(_timeslice, "dd") as day | number(day) | formatDate(now(), "MM") as current_month | number(current_month) | formatDate(now(), "dd") as current_day | number(current_day) | X as billing_start //Replace the X with your billing start day which can be found in Manage > Account. | X as billing_end //Replace the X with your billing end day which can be found in Manage > Account | if(current_day < billing_start, current_month-1, current_month) as start_month | if(billing_start=1 && billing_end=31, current_month, if(current_day >= billing_start, current_month+1, current_month)) as end_month | if(((month>start_month AND day<=billing_end) OR (month=start_month AND day>=billing_start)), "true", "false") as include | 1 as day_count | if(start_month in(1,3,5,7,8,10,12), 31, if (start_month in(4,6,9,11), 30, if(year % 4 == 0, 29, 28))) as days_in_start_month | if(end_month in(1,3,5,7,8,10,12), 31, if (end_month in(4,6,9,11), 30, if(year % 4 == 0, 29, 28))) as days_in_end_month | where include="true" | order by _timeslice | sum(gbytes) as gbytes, sum(day_count) as day_count, max(current_month) as current_month, max(current_day) as current_day, max(days_in_start_month) as days_in_start_month, max(days_in_end_month) as days_in_end_month, max(start_month) as start_month, max(end_month) as end_month, max(billing_start) as billing_start, max(billing_end) as billing_end | if(current_month = end_month, billing_end-current_day, if(current_month < end_month, days_in_start_month-current_day+billing_end, 0)) as billing_days_remaining | X as daily_gb_limit //Replace the X with your ingest limit per day which can be found in Manage > Account | daily_gb_limit * (day_count + billing_days_remaining) as expected_ingest_in_billing_cycle | (gbytes/expected_ingest_in_billing_cycle) * 100 as pct_used | where pct_used > 85

スケジュール

セットアップが完了したら、検索の実行スケジュールを設定します。 

  1. セットアップで作成したクエリのスケジュールを設定します。詳細については、「検索のスケジュール」を参照してください。
  2. 頻度を [Daily (毎日)] に設定します。
  3. 時間範囲として -32d と入力します。
    time range monthly plan.png
  4. [Number of results (結果の数)]0 より大きいという [Alert Condition (アラート条件)] が満たされた場合に [Send Notification (通知の送信)] が実行されるように設定されていることを確認します。

日次プラン制限アラート

この日次アラートは、昨日の日次アカウント取り込みが日次プラン制限より大きいときに生成されます。 

検索を正常に保存するためには、示されているフィールドを更新する必要があります。

セットアップ

  1. データ ボリューム インデックスを有効にします。手順については、「データ ボリューム インデックスの有効化と管理」を参照してください。
  2. 検索クエリの以下のパラメーターについて、X を目的の値で置き換えます (以下のクエリの黄色のエントリを参照)。

    X as daily_plan_size

    目的の値は、[Account (アカウント)] ページにあります。左側のナビゲーションで自分の名前をクリックし、[Administration (管理)] > [Account (アカウント)] > [Account Overview (アカウントの概要)] を選択します。たとえば、次の図の日次プラン サイズは 100 です。

アカウント

クエリ

_index=sumologic_volume sizeInBytes
| where _sourceCategory="collector_volume"
| parse regex "\"(?<collector>[^\"]+)\"\:\{\"sizeInBytes\"\:(?<bytes>\d+),\"count\"\:(?<count>\d+)\}" multi
| bytes/1024/1024/1024 as gbytes
| timeslice 1d
| sum(gbytes) as gbytes by _timeslice
| 1000 as daily_plan_size
| where gbytes >= daily_plan_size
| sort gbytes
| fields _timeslice, gbytes, daily_plan_size

スケジュール

上記のセットアップ手順が完了したら、次の手順に従って、検索の実行スケジュールを設定します。  

  1. セットアップで作成したクエリのスケジュールを設定します。詳細については、「検索のスケジュール」を参照してください。
  2. 実行頻度を [Daily (毎日)] に設定します。
  3. 時間範囲の値を [Last 24 Hours (過去 24 時間)] に設定します。

    time range daily plan limt.png
  4. [Number of results (結果の数)]0 より大きいという [Alert Condition (アラート条件)] が満たされた場合に [Send Notification (通知の送信)] が実行されるように設定されていることを確認します。

使用率スパイク アラート

この毎時アラートは、次の両方の条件が満たされたときに生成されます。

  • アカウント内の _sourceCategory の取り込みのスパイクが、過去 4 週間における同じ _sourceCategory の最大取り込みのスパイクの 50% である (同じ曜日および時間で比較)。
  • _sourceCategory によって取り込まれたボリュームが、その時間内に取り込まれた合計データの 25% 以上である。 


セットアップ

  1. データ ボリューム インデックスを有効にします。  手順については、「データ ボリューム インデックスの有効化と管理」を参照してください。
  2. (省略可能) このアラートの感度を調整するには、クエリの次の行のいずれかの値を変更します。

    | where pct_increase  > 30 and ingest_weight > 30

    例: pct_increase の値を大きくすると、アラートの感度が低下します。

    | where pct_increase  > 50 and ingest_weight > 30
 

  3. (省略可能) コレクタまたはソースのスパイクを評価するようにアラートを変更するには、次のいずれかを行います。 

    コレクタの取り込みでスパイクが発生した場合にアラートを生成するには、クエリの最初の行を変更し、_sourceCategory="sourcecategory_volume" _sourceCategory="collector_volume" に置き換えます。

    ソースの取り込みでスパイクが発生した場合にアラートを生成するには、クエリの最初の行を変更し、
    _sourceCategory="sourcecategory_volume" _sourceCategory="source_volume" 
に置き換えます。

クエリ

_index=sumologic_volume sizeInBytes _sourceCategory="sourcecategory_volume" | parse regex "\"(?<sourcecategory>[^\"]+)\"\:\{\"sizeInBytes\"\:(?<bytes>\d+),\"count\"\:(?<count>\d+)\}" multi | timeslice 1h | bytes/1024/1024/1024 as gbytes | sum(gbytes) as gbytes by sourcecategory, _timeslice | where !(sourceCategory matches "*_volume") | compare timeshift -1w 4 max | ((gbytes - gbytes_4w_max) / gbytes) * 100 as pct_increase | total gbytes by _timeslice | (gbytes / _total) * 100 as ingest_weight | where pct_increase > 50 and ingest_weight > 25 //update pct_increase and/or weight value to adjust alert sensitivity

スケジュール

上記のセットアップ手順が完了したら、次の手順に従って、検索の実行スケジュールを設定します。  

  1. セットアップで作成したクエリのスケジュールを設定します。詳細については、「検索のスケジュール」を参照してください。
  2. 実行頻度を [Hourly (毎時間)] に設定します。
  3. 時間範囲として -65m -5m と入力します。
    time range usage spike.png
  4. [Number of results (結果の数)]0 より大きいという [Alert Condition (アラート条件)] が満たされた場合に [Send Notification (通知の送信)] が実行されるように設定されていることを確認します。

データ未送信アラート

この毎時アラートでは、過去 24 時間 (-24h) にどのコレクタもデータを送信していない場合に通知が送信されます。また、24 時間ではデータを十分に収集できない場合は、ユーザが時間範囲を広げる必要があるという通知も送信されます。

セットアップ

前提条件.このアラートを設定する前に、すべてのコレクタがデータを送信している必要があります。指定された時間範囲内にどのコレクタもデータを送信していない場合は、アラートがトリガーされます。長期間取り込みしていないコレクタ、またはまったく取り込みしていないコレクタを確認する場合は、コレクタ API の属性である aliveLastSeenAlive を使用します。

  1. データ ボリューム インデックスを有効にします。  手順については、「データ ボリューム インデックスの有効化と管理」を参照してください。
  2. (省略可能) コレクタのビジーの度合いに応じて、次のアラートしきい値を変更します。

    | where mins_since_last_logs >= 60

    たとえば、コレクタの取り込みの頻度が 60 分未満の場合は、4 時間がより適切であるため、この行を 240 分に変更します。

    | where mins_since_last_logs >= 240


クエリ

_index=sumologic_volume sizeInBytes _sourceCategory="collector_volume" | parse regex "\"(?<collector>(?:[^\"]+)|(?:\"\"))\"\:\{\"sizeInBytes\"\:(?<bytes>\d+),\"count\"\:(?<count>\d+)\}" multi | first(_messagetime) as MostRecent, sum(bytes) as TotalVolumeBytes by collector | formatDate(fromMillis(MostRecent),"yyyy/MM/dd HH:mm:ss") as MostRecentTime | toMillis(now()) as currentTime | formatDate(fromMillis(currentTime),"yyyy/MM/dd HH:mm:ss") as SearchTime | (currentTime-MostRecent) / 1000 / 60 as mins_since_last_logs | where mins_since_last_logs >= 60 | fields -mostrecent, currenttime | format ("%s Has not collected data in the past 60 minutes", collector) as message

ソースまたはソース カテゴリ全体のクエリの結果を "コレクタ" と呼ばないようにする場合は、"コレクタ" の 3 つのすべてのインスタンスを別のフィールド名に置き換えます。

Sources、sourceHosts、sourceNames、sourceCategories、または Views 全体で類似のクエリを実行するには、検索スコープのキーワードの行にある "collector_volume" のエントリを変更し、Sources の場合は "source_volume"、sourceHosts の場合は "sourcehost_volume"、sourceNames の場合は "sourcename_volume" 、sourceCategories の場合は "sourceCategory_volume"、Views の場合は "view_volume" に変更します。 

スケジュール

セットアップの手順が完了したら、検索の実行スケジュールを設定します。  

  1. セットアップで作成したクエリのスケジュールを設定します。詳細については、「検索のスケジュール」を参照してください。
  2. [Run frequency (実行頻度)][Hourly (毎時間)] に設定します。
  3. 時間範囲を設定します。デフォルトは [Last 24 hours (過去 24 時間)] です。コレクタによっては、通常それほど頻繁にデータを取り込まないものがあります。このため、より長い時間をみておく必要がある場合は、指定する時間範囲をこれより長くします。たとえば、7 日を指定します。
    Alert (アラート)
  4. [Number of results (結果の数)]0 より大きいという [Alert Condition (アラート条件)] が満たされた場合に [Send Notification (通知の送信)] が実行されるように設定されていることを確認します。
  5. (省略可能) 次のいずれかの方法で新しいアラートをテストします。

    a. 結果を制限して、モニタリングするコレクタを 2 つだけにする。これを行うには、クエリの最後に次の行を追加します。

    | where collector = "some_name" or collector = "some_other_name"

    b.「スクリプトを使用してコレクタを開始または停止する」に従ってコレクタをオフにし、アラートが受信されたことを確認する。

    c.コレクタがデータを送信する時間範囲を 15 分に縮小する。

    | where mins_since_last_logs >= 15

調整アラート

このアラートは、過去 15 分間に (メトリクスまたはログにより) アカウントが調整状態に入ったときに自動的に生成されます。アラートは 15 分ごとに実行されます。アラートでカバーされる期間は 15 分です。

セットアップ

  1. 監査ボリューム インデックスを有効にします。  手順については、「監査インデックスの有効化と管理」を参照してください。

クエリ

_index=sumologic_audit _sourceCategory=account_management _sourceName=VOLUME_QUOTA

スケジュール

上記のセットアップ手順が完了したら、次の手順に従って、検索の実行スケジュールを設定します。  

  1. セットアップで作成したクエリのスケジュールを設定します。詳細については、「検索のスケジュール」を参照してください。
  2. 実行頻度を [Every 15 Minutes (15 分ごと)] に設定します。
  3. 時間範囲を [Last 15 Minutes (過去 15 分間)] に設定します。
    time range throttling alert.png
  4. [Number of results (結果の数)]0 より大きいという [Alert Condition (アラート条件)] が満たされた場合に [Send Notification (通知の送信)] が実行されるように設定されていることを確認します。