1

特定のエラー コード (404 や 502 など) の急激な上昇 (スパイク) をキャッチする進行中のアラートを実際に使用できます。スクリプトに関しては、本当にあなたの助けを借りることができました :-)

私の理解では、検索クエリは通常のトラフィックを「認識」または「感知」し (どのくらいの長さか、おそらく 1 時間、2 時間)、1 ~ 2 時間前と比較してエラー コードが急増したときに警告する必要があります。エラー コード スパイクのしきい値は、90 秒以上発生している間、総トラフィックの 5% 以上である必要があると思います。

以下は、私が今日使用している Splunk クエリです。上で説明したように調整していただき、ありがとうございます。

tag=NginxLogs host=www1 OR host=www2 |stats count by status|eventstats sum(count) as total|eval perc=round((count/total)*100,2)|where status="404" AND perc>5
4

1 に答える 1

0

top コマンドは、カウントとパーセントを自動的に提供します。 http://docs.splunk.com/Documentation/Splunk/7.1.2/SearchReference/Top

tag=NginxLogs host=www1 OR host=www2  
| top status
| search percent > 5 AND status > 399

Splunk ログに url、http 要求メソッド、およびユーザーがある場合は、このアラートの一部として追加できます。例:

tag=NginxLogs host=www1 OR host=www2  
| eventstats distinct_count(userid) as NoOfUsersAffected by requestUri,status,httpmethod
| top status,httpmethod,NoOfUsersAffected by requestUri
| search NoOfUsersAffected > 2 AND ((status>499 AND percentage > 5) OR (StatusCode=400 AND percentage > 95))

次の警告メッセージを使用できます。

$result.percent$ % ($result.count$ calls) has StatusCode $result.status$  for 
$result.requestUri$ - $result.httpmethod$.
$result.NoOfUsersAffected$ users were affected

次のようなアラートが表示されます。

21.19 % (850 calls) has StatusCode 500  for https://app.test.com/hello - GET.
90 users are affected
于 2018-08-08T20:57:18.747 に答える