Nginx のネイティブプロモテウス連携

2026/10/24 3:38

Nginx のネイティブプロモテウス連携

RSS: https://news.ycombinator.com/rss

要約▶

Japanese Translation:

Categorica が公式に open-sourcing する「nginx-stats-prometheus」は、NGINX 用のオープンソースのエクスポンダーモジュールであり、別個のサイドカーウェブサーバーの必要性をなくすため、NGINX と直接統合してリクエスト数や接続状態など Prometheus に互換のあるメトリクスを提供します。ソースから構築することをお勧めしており、これには C99 コンパイラ(例:Clang)、PCRE、OpenSSL、zlib が必要であり、NGINX は特定のフラグ(

--with-compat
および
--with-http_stub_status_module
)でコンパイルされている必要があります。NGINX ソースと組み合わせて構成した後、
make module
を実行して次に
sudo make install
を実行することでプラグインをインストールします。構成には
load_module
経由で
modules/ngx_http_stats_prom_module.so
を読み込み、デフォルトはポート 9100 に設定される
prometheus_metrics
ブロックを定義する操作が含まれます。エンドポイント
http://hostname:9100/metrics
は Prometheus のインジェスジョンに適したメトリクスを提供しており、
nginx_up
や合計のリクエスト/レスポンス数、接続状態などの基本メトリクスに加え、最初のリクエスト後には追加のサーバー別/アップストリーム別のメトリクスも含まれます(512 ディレクティブおよび 255 文字のプレフィックスに制限)。プラグインは統計データのためにデフォルトで 1 MB の共有メモリを割り当てており、
prometheus_metrics_shm_size
を経由して構成しない限り、超過した場合は静かに収集をスキップします。少ない統計データを提示する点、再構築を必要とするバージョン依存問題、および実戦での検証が不十分な点から、公式のエクスポンダーへのドロップイン交換としては適しません。MIT ライセンスの下で公開され、受け入れられたプルリクエストはありますが、プロジェクトは明確にサポートまたはトラブルシューティング支援の保証を提供していません。これはミニマリストなセットアップを求めているチームに適していますが、包括的なデータが必要な場合や即時の技術的支援が求められる場合は不十分になる可能性があります。

本文

NGINX と Prometheus のネイティブ統合:独自モジュールのオープンソース公開

Categorica が公式に、NGINX 用の独自 Prometheus 統計エクスポートモジュールをオープンソース化しました。本ツールはコンテナ環境なしでの運用やデプロイメント設定の簡素化を可能にします。

📦 概要と背景

  • 従来の課題: NGINX のメトリクス収集には、通常「NGINX Prometheus Exporter」という別の Web サーバーを実行するサイドカーコンテナが必要でした。
  • 問題点: 「監視者を監視する者」となる複雑性や、不要不急な依存関係の排除を目的としています。
  • 本リリース: 週末に開発された成果として、NGINX プラグインとして直接 NGINX に組み込まれる形で公開されました。

🛠️ 前提条件と環境構築

モジュールをコンパイルするには、以下の環境が必要です(Unix ライクな環境を前提)。

必要なツール

  • コンパイラ: C99 準拠のもの(例:Clang)
  • ライブラリ: PCRE, OpenSSL, zlib のライブラリとヘッダファイル

NGINX ソースコードの入手方法

パッケージマネージャ版では機能不足になる可能性があるため、ソースコードからビルドするのが推奨されます。

1. NGINX のビルド

既に適切なバージョンがインストールされている場合はこのステップをスキップできます。

cd path-to-nginx-source;
# プラグイン構築時のパス利用
export NGINX_SRC=`pwd`;
./configure --with-compat --with-http_stub_status_module;
make -j;
sudo make install;

上記コマンドは、NGINX を

/usr/local
系パスにインストールします。

2. プラグインのビルド

付録の

Makefile
が NGINX バージョンを自動検出・ソースコードをダウンロードします。

  • 環境変数省略:
    -NGINX_SRC-
    でパスを設定すると、バージョンチェックとダウンロードをスキップできます。
  • コマンド実行:
make module
sudo make install;

インストール先の詳細は GitHub リポジトリの

README.md
を参照してください。

⚙️ 設定と使用方法

ビルド後は、統計情報を公開するルートを定義する必要があります。

