mssql-otel Helmチャートを使用して、Kubernetes上にSQL Serverの監視をインストールおよび構成できます。オプションとして、チャートは監視用のログインを作成するセットアップジョブを実行することもできます。
ガイド付きインストレーション
代わりにNew Relic UIからこれをインストールするには、one.newrelic.com > Integrations & Agents > Microsoft SQL Server (Database 360) に移動してください。画面上の指示に従って、インテグレーションをセットアップします。このページでは、手動インストレーションについてのみ説明します。
重要
このチャートは、SQL Server認証(ユーザー名/パスワード)のみをサポートします。Windows認証、Windowsドメイン認証、またはgMSAはサポートしていません。コレクターは、LinuxまたはWindows、セルフホストまたはRDSのいずれで実行されているかにかかわらず、常にネットワーク経由でリモートからSQL Serverにアクセスします。そのため、SQL認証はすべての場合において同じように機能します。また、コレクターはSQL Serverホスト自体ではなく、Kubernetesデプロイメントとして実行されるため、SQL Serverのメトリクスのみを報告します(ホスト/インフラストラクチャのメトリクスはありません)。
前提条件
有効なNew Relicのライセンスキー。
Helm 3.0以降、およびKubernetesクラスタにアクセスするように設定された
kubectl。KubernetesクラスタからSQL Serverホスト(またはRDSエンドポイント)およびポートへのネットワーク接続:
- セルフホスト:SQL Serverホストへのルーティングされたパス(VPN、ピアリング、または共有ネットワーク)が必要であり、SQL Server側のファイアウォールは接続の送信元IPを許可する必要があります。
- AWS RDS:RDSインスタンスとのVPCピアリング、トランジットゲートウェイ、または共有VPCへの配置が必要であり、RDSセキュリティグループでクラスタのエグレスソースからのSQL Serverポート(デフォルトでは
1433)を許可する必要があります。
すでに作成済みの監視ログイン、またはチャートのセットアップジョブが監視ログインを作成できるようにするためのSQL Server管理者認証情報(
saやRDSマスターユーザーなどのsysadminロールのログイン)のいずれかが必要です。以下の監視認証情報の設定を参照してください。
ネームスペースを作成
インストール先のネームスペースを作成します。helm install --create-namespaceは最後のインストール手順でのみネームスペースを作成するため、次の手順でシークレットを作成する前に、ネームスペースが存在している必要があります:
$kubectl create namespace newrelicヒント
以下のすべてのコマンドで-nを渡す必要がないように、現在のkubectlコンテキストのデフォルトのネームスペースとして設定します:
$kubectl config set-context --current --namespace=newrelic監視資格情報の設定
チャートのセットアップジョブにSQL Serverの監視ログインを作成させるかどうかを決定し、作成させない場合は、その資格情報をどのように提供するかを決定してください:
Helmの値を設定します
環境に合わせてmssql.topologyを設定してください:
価値 | 説明 |
|---|---|
| ネットワーク経由でアクセスするセルフホスト型のSQL Server(LinuxまたはWindowsホスト)。 |
| AWS RDS上のSQL Server。 |
前の手順で選択した資格情報メソッドに一致するvalues.yamlを使用します:
パラメータ | 説明 |
|---|---|
| New Relicライセンスキー。 |
| ご使用のリージョンのOTLP/HTTPエンドポイント(スキームを含む完全なURL):
(US)または
(EU)。詳細については、 を参照してください。 |
/
| クラスタから到達可能な、SQL Serverホスト(またはRDSエンドポイント)とポート。 |
/
| オプション。SQL Serverへの接続を暗号化するには
を、証明書の検証をスキップするには
を設定してください(テスト環境での自己署名証明書に便利です)。 |
/
| セットアップジョブで使用される
対応イメージ。デフォルトはありません:Microsoftが自由にプルできる
は2017年のものであり、メンテナンスされていません。そのため、使用する前にその古さ(パッチ未適用のCVEを含む)に問題がないことを確認するか、Microsoftの
aptパッケージから最新のイメージを自分でビルドしてください。セットアップジョブが有効になっている、シークレットベースの認証情報の場合にのみ必要です。 |
ヒント
mssql.collectionInterval、mssql.maxConcurrentQueries、およびadditionalReceiverConfigエスケープハッチを含む、利用可能なすべての設定オプションについては、チャートのvalues.yamlをご覧ください。
(オプション) 1つのリリースから複数のインスタンスをモニターする
1つのリリースで単一のコレクターポッドから複数のSQL Serverインスタンス(セルフホスト型またはRDS)をモニターするには、mssql.*の代わりにmssqlMulti.enabled: trueを設定します。2つのモードは相互に排他的です:同じリリースでmssql.serverとmssqlMulti.enabled: trueを設定しないでください。
マルチインスタンスモードには、プレーンなユーザー名/パスワードのパスはありません:各インスタンスには、監視資格情報を含む独自のKubernetesシークレットが必要です。セットアップジョブで各監視ログインも作成するかどうかを決定します:
パラメータ | 説明 |
|---|---|
| 1つのリリースから複数のインスタンスをモニターするには、
の代わりに
に設定します。デフォルトは
です。 |
|
または
、
と同じ意味であり、このリリースのすべてのインスタンスで共有されます。 |
| モニターするインスタンスの一覧。各エントリには一意の
、
(
のデフォルトは
)、および
が必要です;
が
の場合にのみ、エントリごとに
を追加してください。 |
ヒント
スクレイプ設定(収集間隔、TLS、メトリクス)は、mssqlMulti.databasesのすべてのインスタンスに同一に適用されます。インスタンスごとのオーバーライドはありません。異なる必要があるものにはadditionalReceiverConfigを使用します。セットアップジョブは、リリースごとに1回ではなく、インスタンス(<release>-setup-<name>)ごとに1回実行されます。
Helmチャートをインストールする
New Relic Helm リポジトリを追加します。
bash$helm repo add newrelic https://helm-charts.newrelic.com$helm repo updatevalues.yamlファイルを使用してチャートをインストールします:bash$helm upgrade --install mssql-otel newrelic/mssql-otel \>-n newrelic \>--create-namespace \>-f values.yaml
インストレーションを確認する
セットアップジョブが完了し(有効な場合)、コレクターポッドが実行されていることを確認します:
bash$kubectl get jobs,pods -n newrelic --watchデータが到着していることを確認するには、クエリビルダーでこのクエリを実行してください:
SELECT count(*) FROM MetricWHERE metricName LIKE 'sqlserver.%'AND instrumentation.provider = 'opentelemetry'SINCE 10 minutes ago
データを探す、使う
データの収集が開始されると、New Relic UIを通じて包括的なSQL Serverデータベース監視にアクセスできます。
New Relic で SQL Server データベース エンティティを見つけるには:
one.newrelic.com > All capabilities > Databasesに移動します。
Entity typeドロップダウンからMSSQL instanceを選択し、Applyをクリックします。
エンティティのリストから SQL Server データベースを選択します。
NRDOTを使用してSQL Serverの監視をセットアップした後、次のことができます:
- データベースのメトリクスを視覚化するカスタムダッシュボードを作成する
- クリティカルデータベースパフォーマンス閾値のアラートを設定する
- New Relicのクエリ機能を使用して、データを探索します