サーバトラフィック監視について

はじめまして。
zabbix初心者です。

このたび、とあるサイトの監視ツールとしてzabbixを導入しました。
そこで、下記のような設定を入れたいのですが…具体的にどのように設定すればいいのでしょうか。。

①webサーバへのトラフィックが100Mを超えた場合にアラートをとばす
②webサーバへのhttpdスレッド数が500を超えた場合にアラートをとばす

以上、よろしくお願いします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

初心者であるならば、まずは書籍を購入して学ばれるか、Zabbix関
連の様々な技術情報がインターネット上にも公開されていますので、
それらを活用して、Zabbixの用語や使い方の勉強をされることをお
勧めします。

その上で、どこがわからないのかをご質問ください。

また、質問される際には、どのような環境を利用されているかも情
報としてご提供ください。

例えば、

 ・利用されているZabbixのバージョンはいくつですか?
 ・利用されているOSは何ですか?
  バージョンはいくつですか?
 ・Webサーバには何を利用されていますか?
  バージョンはいくつですか?
 ・Webサーバを稼働されているOSは何ですか?
  バージョンはいくつですか?
 ・httpdスレッド数と書かれていますが、プロセス数ではなくス
  レッド数ですか?
  そうであるならば、Webサーバに何を利用されていて、どのよ
  うな設定をされているのかお教えください。
  httpdというところから、Apache HTTP Serverではないかと思
  われるのですが、スレッドを利用されているということですの
  で、MPMに何を選択されてどのように設定されているのかをお
  教えください。

というように、頂いたご質問だけでは情報が不足しているため、何
をどうお答えすれば良いかがわかりません。

ヒント: Zabbix 2.2.6を利用されている場合

 ・ネットワークのトラフィックを確認するので良いのなら、
  in側なら、
   net.if.in[インターフェイス名]
  out側なら、
   net.if.out[インターフェイス名]
  というようなキーのアイテムを利用して、それに対してトリガ
  ーを設定してください。

  テンプレートとして「Template OS Linux」を適用しているの
  であれば、手でアイテムを作成しなくても、ローレベルディス
  カバリの機能を利用して、自動的にアイテムが作成されている
  と思いますので、アイテムはそれをそのまま利用すれば良い
  でしょう。

 ・スレッド数ではなく、httpdのプロセス数であるならば、
  キーとして、
   proc.num[httpd]
  というようなキーのアイテムを作成すればプロセス数を取得で
  きますので、それに対してトリガーを設定してください。

ユーザー nanafuka の写真

情報が不足していて申し訳ありません。下記質問にご回答させていただきます。

・利用されているZabbixのバージョンはいくつですか?
⇒zabbix2.2.3

 ・利用されているOSは何ですか?
  バージョンはいくつですか?
⇒centos6.4

 ・Webサーバには何を利用されていますか?
  バージョンはいくつですか?
⇒apache2.2.15

 ・Webサーバを稼働されているOSは何ですか?
  バージョンはいくつですか?
⇒centos6.4

 ・httpdスレッド数と書かれていますが、プロセス数ではなくス
  レッド数ですか?
  そうであるならば、Webサーバに何を利用されていて、どのよ
  うな設定をされているのかお教えください。
  httpdというところから、Apache HTTP Serverではないかと思
  われるのですが、スレッドを利用されているということですの
  で、MPMに何を選択されてどのように設定されているのかをお
  教えください。
⇒prefork

まずはサーバトラフィックを監視したいと考えているので
下記を参考にさせて頂きます。

・ネットワークのトラフィックを確認するので良いのなら、
  in側なら、
   net.if.in[インターフェイス名]
  out側なら、
   net.if.out[インターフェイス名]
  というようなキーのアイテムを利用して、それに対してトリガ
  ーを設定してください。

ユーザー KAZ の写真

nanafukaさん


①webサーバへのトラフィックが100Mを超えた場合にアラートをとばす

TNKさんの書いている方法を試してください。


②webサーバへのhttpdスレッド数が500を超えた場合にアラートをとばす

もし、プロセスじゃなくスレッドとして、WebサーバがApacheならserver-statusを設定してAccの値を取るぐらいでしょうか?

ユーザー TNK の写真

スレッドなら、UserParameterを利用して、psにLオプションを付加
して、

 ps -efL | grep httpd | grep -v grep | wc -l

というように実行してスレッド別にカウントできるようにしても実
現できるかもしれません。

ユーザー nanafuka の写真

スレッド数については下記コマンドを実行すれば
取得できる事は分かっているのですが、今回はあくまでも
zabbixで挑戦してみたかったので…。まずはトラフィックから挑戦してみます。

csh
set promax = 1
while 1
echo "--------------------------------------------"
set pro = `ps -ef | grep httpd | wc -l`
date
echo "現在値:$pro"
if ($pro > $promax ) then
set promax = $pro
endif
echo "最高値:$promax"
sleep 60
end

ユーザー TNK の写真

これではスレッド数は取得できないと思います。

スレッド数とプロセス数の違いは理解できていますか?
しかもpreforkを利用されているのですから、スレッドを利用しない設定
になっていることは理解できていますか?