NGINX 設定例 (
nginx.conf
)

load_module modules/ngx_http_stats_prom_module.so;

http {
  # オプション:共有メモリサイズ(デフォルト 1m)
  # prometheus_metrics_shm_size 2m;

  server {
    # 標準的な NGINX ディレクティブ...

    listen 9100;
    location /metrics {
      prometheus_metrics;
    }
  }
}

メトリクスの確認

設定を適用後、以下の URL でメトリクスエンドポイントをクエリできます:

curl http://localhost:9100/metrics

📊 エクスポートされる統計情報

プロセス起動直後から利用可能な基本メトリクスと、サーバー/アップストリームごとの詳細メトリクスが提供されます。

基本メトリクス一覧

メトリック名タイプラベル(Label)
nginx_up
gaugeなし
nginx_process_pid
gaugeなし
nginx_http_requests_total
counterなし
nginx_http_responses_total
counterstatus (1xx–5xx)
nginx_http_requests_by_method_total
countermethod (GET, POST 等)
nginx_http_request_bytes_total
counterなし
nginx_http_response_bytes_total
counterなし
nginx_http_version_total
counterversion (1.0, 2.0, 3.0 等)
nginx_http_request_duration_seconds
histogramバケット (0.005s - 10s)
nginx_connections_active
gaugeなし
nginx_connections_reading
gaugeなし
nginx_connections_writing
gaugeなし
nginx_connections_waiting
gaugeなし
nginx_connections_accepted_total
counterなし
nginx_connections_handled_total
counterなし

サーバー/アップストリーム固有メトリクス

定義されたプレフィックス(例:

server_name_
や
upstream_name_
)に基づき、以下の計測が行われます:

  • <prefix>_requests_total
    : リクエスト数
  • <prefix>_response_total
    : レスポンス数(ステータス別)
  • <prefix>_request_bytes_total
    : リクエストサイズ合計
  • <prefix>_response_bytes_total
    : レスポンスサイズ合計

メモリ制限について

  • 共有メモリサイズ: デフォルト 1MB が統計情報の保存に割り当てられています。
  • 枯渇時の動作: 容量を超えると、統計収集は沈黙してスキップされます。
  • 設定変更:
    prometheus_metrics_shm_size
    ディレクティブでサイズを調整可能です(例:
    2m
    )。
  • サポート数: サーバーまたはアップストリームディレクティブは最大 512 個。プレフィックス長が 255 文字を超える場合は無視されます。

⚠️ 制限事項と注意点

本モジュールは

nginx-prometheus-exporter
の完全な置き換えではなく、以下の点に留意してください:

  • 統計量の少なさ: 収集される項目数が限定的です。
  • ビルド依存性: NGINX を更新する場合、通常プラグインも再ビルドが必要です。
  • 実戦検証: ベータ版段階のため、バグや動作制限の可能性が残ります。公式サポートは現時点では提供しておりません。

📜 ライセンスと貢献

  • ライセンス: MIT License
  • プルリクエスト歓迎: 改善提案やパッチのご提出を大歓迎です。
  • レビュープロセス: パッチセット提出時は、必ず人間によるレビューを経て合流されます。
  • サポート: コントリビューターには現状の公式サポートは提供されていません。

同じ日のほかのニュース

一覧に戻る →

2026/10/27 6:18

コリドーキー 2.0

