Kubernetes監視を使用して、コンテナによるインフラストラクチャの各コンポーネントを監視し、Kubernetesクラスターの正常性とパフォーマンスを監視します。

Site24x7ではオンプレミス、Azure (Azure Kubernetes Engine)、AWS (Elastic Kubernetes Service)、GCP (Google
Kubernetes
Engine)、MicroK8sといったプラットフォームでのKubernetes監視に対応しています。
Kubernetes監視を追加するにはSite24x7にログイン後、[サーバー]→[Kubernetes]→[クラスター]の横にある[+]アイコンをクリックしてください。
ロールベースのアクセスコントロール権限を設定し、デーモンセットとしてSite24x7エージェントをインストールします。
kubectl create secret generic site24x7-agent --from-literal KEY='<device-key>' && kubectl apply -f site24x7-agent.yaml
site24x7-agentポッドが作成され実行状態であることを確認します。Site24x7にノード、コンテナー、ポッド、デプロイメント、HPA、レプリカセットが追加されるには数分かかります。
Helmチャートを使用してKubernetesエージェントをインストールする手順は次のとおりです。
helm repo add site24x7 https://site24x7.github.io/helm-charts;
helm repo update;
helm install site24x7-agent site24x7/site24x7 --set deviceKey= <device-key>;
デーモンセット経由でクラスター内の全ノードにSite24x7が追加されます。数分以内に、Site24x7アカウントへのホストおよびメトリクスのレポートを開始します。
Helmインストールコマンドにプロキシ設定のインストールパラメーターを設定します。
helm install site24x7-agent site24x7/site24x7 --set deviceKey= <device-key> --set http_proxy=http://192.108.10.10:3128 --set https_proxy=http://192.108.10.10:3128;
helm install site24x7-agent site24x7/site24x7 --set deviceKey= <device-key> --set http_proxy=http://username:password@192.108.10.10:3128 --set https_proxy=http://username:password@192.108.10.10:3128[;](http://192.108.10.10:3128;)
上記により、エージェントがデーモンセット経由でクラスター内の全ノードにインストールされます。
これに加えて、メトリック取得のためkube-state-metricsがデプロイメントとしてデプロイされます。
kube-state-metricsがデプロイされると、Site24x7はアカウントへのホストおよびメトリクスデータのレポートを開始します。
ロールベースのアクセスコントロール権限を設定し、エージェントをSidecarコンテナーとしてコンテナーにデプロイします。
デバイスキーは[管理]→[開発者]→[デバイスキー]で表示されます。
kubectl create secret generic site24x7-agent --from-literal KEY='<device-key>' && kubectl apply -f site24x7-sidecar-agent.yaml
Kubernetesメトリックであるkube-state-metricsを有効化する方法は次のとおりです。
kubectl apply -f site24x7-kube-state-metrics.yaml
ロールベースのアクセスコントロール権限をクラスターに設定し、GKE Autopilotにデーモンセットとしてエージェントをインストールします。
kubectl create secret generic site24x7-agent --from-literal KEY= <device-key> && kubectl apply -f site24x7-gke-autopilot-agent.yaml
ロールベースのアクセスコントロール権限をクラスターに設定し、Openshiftにデーモンセットとしてエージェントをインストールします。
oc create secret generic site24x7-agent --from-literal KEY= <device-key> && oc apply -f site24x7-openshift-agent.yaml
VMware Tanzu Kubernetes(TKG)に、デーモンセットとしてSite24x7エージェントをインストールします。
kubectl create ns site24x7
kubectl label --overwrite ns site24x7 pod-security.kubernetes.io/enforce=privileged
kubectl create secret generic site24x7-agent --from-literal KEY= <device-key> -n site24x7 && kubectl apply -f site24x7-vmware-tanzu-k8s-agent.yaml
Kubernetes監視の編集ページで、Kubernetesクラスター設定を編集できます。
Kubernetes監視が追加されると、クラスター全体を表示するビジネスビューが作成されます。
[インフラストラクチャビュー]と[サービスビュー]を切り替えると、外れ値を見つけて、Kubernetesクラスターの異常な監視パターンを検出します。
詳細は、こちらのページをご確認ください。
クラスター、ノード、ポッド、コンテナの情報をノード単位で表示します。
クラスター、サービス、ポッド、コンテナの情報をサービス単位で表示します。
Site24x7にコンポーネントを追加すると、次のパフォーマンスメトリックを参照できます。
Kubernetes監視においてしきい値を設定する方法については、こちらのページをご確認ください。
Kubernetesリソースの未来のパフォーマンスを予測し、データ起点のアクションにつなげます。重要メトリックの予測データを取得し、クラスター、ノード、ポッドの可用性を確保します。
Kubernetes変更追跡で設定変更を可視化し、クラスターの確保、問題のトラブルシュート、コンプライアンスへの準拠につなげられます。
Kubernetes依存ツリーで、クラスター要素とそれらの接続を階層化構造で表示します。各Kubernetesリソース間の内部接続を可視化し、問題の特定やリソース使用率の強化につなげられます。
Kubernetes管理アクションを使用すると、ワークロードの再起動、レプリカのスケール、デプロイのロールバック、ノードのドレインなどのクラスタータスクを、監視ダッシュボードから直接実行できます。
これにより、インシデント対応やメンテナンス時に複数のツールを使い分ける手間を減らすことができます。
Kubernetesの設定ルールにより、各監視グループに監視設定変更のためのアクションを割り当てます。設定ルールをリソースグループに割り当てて、すぐに実行して適用することも可能です。
Site24x7画面で、[レポート]→[Kubernetes]をクリックすると、次のレポートでKubernetes監視について表示できます。
Kubernetesクラスター環境の推奨事項を取得して、可用性、セキュリティ、パフォーマンスの強化します。さらに、ITコストの削減も行えます。
キャパシティプランニングによりCPU、メモリ、ディスク使用率といったメトリックを使用してキャパシティ使用率を追跡し、特定の操作やワークロードのためにKubernetesリソースを最適化します。
コントロールプレーンコンポーネントを監視して、クラスター操作をスムーズに維持します。
Kubernetesクラスター内のKubeVirt仮想マシン(VM)を追跡し、コンテナーワークロードと並行して、VMIのCPU、メモリ、ストレージ、およびネットワークのパフォーマンスを可視化します。
Kubernetesノード上で稼働しているサーバー監視エージェントを経由してKubernetes環境の下記ログを収集して監視します。
Site24x7エージェントがKubernetes APIを用いて設定データと基本的なパフォーマンスデータを収集します。
使用しているAPIのバージョンはapps/v1であり、エージェントはRBAC認証を用いてAPIにアクセスします。RBAC認証時には、site24x7-agent.yamlファイル適用時に作成される権限をもつ次のオブジェクトが作成されます。
site24x7-agent.yamlファイルが適用されると、RBAC認証トークンが作成されて、自動的にSite24x7エージェントコンテナにマウントされます。このトークンを用いてエージェントがAPIにアクセスしてデータを収集します。
site24x7-agent.yamlファイルが適用されると、site24x7-agentというデーモンセットが作成されます。このデーモンセットはローリングアップデート戦略に用いられます。
kube-state-metricsは詳細なパフォーマンスデータを収集するために用いられます。これはkube-state-metrics.yamlファイルが適用されている場合のみ有効にできます。パフォーマンスデータはAPIにアクセスすることで収集されます。
http://<KUBE_STATE_IP>:<KUBE_STATE_PORT>/metrics
<KUBE_STATE_IP> -> kube state pod ip
<KUBE_STATE_PORT> -> 8080 by default
Site24x7エージェントはKubernetes APIの"List"と"Watch"権限のみを所持しており、それによりsite24x7-agent.yamlファイルを特定します。KubernetesオブジェクトデータはKubernetes APIのみを経由して読み取られ、書き込み操作は行いません。そのためエージェントはKubernetesオブジェクトの作成や更新が行えません。エージェントが収集したデータはKubernetesが首位証している認証メソッドでのみ収集されます。
1Kubernetesクラスターごとに1ベーシック監視とみなされます。
詳細は、こちらのページをご確認ください。
[サーバー]→[Kubernetes]→[クラスター]に移動し、消費ライセンス数を表示できます。
特定のクラスターのライセンス使用量列に表示されている数字をクリックすることで消費量の詳細にドリルダウンできます。