KibanaのSearchで抽出条件を作成する前々回、監視対象ホストに仕掛けたcollectdで情報を収集してlogstashに送るのをやった。今回はそのcollectdでNginxの情報を収集してウェブサーバの(ネットワーク的)使用状況をkibanaでデータ抽出する。(ついでにホストのロードアベレージも)魔法じゃないので何のしかけも無しにcollectdがNginxの使用状況を取得するということはできない。collectdがNginxのステータス情報を見るための設定を追加する。いうことはNginxでステータス情報を出してやるというのも必要。以下、Nginxとcollectdの設定やコマンドはFreeBSD用に書く。/usr/local/etc/nginx/vhosts/*.conf;}/usr/local/etc/nginx/vhostsにnginxのバーチャルホストの設定を置くとする。そこで/usr/local/etc/nginx/vhosts/にある.conf設定ファイルをインクルードする設定を追加。}}Nginxのバーチャルホストの1つとして127.0.0.1:80で待ち受けるものを作成する。その/ngstatにアクセスすることでNginxのステータスを取得する。Nginxのhttp_stub_statusモジュールが使える状態でないと当然動かない。"http://127.0.0.1/ngstat"</Plugin>Nginxプラグインの設定を追加。Nginxのステータスを取得するためのURLとして先に設定したバーチャルホストのURLを書く。restartNginxは再起動ではなく設定の再読み込みをする。collectdは普通に再起動。Nginxのステータスが出力されていることを確認しておく。8%こんな感じで出力される。collectdでNginxのステータス情報を受信できていることを確認する。方法はcollectdの設定の記事を参照。これでNginxのステータス情報がcollectd経由でlogstashに集められてelasticserchデータベースに流れ込むようになった。KibanaのSearchで抽出条件を作成する画面1:kibanaにアクセスし、左列のメニューからDiscoverをクリック。Discoverを表示するときは最低でもブラウザの幅を1000px以上にしないと欲しい情報が見えなくて使いづらいのでできるだけブラウザの窓を拡げること。minutesのようなので直近15分のlogstash-*の全データが表示される筈。フィールド名のリストの項目は表示されているデータ(抽出されているデータ)に含まれる分だけなので、存在する筈なのに表示されないと言う場合は抽出の仕方を変えるなどしなければならない。画面2:データの絞り込みを行う。決まりはない筈だか欲しいデータが得られるように抽出条件を追加する。今回は先ず特定のホストだけを抽出させたい。フィールド名のリストで[host]を押すと抽出範囲に含まれるホストのリストが表示される。その中から「抽出したい」ホストを探し、ホスト名の右側の(抽出の追加)を押す。画面3:上部に抽出中の項目が表示されるようになった。右列のデータソースも抽出したホストのデータだけになっている筈。フィールド名リストの[host]の項目も抽出対象として選んだホストだけが表示されている。絞り込むため、[collectd_type]を押す。collectd_typeに含まれる項目が表示される。(ここで注意としては項目名が多いと全てが表示されるとは限らないこと)今回はNginxの接続ステータスに絞りたいと思うのでnginx_connectionsの右側の(抽出の追加)を押す。ちなみにその下のconnectionsもNginxのステータス情報の一部。(今回は用は無し)画面4:上部の抽出中の項目の表示が増えた。フィールド名リストの[collectd_type]がnginx_connectionsだけになった。試しにデータソースの中の1つを開いてみる。Time列の時間の左側の(右向き三角)を押すとそのデータソースが展開される。type_instanceがwaitingになっている。いうのは他の種類のtype_instanceがある筈。画面5:フィールド名のリストから[type_inctance]を押す。4種類のtype_instanceが見えている。(抽出した時間内に含まれるものだけなのでこれが全種類とは限らないし全種類かもしれない)今回はwritingに絞りたいと思うのでwritingの右側の(抽出の追加)を押す。画面6:上部の抽出中の項目の表示が増えた。この抽出条件を保存したい。画面上部の[Save]を押す。画面7:わかりやすい名前を付けて[Save]を押す。(個人的には抽出条件を並べた名前を付けるようにしている)画面8:上の画面5でtype_instanceをwritingで抽出したが、type_instanceの別のものも抽出したい。そこで上部で現在抽出中の項目でtype_instance:"writing""になっている部分にマウスカーソルを合わせる。幾つかアイコンが表示されるので(ゴミ箱)をクリック。抽出状態としては画面5の状態になる。今回はactiveに絞りたいと思うのでactiveの右側の(抽出の追加)を押す。画面9:現在抽出中の項目にtype_instance:"active"が追加される。この抽出条件を保存したいので最上部の[Save]を押す。searchにチェックして[Save]を押す。searchにチェックしないと画面6,7で保存した抽出条件が新しく指定した名前に変更になって上書き保存されてしまう。画面10:今度はロードアベレージ。特定のホストに絞って、collectd_typeにloadを指定して更に絞った。shorttermという項目にそれぞれ値が入っている。(こういうのは直感的に分かりやすくてある意味ありがたいがデータとしては汚い)同じく名前を付けてこの条件で保存する。(次回Visualizeで使う)画面11:ここまで抽出条件を作って保存したが、それの管理は左列メニューのManagementで行う。Managementをクリック。Object」をクリック。Objectであること(赤色の破線四角部分)を確認してその少し下のタブから[Searches]をクリックする。保存した抽出条件がリスト表示されるので、削除したい条件があればその条件の名前の左にあるチェックボックスにチェックして[Delete]ボタンを押す。次は今回作成した抽出条件からVisualizeでグラフを作成する。コメントをキャンセルメールアドレスが公開されることはありません。