本文へスキップ

kube-apiserverメトリクス照会

ホーム画面 > クラスタープロジェクト選択 > クラスター > kube-apiserverメトリクス照会

ノート

要求事項

  • WhaTap Kubernetesエージェント1.5.6バージョン以降が必要です。

  • Kubernetesクラスタープロジェクト(CP)の場合、該当メニューを照会できます。

kube-apiserverは、コントロールプレーン(Control Plane) 内外部のリクエストを処理するコンポーネントです。 kube-apiserverメトリクス照会メニューを通じてkube-apiserverから収集される指標の原本データ整合性(Data Consistency)を確認できます。

基本画面ガイド

kube-apiserver メトリクス照会

kube-apiserverメトリクス照会メニューは、kube-apiserver対象に収集したモニタリング原本データをカテゴリ別に照会する機能を提供します。 最近5分間に収集したデータが1分おきに反映されます。

  • 上段左のタイムセレクターを通じて、過去の特定の時点のデータを照会できます。 過去のデータ照会時に希望するオプションを選択した後、虫眼鏡アイコン 検索アイコンをクリックします。

  • 照会する最大カウントを設定できます。

  • メトリクスをフィルタリングして、ソースデータを必要に応じて加工できます。

  • 上段右側のダウンロードアイコンを選択し、希望するデータを_CSV_形式のファイルでダウンロードできます。

フィルター

フィルターオプションを活用する時、希望するを選択して照会できます。 and条件を使用すると、複数のフィルターが適用できます。

  1. フィルターアイコンフィルター入力ウインドウでフィルター追加アイコン追加アイコンを選択すると、次のようにフィルターを追加するウィンドウが表示されます。

    フィルター追加

    • フィルターキー条件を選択してください。

    • 条件に合った値を選択してください。

  2. フィルター設定後、適用ボタンをクリックし、フィルターを適用してください。

  3. 複数のフィルターを追加するには、フィルター入力ウインドウまたはフィルターを追加するウィンドウでフィルター追加アイコン追加アイコンを選択してください。

kube-apiserverモニタリング活性化

WhaTap Kubernetesエージェントのインストール時にダウンロードしたyamlファイルを以下の案内に従って修正し、kube-apiserverモニタリングを活性化します。

  1. whatap-master-agent deploymentのspec下位にkube-apiserverモニタリングのためのエージェントコンテナspecを追加します。

    containers:
    - name: whatap-control-plane-helper
    image: whatap/kube_mon
    imagePullPolicy: Always
    ports:
    - containerPort: 9496
    command: ["/data/agent/master/whatap_control_plane_helper"]
    args: ["-collect_control_plane_monitoring_enabled=true"]

    次の例を参照にしてください。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: whatap-master-agent
    namespace: whatap-monitoring
    spec:
    replicas: 1
    selector:
    matchLabels:
    name: whatap-master-agent
    template:
    metadata:
    labels:
    name: whatap-master-agent
    spec:
    containers:
    - name: whatap-control-plane-helper
    image: whatap/kube_mon
    imagePullPolicy: Always
    ports:
    - containerPort: 9496
    command: ["/data/agent/master/whatap_control_plane_helper"]
    args: ["-collect_control_plane_monitoring_enabled=true"]
    - name: whatap-master-agent
    image: whatap/kube_mon
    imagePullPolicy: Always
    resources:
    requests:
    memory: 300Mi
    cpu: 100m
    limits:
    memory: 350Mi
    cpu: 200m
    ports:
    - containerPort: 6600
    command: ['/bin/entrypoint.sh']
    env:
    - name: WHATAP_LICENSE
    value: "xxxxxxxx-12345xxxxxx-x00e000000xxx8"
    - name: WHATAP_HOST
    value: "13.124.11.223/13.209.172.35"
    - name: WHATAP_PORT
    value: "6600"
    - name: WHATP_MEM_LIMIT
    valueFrom:
    resourceFieldRef:
    containerName: whatap-master-agent
    resource: limits.memory
    volumeMounts:
    - name: start-script-volume
    mountPath: /bin/entrypoint.sh
    readOnly: true
    subPath: entrypoint.sh
    - mountPath: /whatap_conf
    name: whatap-config-volume
    volumes:
    - name: start-script-volume
    configMap:
    defaultMode: 0700
    name: master-start-script
    - name: whatap-config-volume
    emptyDir: {}
    serviceAccount: whatap
  2. whatap-master-agent deploymentのwhatap-master-agentコンテナspecのenv設定に次の内容を追加します。

    env:
    - name: collect_control_plane_monitoring_enabled
    value: "true"

    次の例を参照にしてください。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: whatap-master-agent
    namespace: whatap-monitoring
    spec:
    replicas: 1
    selector:
    matchLabels:
    name: whatap-master-agent
    template:
    metadata:
    labels:
    name: whatap-master-agent
    spec:
    containers:
    - name: whatap-control-plane-helper
    image: whatap/kube_mon
    imagePullPolicy: Always
    ports:
    - containerPort: 9496
    command: ["/data/agent/master/whatap_control_plane_helper"]
    args: ["-collect_control_plane_monitoring_enabled=true"]
    - name: whatap-master-agent
    image: whatap/kube_mon
    imagePullPolicy: Always
    resources:
    requests:
    memory: 300Mi
    cpu: 100m
    limits:
    memory: 350Mi
    cpu: 200m
    ports:
    - containerPort: 6600
    command: ['/bin/entrypoint.sh']
    env:
    - name: collect_control_plane_monitoring_enabled
    value: "true"
    - name: WHATAP_LICENSE
    value: "xxxxxxxx-12345xxxxxx-x00e000000xxx8"
    - name: WHATAP_HOST
    value: "13.124.11.223/13.209.172.35"
    - name: WHATAP_PORT
    value: "6600"
    - name: WHATP_MEM_LIMIT
    valueFrom:
    resourceFieldRef:
    containerName: whatap-master-agent
    resource: limits.memory
    volumeMounts:
    - name: start-script-volume
    mountPath: /bin/entrypoint.sh
    readOnly: true
    subPath: entrypoint.sh
    - mountPath: /whatap_conf
    name: whatap-config-volume
    volumes:
    - name: start-script-volume
    configMap:
    defaultMode: 0700
    name: master-start-script
    - name: whatap-config-volume
    emptyDir: {}
    serviceAccount: whatap
  3. コントロールプレーンモニタリング性能指標を収集するためにwhatap ClusterRoleに次の権限を追加します。

    rules:
    - nonResourceURLs: ["/metrics"]
    verbs: ["*"]

    次の例を参照にしてください。

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
    annotations:
    rbac.authorization.kubernetes.io/autoupdate: "true"
    name: whatap
    namespace: whatap-monitoring
    rules:
    - apiGroups: ["*"]
    resources: ["namespaces", "pods", "pods/log", "configmaps","services", "endpoints","daemonsets","ingresses","deployments","nodes","persistentvolumes","persistentvolumeclaims", "events", "replicasets", "roles", "rolebindings", "clusterroles", "clusterrolebindings", "jobs", "cronjobs", "statefulsets", "serviceaccounts", "configmaps", "storageclasses", "horizontalpodautoscalers" ]
    verbs: ["get","list","watch"]
    - apiGroups: [""]
    resources: ["pods/exec"]
    verbs: ["create"]
    - apiGroups: [""]
    resources: ["configmaps"]
    verbs: ["*"]
    - nonResourceURLs: ["/metrics"]
    verbs: ["*"]
    ---