## Japanese Translation: Corridor Digital は、CorridorKey 2.0(CK2.0)を発売しました。これは、Resolve、Nuke、After Effects、Premiere Pro、Blender のすべてに対応した初の公式ワンクリックキーイングプラグインです。サブスクリプションモデルとは異なり、一回購入制を採用し、柔軟なライセンス体系を提供しています。個人ユーザーは 2 回のアクティベーションが可能で、スタジオでは最大 24 セットまでの中央集約型請求によるライセンスが可能です。ソフトウェアは「Son of a Dungeon」(11 月 7 日初公開予定)からの 400 ショット以上を使用した厳密な 6 ヶ月のテストに基づいて構築されており、ネイティブ 4K HDR、浮動小数点色深度、フリッカー除去、ヘアやモーションブラーといった複雑な要素に対して AlphaHint インプットなどの機能により対応しています。 **ハードウェア要件:** Windows PC に NVIDIA RTX グラフィックスカード(RTX 30 シリーズ以降が推奨、ベータ版では RTX 20 で対応)または macOS 14 以降を実行する M シリーズ Mac の必要があります。Linux、Intel マック、AMD GPU は現時点で未対応です。Mac ではスタンドアロンアプリに加え、OpenFX/Blender/AE/Pr プラグインが提供されます。 **価格とスケジュール:** 個人向けベータ版価格は税金込みで 54.45 ドル(米ドル)ですが、11 月 21 日以降は 108.90 ドルに引き上がります。スタジオ向けボリューム価格は 1 セットあたり 42.50 ドルから始まり、11 月 21 日以降は引き上がります。ベータコード CK2BETA は 11 月 20 日まで有効です。本製品には 14 日間の全額返金保証が含まれ、月額費用なしでアーティストに強力な合成制御を提供し、2.x ラインのライフタイムアップデートを約束しています。

2026/10/27 3:14

タイプサーバープロトコル

## Japanese Translation: 元のサマリーは簡潔であるが、Key Points に記載されているいくつかの具体的な技術詳細を欠いている。以下に、それらを組み入れながら明瞭性を維持した改善版を示す: ## 改善されたサマリー: Type Server Protocol(TSP)は、Python アナリシスデータを効率的に取得するための専用の JSON-RPC スタンダードを確立し、Position、Range、URI の表現について Language Server Protocol(LSP)の慣習に従うとともに、`typeServer/` 接頭辞付きの方法を用いる。権威ある定義は `typeServerProtocol.ts` などのファイルに記述されており、TSP はプロトコルバージョン、スナップショット、検索パス、インポート解決、および 3 つの特定の型アナリシス(computed、declared、expected)を含む多様なクエリを支援する。アーキテクチャ上の重要な革新として、バージョン 0.4.1 で導入されたマルチ接続サポートがある;このオプションモードでは、クライアントが高負荷な同時クエリ(`getComputedType` または `resolveImport` など)に対してメイン接続をブロックせずに追加の読み取り専用接続を開くことが可能であり、メイン接続は状態変更操作と LSP ライフサイクルメッセージの独占的な所有権を保持する。接続はメインチャンネル上の JSON 制御メッセージ(`open` / `close`)を通じて管理される。TSP はマイナーな 0.x の変化であっても破壊的変更になり得る点において厳密なセマンティックバージョニングを強制し、破棄されたスナップショットには -32802、無効なパラメータには -32602 とする標準的な JSON-RPC エラーコードを利用する。結果はスナップショットのコンテキスト内でのみ有効であり、権威ある定義は `tsp.json` に記述されているため、TSP は高パフォーマンスと後方互換性の期待をバランスさせた堅牢な Python ツーリングの基盤を提供しており、現在は Pylance 2026.4.1 と整合している。

2026/10/27 0:11

セバスチャン・ラスカによるゼロから始める推論モデル構築ビデオコース

## Japanese Translation: 本稿では、ゼロから環境設定を開始し、Python および PyTorch を用いて高度な推論モデルを構築する方法を教える 8 部構成の 11 時間の動画シリーズを紹介する。これらのモデルは標準的な LLM よりも大幅に高性能であり、検証可能な報酬を取り入れたポストトレーニング手法やインフェレンススケールアップにより達成されている。カリキュラムでは、事前学習済みの Qwen3 0.6B モデルをベースとして使用し、強化学習(RLVR)、教師モデルからの蒸留(例:DeepSeek R1)、MATH-500 データセットに対する数学回答検証器等の独自ツールを用いた評価といった技術を実装する。具体的なモジュールには、環境設定、検証器の構築、インフェレンススケールアップ(自己一貫性投票を含む)、自己改善ループ、Group Relative Policy Optimization(GRPO)を用いた RLVR 訓練、KL ロスなどの訓練指標の解析が含まれる。「Build a Reasoning Model (From Scratch)」という本によって裏付けられ、これらのリソースは、文脈管理やツール利用を制御するアクセスしやすい「エージェントハネス」を通じて、コーディングや旅行予約といった複雑なタスクを実行できる洗練された AI エージェントを作成することを学習者に導く。

Nginx のネイティブプロモテウス連携 | そっか~ニュース