LoginSignup
2
0

More than 3 years have passed since last update.

Kubernetes環境でのDatadog AgentからのIstioエラーについて

Posted at

環境及び構築手順

Amazon EKSで稼働させています。環境情報や構築手順は以下ページと同様です。

Istioの導入は以下を参考にしました。

事象

全てエラー内容は同じです。

Datadog Agent(のコンテナ)がエラーを出力する

agent.log
"log": "2021-06-14 11:33:16 UTC | CORE | ERROR | (pkg/collector/runner/runner.go:301 in work) | Error running check istio: [{\"message\": \"Detected 1 error while loading configuration model `InstanceConfig`:\\nmetrics -> 1\\n  str type expected\", \"traceback\": \"Traceback (most recent call last):\\n  File \\\"/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/base.py\\\", line 971, in run\\n    initialization()\\n  File \\\"/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/base.py\\\", line 396, in load_configuration_models\\n    instance_config = self.load_configuration_model(package_path, 'InstanceConfig', raw_instance_config)\\n  File \\\"/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/base.py\\\", line 436, in load_configuration_model\\n    raise_from(ConfigurationError('\\\\n'.join(message_lines)), None)\\n  File \\\"<string>\\\", line 3, in raise_from\\ndatadog_checks.base.errors.ConfigurationError: Detected 1 error while loading configuration model `InstanceConfig`:\\nmetrics -> 1\\n  str type expected\\n\"}]\n"

DatadogサイトのInfrastructure Listの対象ホストにintegration issueが表示される

Datadog has detected 1 integration with issues:
 Datadog’s istio integration is reporting:
 ・Instance #istio:8a41704874d07a5d[ERROR]: [{"message": "Detected 1 error while loading configuration model `InstanceConfig`:\nmetrics -> 1\n str type expected", "traceback": "Traceback (most recent call last):\n File \"/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/base.py\", line 971, in run\n initialization()\n File \"/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/base.py\", line 396, in load_configuration_models\n instance_config = self.load_configuration_model(package_path, 'InstanceConfig', raw_instance_config)\n File \"/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/base.py\", line 436, in load_configuration_model\n raise_from(ConfigurationError('\\n'.join(message_lines)), None)\n File \"<string>\", line 3, in raise_from\ndatadog_checks.base.errors.ConfigurationError: Detected 1 error while loading configuration model `InstanceConfig`:\nmetrics -> 1\n str type expected\n"}]

2021-06-14_19h55_45.png

原因

Agent v7.28.1に含まれる Istioインテグレーション v3.11.0で、下記エラーが出力される原因となるバグが存在しておりました。
2021/06/23 Datadogサポート回答より

Error: Detected 1 error while loading configuration model `InstanceConfig`:
metrics -> 1
  str type expected
      Traceback (most recent call last):
        File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/base.py", line 971, in run
          initialization()
        File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/base.py", line 396, in load_configuration_models
          instance_config = self.load_configuration_model(package_path, 'InstanceConfig', raw_instance_config)
        File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/base.py", line 436, in load_configuration_model
          raise_from(ConfigurationError('\n'.join(message_lines)), None)
        File "<string>", line 3, in raise_from
 datadog_checks.base.errors.ConfigurationError: Detected 1 error while loading configuration model `InstanceConfig`:
      metrics -> 1
        str type expected

Istioインテグレーション v3.11.0が問題との事なので、Istio IntegrationのCHANGELOGを見る限り、Agent v7.28.0から発生するようです。

修正予定バージョン

この修正は、Istio Integration v3.12.0 / Agent v7.29.0に含まれる予定となっております。
2021/06/23 Datadogサポート回答より

回避策

Istio Integrationが必要な場合

v7.29.0がリリースされるまでの間、v7.27.0にダウングレードします。
(チャートのAgentバージョン指定箇所を変更してhelm upgrade

values.yaml
    # agents.image.tag -- Define the Agent version to use
    ## Use 7-jmx to enable jmx fetch collection
-    tag: 7.28.1
+    tag: 7.27.0

Istio Integrationが不要の場合

values.yamlのignoreAutoConfig​にistioを追加し、auto_conf.yaml​を無視するように設定します。
(チャートのignoreAutoConfig指定箇所に追記してhelm upgrade

values.yaml
  # datadog.ignoreAutoConfig -- List of integration to ignore auto_conf.yaml.
  ## ref: https://docs.datadoghq.com/agent/faq/auto_conf/
-  ignoreAutoConfig: []
+  ignoreAutoConfig:
+    - istio
  #  - redisdb
  #  - kubernetes_state

Datadog Agentをhelm以外でインストールしている場合

dd-agentコマンドを使用してIstioインテグレーションに変更を加えます。

Istio Integrationが必要な場合

インテグレーションのinstallコマンドを使用して、Istio Integrationを修正の含まれるv3.12.0にアップグレードします。

Linux
sudo -u dd-agent -- datadog-agent integration install datadog-istio==3.12.0
Windows
"%PROGRAMFILES%\Datadog\Datadog Agent\embedded\agent.exe" integration install datadog-istio==3.12.0

Istio Integrationが不要の場合

インテグレーションのremoveコマンドを使用して、Istio Integrationを削除します。

Linux
sudo -u dd-agent -- datadog-agent integration remove datadog-istio
Windows
"%PROGRAMFILES%\Datadog\Datadog Agent\embedded\agent.exe" integration show datadog-istio

おまけ

まだリリースは無いですが既にv7.29.0でタグだけは付いているようです。
https://github.com/DataDog/datadog-agent/releases/tag/7.29.0
ただし、2021/06/24現時点で7.29.0を指定してhelmから起動してもImagePullBackOffになります。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0