初めてKubernetesインテグレーションをインストールすると、Kubernetes クラスター上のアラート条件とダッシュボードの基礎を形成する、推奨されるアラート条件とKubernetesボードのデフォルト セットがアカウントにデプロイされます。 アラート条件は、 Kubernetes alert policyとGoogle Kubernetes Engine alert policyという 2 つのポリシーにグループ化されます。
私たちはあらゆる環境で最も一般的なユースケースに対処しようとしましたが、デフォルトのポリシーを拡張するために設定できる追加のアラートがいくつかあります。 アラートの詳細については、 「New Relic アラートの使用開始」を参照してください。
推奨アラート条件とダッシュボードの追加
推奨されるアラートポリシーとダッシュボードを追加するには、次の手順に従います。
one.newrelic.com > Integrations & Agentsに移動します。
検索ボックスに kubernetes
と入力します。
次のいずれかのオプションを選択します。
Kubernetesインテグレーションをインストールする必要がある場合は Begin installation をクリックし、すでにこのインテグレーションをセットアップしている場合は Skip this step をクリックします。
手順 3 で選択したオプションに応じて、追加するさまざまなリソースが表示されます。
手順 3 でKubernetes選択した場合に推奨されるアラート条件とダッシュボードのデフォルトのセット。
手順 3 でGoogle Kubernetes Engine選択した場合に推奨される Google Kubernetes エンジン アラート条件とダッシュボードのデフォルトのセット。
- See your dataをクリックすると、New Relic の Kubernetes データを含むダッシュボードが表示されます。
推奨アラートポリシーを確認する方法
追加した推奨アラート ポリシーを表示するには、次の手順を実行します。
one.newrelic.com > All capabilities > Alertsに移動します。
左側のナビゲーション ペインでAlert Policiesをクリックします。
Kubernetes alert policyとGoogle Kubernetes engine alert policyが表示されます。
Kubernetesダッシュボードの見方
一般的なユースケースの Kubernetes データを即座に視覚化できるようにするために、推奨される事前構築済みダッシュボードのコレクションがあります。 これらのダッシュボードを表示する方法については、 「推奨ダッシュボードの管理」を参照してください。
Kubernetes アラートポリシー
これは、追加する推奨アラート条件のデフォルトのセットです。
このダッシュボードには、一般的なユースケースの Kubernetes データを即座に視覚化するのに役立つグラフと視覚化が含まれています。
このアラート条件は、コンテナが 5 分間以上 25% 以上スロットルされた場合に分割を生成します。 次のクエリを実行します:
SELECT sum(containerCpuCfsThrottledPeriodsDelta) / sum(containerCpuCfsPeriodsDelta) * 100
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET containerName, podName, namespaceName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、制限に対するコンテナの平均 CPU 使用率が 5 分以上にわたって 90% を超えた場合に分割を生成します。 次のクエリを実行します:
SELECT average(cpuCoresUtilization)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET containerName, podName, namespaceName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、制限に対するコンテナ メモリの平均使用量が 5 分間以上にわたって 90% を超えた場合に、分割を生成します。 次のクエリを実行します:
SELECT average(memoryWorkingSetUtilization)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET containerName, podName, namespaceName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、コンテナの再起動が 5 分間のスライディング ウィンドウ内で 0 を超えると、分割を生成します。 次のクエリを実行します:
SELECT sum(restartCountDelta)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET containerName, podName, namespaceName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、コンテナが 5 分を超えて待機する場合に分割を生成します。 次のクエリを実行します:
SELECT uniqueCount(podName)
WHERE status = 'Waiting' AND clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET containerName, podName, namespaceName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、daemonset に 5 分を超える期間ポッドが欠落している場合に一括を生成します。 次のクエリを実行します:
SELECT latest(podsMissing)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET daemonsetName, namespaceName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、デプロイメントに 5 分を超えてポッドが欠落している場合に分割を生成します。 次のクエリを実行します:
SELECT latest(podsMissing)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET deploymentName, namespaceName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、 Etcd
ファイル記述子の使用率が 5 分間以上にわたって 90% を超えた場合に、分割を生成します。 次のクエリを実行します:
SELECT max(processFdsUtilization)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
FACET displayName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、 Etcd
ファイル記述子が 1 分を超えてリーダーレスである場合に分割を生成します。 次のクエリを実行します:
SELECT min(etcdServerHasLeader)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
FACET displayName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、水平ポッド オートスケーラーの現在のレプリカが目的のレプリカよりも 5 分以上低い場合に集計を生成します。 次のクエリを実行します:
SELECT latest(desiredReplicas - currentReplicas)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET displayName, namespaceName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、水平ポッド オートスケーラーが 5 つのレプリカを超えると、集計を生成します。 次のクエリを実行します:
SELECT latest(maxReplicas - currentReplicas)
WHERE clusterName in ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET displayName, namespaceName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、ジョブが失敗ステータスを報告したときに集計を生成します。 次のクエリを実行します:
SELECT uniqueCount(jobName)
WHERE failed = 'true' and clusterName in ('YOUR_CLUSTER_NAME') and namespaceName in ('YOUR_NAMESPACE_NAME') facet jobName, namespaceName, clusterName, failedPodsReason
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、ネームスペース内の 5 つを超えるポッドが 5 分以上失敗した場合に集計を生成します。 次のクエリを実行します:
SELECT uniqueCount(podName)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET namespaceName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、平均ノード割り当て可能 CPU 使用率が 5 分を超えて 90% を超えた場合に分割を生成します。 次のクエリを実行します:
SELECT average(allocatableCpuCoresUtilization)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
FACET nodeName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、ノードの割り当て可能なメモリの平均使用率が 5 分を超えて 90% を超えた場合に分割を生成します。 次のクエリを実行します:
SELECT average(allocatableMemoryUtilization)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
FACET nodeName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、ノードが 5 分間利用できない場合に加算を生成します。 次のクエリを実行します:
SELECT latest(condition.Ready)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
FACET nodeName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、ノードがスケジュールされていないとマークされている場合に分割を生成します。 次のクエリを実行します:
SELECT latest(unschedulable)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
FACET nodeName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、ノードの実行中のポッドが 5 分を超えてノードのポッド容量の 90% を超えた場合に集計を生成します。 次のクエリを実行します:
FROM K8sPodSample, K8sNodeSample
) / latest(capacityPods) * 100
WHERE nodeName != '' AND nodeName IS NOT NULL
AND clusterName IN ('YOUR_CLUSTER_NAME')
FACET nodeName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、ノード ルート ファイル システムの平均容量使用率が 5 分を超えて 90% を超えた場合に加算を生成します。 次のクエリを実行します:
SELECT average(fsCapacityUtilization)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
FACET nodeName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、永続ボリュームが 5 分を超えて失敗または保留状態にある場合に、分割を生成します。 次のクエリを実行します:
FROM K8sPersistentVolumeSample
SELECT uniqueCount(volumeName)
WHERE statusPhase IN ('Failed','Pending')
AND clusterName IN ('YOUR_CLUSTER_NAME')
FACET volumeName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、ポッドを 5 分を超えてスケジュールできない場合に一括を生成します。 次のクエリを実行します:
SELECT latest(isScheduled)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET podName, namespaceName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、ポッドが 5 分以上利用できない場合に、集計を生成します。 次のクエリを実行します:
WHERE status NOT IN ('Failed', 'Succeeded')
AND clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET podName, namespaceName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、 statefulset
にポッドが 5 分間以上存在しない場合に集計を生成します。 次のクエリを実行します:
FROM K8sStatefulsetSample
SELECT latest(podsMissing)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET daemonsetName, namespaceName, clusterName
詳細については、GitHub 設定ファイルを参照してください。
Google Kubernetesエンジン アラートポリシー
これは、追加する推奨される Google Kubernetes エンジン アラート条件のデフォルトのセットです。
このダッシュボードには、一般的なユースケースの Google Kubernetes データを即座に視覚化するのに役立つグラフと視覚化が含まれています。
このアラート条件は、ノードの CPU 使用率が少なくとも 15 分間 90% を超えた場合に加算を生成します。 次のクエリを実行します:
SELECT max(`gcp.kubernetes.node.cpu.allocatable_utilization`) * 100
WHERE clusterName LIKE '%' FACET gcp.kubernetes.nodeName
詳細については、GitHub 設定ファイルを参照してください。
このアラート条件は、ノードのメモリ使用量が総容量の 85% を超えた場合に、分割を生成します。 次のクエリを実行します:
SELECT max(gcp.kubernetes.node.memory.allocatable_utilization) * 100
WHERE clusterName LIKE '%' FACET gcp.kubernetes.nodeName
詳細については、GitHub 設定ファイルを参照してください。