ノート

kubectl applyまたはkubectl editコマンドを通じてkube-apiserverモニタリングを活性化できます。

kube-apiserverメトリクス

分類メトリクス説明
API GETリクエスト1分当たりのGETリクエスト状況kube-apiserverのGETリクエストに対する1分当たりのリクエスト数
1秒当たりのGETリクエスト数の推移kube-apiserverのGETリクエストに対する1秒当たりのリクエスト数の推移
Resource & Subresource別の1分当たりのGETリクエスト数の推移kube-apiserverに入ってきたGETリクエストのResourceとSubresourceごとの1分当たりのリクエスト数の推移
API POSTリクエスト1分あたりのPOSTリクエストの状況kube-apiserverのPOSTリクエストに対する1分当たりのリクエスト数
1秒当たりのPOSTリクエスト数の推移kube-apiserverのPOSTリクエストに対する1秒当たりのリクエスト数の推移
Resource & Subresource別のPOST1分当たりのリクエスト数の推移kube-apiserverに入ってきたPOSTリクエストに対してResourceとSubresourceごとにグループ化した1分当たりのリクエスト数の推移
APIレスポンスコード別のリクエスト[ 2xx ] 1分あたりのレスポンスのリクエスト状況kube-apiserverリクエストのうち、200以上300未満のレスポンスコードが出されたリクエスト数に対する1分当たりの現況
[ 2xx ] 1分当たりのレスポンスコードごとのリクエスト数の推移kube-apiserverリクエストのうち、200以上300未満のレスポンスコードが出されたリクエスト数に対するレスポンスコードごとの1分当たりの現況
[ 2xx ] 1分当たりのResource & Subresourceごとのリクエスト数の推移kube-apiserverリクエストのうち、200以上300未満のレスポンスコードが出されたリクエストに対しResourceとSubresourceごとにグループ化した1分当たりのリクエスト数の推移
[ 3xx ] 1分あたりのレスポンスのリクエスト状況kube-apiserverリクエストのうち、300以上400未満のレスポンスコードが出されたリクエスト数に対する1分当たりの現況
[ 3xx ] 1分当たりのレスポンスコードごとのリクエスト数の推移kube-apiserverリクエストのうち、300以上400未満のレスポンスコードが出されたリクエスト数に対するレスポンスコードごとの1分当たりの現況
[ 3xx ] 1分当たりのResource & Subresourceごとのリクエスト数の推移kube-apiserverリクエストのうち、300以上400未満のレスポンスコードが出されたリクエストに対しResourceとSubresourceごとにグループ化した1分当たりのリクエスト数の推移
[ 400~ ] 1分あたりのレスポンスのリクエスト状況kube-apiserverリクエストのうち、400以上のレスポンスコードが出されたリクエスト数に対する1分当たりの現況
[ 400~ ] 1分当たりのレスポンスコードごとのリクエスト数の推移kube-apiserverリクエストのうち、400以上のレスポンスコードが出されたリクエスト数に対するレスポンスコードごとの1分当たりの現況
[ 400~ ] 1分当たりのResource & Subresourceごとのリクエスト数の推移kube-apiserverリクエストのうち、400以上のレスポンスコードが出されたリクエストに対しResourceとSubresourceごとにグループ化した1分当たりのリクエスト数の推移
Go MetricsGoルーチン数現在存在するGoルーチンの数
スレッド数現在存在するOSスレッド数
現在実行中のリクエスト数(1秒)直近1秒以内に実行中のリクエスト数データ収集時にkube-apiserverで1秒以内に行われていたリクエスト数