web-dev-qa-db-ja.com

Zabbixの「プロセッサの負荷が高すぎる」トリガーの最適な構成

私は約監視しますZabbixを搭載した4つのCPUコアを備えた10台のLinuxサーバー。
最近、「プロセッサの負荷が高すぎます」というトリガーから多くの誤報を受け取る方法がありました。
「プロセッサーの負荷が高すぎます」トリガー式は次のとおりです:

{Template OS Linux:system.cpu.load[percpu,avg1].avg(5m)}>5 

これがデフォルトです。

その後、アラームを減らすために5から12にレイズしましたが、どういうわけかこれはそれに対処する最良の方法ではないと考えました。したがって、ググリングをいくつか作成し、新しいトリガーを作成しました。

{Template OS Linux:system.cpu.util[,user].max(5m)}>75

コミュニティに質問します。

  1. 新しい式は、元の式よりも実際のCPUの過負荷をよりよく反映しますか?
  2. どうにかして違う/良い/もっと最適化しますか?
  3. これを行う式をどのように作成しますか?
    次の場合にトリガーが起動します:

    • CPUごとのキューで待機している5分平均プロセス数は3を超える
      そして
    • 過去5分間の最大CPU使用率は75%より高くなります

いくつかの記事 の例に従って、試してみました

({Template OS Linux:system.cpu.load[percpu,avg1].avg(5m)}>3
&
{Template OS Linux:system.cpu.util[,user].max(5m)}>75)

でも失敗した。
Zabbixサーバーがエラーを返しました:
不正なトリガー式。 「&{Template OS Linux:system.cpu.util [、user] .max(5m)}> 75)」から始まる式の部分を確認してください。
私はZabbixの専門家ではないので(まだ)、コメントは大いに受け入れられます。ありがとう。

2
Reb

あなたの場合、「プロセッサの負荷が高すぎる」という誤った警告が出るのはなぜですか? CPUが飽和状態です。

私見:使用のみ

{Template OS Linux:system.cpu.load[percpu,avg1].avg(5m)}>5 

ただし、しきい値はサーバーによって異なります-何をどのように実行しているか。しかし、> 5の値は私にとって疑わしいものです。例:CPU使用率は低いが、CPU負荷が高い-この場合、「遅い」の症状である可能性があるIOディスク操作(CPU iowait使用量、ディスクキューの長さを確認する必要があります) 、...)新しい結合トリガー式はこのケースをキャッチしません。

Netflixのシニアパフォーマンスアーキテクトによる使用率/飽和に関する記事をお勧めします: http://www.brendangregg.com/usemethod.html

5
Jan Garaj

私はこのようなものを提案します:

{Template OS Linux:system.cpu.load[percpu,avg15].avg(15m)}>1.8

より高いしきい値に上げるのではなく、アラームの応答時間を遅くしたいことが目的です。多くの場合、5分または10分後にクリアされるアクティビティのバーストは実際にはそれほど問題ではなく、そこで行っていることによっては完全に正常な場合があります。ただし、重い負荷がかなりの時間続く場合は、そのことを知りたいときです。通常のワークロードがどのように見えるかに応じて、しきい値1.8を少し上または下に調整します。

ここでの表現に関して:

{Template OS Linux:system.cpu.util[,user].max(5m)}>75

このコンテキストでmax()関数を使用することはお勧めしません。これは、高いアクティビティの瞬間的なバーストにも敏感になるためです...それが本当に必要な場合を除いて、多くのアラートの取得について文句を言わないでください。

最後に、はい、ブール式を使用できます。役立つドキュメントページがあります。これをチェックしてください:

https://www.zabbix.com/documentation/3.2/manual/config/triggers/expression#operators

3
Tel