私の環境は、F5ロードバランサーの背後にあるNginxを実行している4台のUbuntu14.04サーバーです。彼らはDatadogにメトリックを送信し、SNMPを介してF5からメトリックをプルしてDatadogにも送信しています。
開発チームには、HTTPコードを監視できるようにする必要があります。 Nginx Plusでのみ可能であるため、サーバー側のNginxからそれらをプルすることはできません。アクセスログを読んで社内ソリューションを構築することを考えていましたが、実際にはその道を進みたくありません。それで次に私はF5に目を向けましたが、どちらもつかむことができませんでした。
このOIDは0の値を返します:sysStatHttpRequests::1.3.6.1.4.1.3375.2.1.1.2.1.56
VIP秒で約1000のHTTPリクエストを送信していたので、これは正しくありません。以下も0の値を返します。
sysFastHttpStatResp2xxCnt 1.3.6.1.4.1.3375.2.1.1.2.14.16
sysFastHttpStatResp3xxCnt 1.3.6.1.4.1.3375.2.1.1.2.14.17
sysFastHttpStatResp4xxCnt 1.3.6.1.4.1.3375.2.1.1.2.14.18
sysFastHttpStatResp5xxCnt 1.3.6.1.4.1.3375.2.1.1.2.14.19
スループットや接続などの他のメトリックをプルできるため、SNMPは機能しています...この環境でHTTPコードメトリックをプルする方法について誰かアイデアがありますか?または、これを行うためにF5でセットアップする必要があるものが完全に欠落している可能性があります。
編集:私自身の問題を解決しました。 F5でAVRをプロビジョニングしてから、仮想サーバーにHTTPプロファイルを適用する必要がありました。
FastHTTPプロファイルが適用されていない場合、そのOIDの統計は表示されません。通常のHTTPプロファイルは次のOIDを使用します。
[root@ltm3:Active:Standalone] mibs # snmptranslate -On F5-BIGIP-SYSTEM-MIB::sysHttpStatResp2xxCnt
.1.3.6.1.4.1.3375.2.1.1.2.4.3
[root@ltm3:Active:Standalone] mibs # snmptranslate -On F5-BIGIP-SYSTEM-MIB::sysHttpStatResp3xxCnt
.1.3.6.1.4.1.3375.2.1.1.2.4.4
[root@ltm3:Active:Standalone] mibs # snmptranslate -On F5-BIGIP-SYSTEM-MIB::sysHttpStatResp4xxCnt
.1.3.6.1.4.1.3375.2.1.1.2.4.5
そして、統計をリセットした後、ローカルvipに対してab 10k回実行し、2xx oidを確認すると、次のようになります。
[root@ltm3:Active:Standalone] mibs # snmpget -v 2c -c public localhost .1.3.6.1.4.1.3375.2.1.1.2.4.3.0
F5-BIGIP-SYSTEM-MIB::sysHttpStatResp2xxCnt.0 = Counter64: 10000
F5がHTTP応答コードに関するメトリックの収集を開始するために、F5でAVRモジュールをプロビジョニングする必要がありました。次に、デフォルトのHTTPプロファイルを仮想サーバーのプールに適用するだけです。その後、追跡されているHTTPコードに関する統計情報を取得し、SNMPを介してそれらの統計情報をDatadogに送信できます。