OpenShift に New Relic Integration をデプロイするときは kube-state-metrics に注意

「New Relic Kubernetes integration」というエージェントを使うことで Kubernetes のメトリクスを簡単に New Relic へ送ることができる。 Introduction to the Kubernetes integration | New Relic Documentation Kubernetes integration into New Relic: features, requirements, and getting started. docs.newrelic.com この Kubernetse integration は OpenShift にも対応しているが、kube-state-metrics には注意が必要。 何が起こるか:nrk8s-ksm で Warning が出続ける Kubernetes integration は Helm を使ってインストールでき、色々はリソースがデプロイされる。 そのうちの一つに nrk8s-ksm というコンポーネント (Deployment) があるが、デフォルト設定で Kubernetes integration をインストールすると、この nrk8s-ksm が次の Warning メッセージを出し続けてしまう。 Error populating KSM metrics: populate errors:, querying KSM: getting filtered metric families: error calling prometheus exposed metrics endpoint. Got status code: 400 どうすればよいか:参照する kube-state-metrics の namespace を指定する Kubernetes integration を Helm でインストールするとき、次の values.yaml が使われる。 ...

January 27, 2025 · 2 min · @nnstt1

OpenShift Logging でログを New Relic に転送する

OpenShift Container Platform では「OpenShift Logging」という Operator をインストールしてロギングの機能を追加できる。 この OpenShift Logging を使ってコンテナのログを New Relic に転送できるか試した。 バージョンの仕様変更 執筆時点の OpenShift Logging の最新バージョンは 6.1.0 だが、6.0.0 になったタイミングで仕様変更が入っている。 特に ClusterLogging.logging.openshift.io と ClusterLogForwarder.logging.openshift.io という API が無くなり、ClusterLogForwarder.observability.openshift.io に統一された。 今回試したのは 5.9.9 の環境なのでログ転送に ClusterLogForwarder.logging.openshift.io を使っているが、ドキュメントを見る限り 6.0.0 以降の ClusterLogForwarder.observability.openshift.io でも同じように動きそう。 Vector OpenShift Logging では Vector というログやメトリクスなどの可観測性データを収集・加工・送信するツールをコレクターとして使っている。 OpenShift Logging をインストールすると DaemonSets として collector がデプロイされて、Pod の中で Vector コンテナが動いてログを集めて転送する。 この Vector が New Relic 宛のログ転送をサポートしていれば可能かも、ということで調べてみるとベータ版だけどドキュメントが見つかった。 New Relic sink Deliver events to New Relic vector.dev ドキュメント見る限り、Vector に New Relic 用の設定ができればログ転送できそう。 ...

December 14, 2024 · 2 min · @nnstt1