简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

配置代理以收集数据

提供者 netapp-alavoie 下载此页面的 PDF

Cloud Insights 使用 "Telegraf" 作为收集集成数据的代理。Telegraf 是一种插件驱动的服务器代理,可用于收集和报告指标,事件和日志。输入插件用于通过直接访问系统 /OS ,调用第三方 API 或侦听已配置的流(例如 Kafka , statsD 等)。输出插件用于将收集的指标,事件和日志从代理发送到 Cloud Insights 。

Cloud Insights 的当前 Telegraf 版本为 * 。 1.19.3 * 。

注 为了准确地进行审核和报告数据,强烈建议使用 * 网络时间协议( NTP ) * 或 * 简单网络时间协议( SNTP ) * 同步 Agent 计算机上的时间。

安装代理

如果您要安装服务数据收集器,但尚未配置代理,则系统会提示您先为相应的操作系统安装代理。本主题介绍如何在以下操作系统上安装 Telegraf 代理:

要安装代理,无论您使用的是哪个平台,都必须先执行以下操作:

  1. 登录到要用于代理的主机。

  2. 登录到 Cloud Insights 站点并转到 * 管理员 > 数据收集器 * 。

  3. 单击 * + Data Collector* 并选择要安装的数据收集器。

  4. 为您的主机选择合适的平台( Windows , Linux , macOS 等)

  5. 对每个平台执行其余步骤。

注 在主机上安装代理后,无需在该主机上重新安装代理。
提示 在服务器 /VM 上安装代理后, Cloud Insights 除了从您配置的任何数据收集器收集数据之外,还会从该系统收集指标。这些指标将作为收集 "" 节点 " 指标"
注 如果您使用的是代理,请在安装 Telegraf 代理之前阅读适用于您的平台的代理说明。

Windows

Windows 代理安装

前提条件:
  • 必须安装 PowerShell

  • 如果您使用的是代理,请按照 * 为 Windows 配置代理支持 " 一节中的说明进行操作。

在 Windows 上安装代理的步骤:
  1. 选择代理访问密钥。

  2. 从代理安装对话框复制命令块。您可以单击剪贴板图标将命令快速复制到剪贴板。

  3. 打开 PowerShell 窗口

  4. 将命令粘贴到 PowerShell 窗口中,然后按 Enter 键。

  5. 此命令将下载相应的代理安装程序并进行安装,然后设置默认配置。完成后,它将重新启动代理服务。此命令具有唯一的密钥,有效期为 24 小时。

  6. 单击 * 完成 * 或 * 继续 *

安装代理后,您可以使用以下命令启动 / 停止此服务:

Start-Service telegraf
Stop-Service telegraf

为 Windows 配置代理支持

注 以下步骤概述了设置 http_proxy/https_proxy_environment 变量所需的操作。对于某些代理环境,用户可能还需要设置 _no_proxy environment 变量。

对于驻留在代理后面的系统,请执行以下操作以设置 https_proxy 和 / 或 http_proxy 环境变量 * 先前 * 以安装 Telegraf 代理:

[System.Environment]::SetEnvironmentVariable(“https_proxy”, “<proxy_server>:<proxy_port>”, [System.EnvironmentVariableTarget]::Machine)

卸载代理

要在 Windows 上卸载代理,请在 PowerShell 窗口中执行以下操作:

  1. 停止并删除 Telegraf 服务:

    Stop-Service telegraf
    sc.exe delete telegraf
  2. 删除 C : \Program Files\Ceraf 文件夹以删除二进制文件,日志和配置文件

  3. 从注册表中删除 system\CurrentControlSet\Services\EventLog\Application\Ceaf 密钥

升级代理

要升级电报代理,请执行以下操作:

  1. 停止并删除此电报服务:

    Stop-Service telegraf
    sc.exe delete telegraf
  2. 从注册表中删除 system\CurrentControlSet\Services\EventLog\Application\Ceaf 密钥

  3. 删除 _C : \Program Files\celaf\celeaf.conf

  4. 删除 _C : \Program Files\caraf\caraf.exe

  5. "安装新代理"

RHEL 和 CentOS

RHEL/CentOS 代理安装

前提条件:
  • 必须提供以下命令: curl , sudo , ping , sha256sum 和 dmidecode

  • 如果您使用的是代理,请按照 * 为 RHEL/CentOS* 配置代理支持 " 一节中的说明进行操作。

在 RHEL/CentOS 上安装代理的步骤:
  1. 选择代理访问密钥。

  2. 从代理安装对话框复制命令块。您可以单击剪贴板图标将命令快速复制到剪贴板。

  3. 打开 Bash 窗口

  4. 将命令粘贴到 Bash 窗口中,然后按 Enter 键。

  5. 此命令将下载相应的代理安装程序并进行安装,然后设置默认配置。完成后,它将重新启动代理服务。此命令具有唯一的密钥,有效期为 24 小时。

  6. 单击 * 完成 * 或 * 继续 *

安装代理后,您可以使用以下命令启动 / 停止此服务:

如果您的操作系统使用的是 systemd ( CentOS 7+ 和 RHEL 7+ ):

sudo systemctl start telegraf
sudo systemctl stop telegraf

如果您的操作系统未使用 systemd ( CentOS 7+ 和 RHEL 7+ ):

sudo service telegraf start
sudo service telegraf stop

为 RHEL/CentOS 配置代理支持

注 以下步骤概述了设置 http_proxy/https_proxy_environment 变量所需的操作。对于某些代理环境,用户可能还需要设置 _no_proxy environment 变量。

对于驻留在代理后面的系统,请执行以下步骤 * 先前 * 以安装 Telegraf 代理:

  1. 为当前用户设置 https_proxy 和 / 或 http_proxy 环境变量:

     export https_proxy=<proxy_server>:<proxy_port>
    . 创建 _/etc/default/tengraf_ ,并插入 _https_proxy_and/or _http_proxy_ 变量的定义:
    https_proxy=<proxy_server>:<proxy_port>

卸载代理

要在 Rhel/CentOS 上卸载代理,请在 Bash 终端中执行以下操作:

  1. 停止 Telegraf 服务:

    systemctl stop telegraf (If your operating system is using systemd (CentOS 7+ and RHEL 7+)
    /etc/init.d/telegraf stop (for systems without systemd support)
  2. 删除 Telegraf 代理:

     yum remove telegraf
    . 删除可能遗留的任何配置或日志文件:
    rm -rf /etc/telegraf*
    rm -rf /var/log/telegraf*

升级代理

要升级电报代理,请执行以下操作:

  1. 停止电报服务:

    systemctl stop telegraf (If your operating system is using systemd (CentOS 7+ and RHEL 7+)
    /etc/init.d/telegraf stop (for systems without systemd support)
  2. 删除先前的电报代理:

     yum remove telegraf
    . link:#rhel-and-centos["安装新代理"]。

Ubuntu 和 Debian

Ubuntu 或 Debian 代理安装

前提条件:
  • 必须提供以下命令: curl , sudo , ping , sha256sum 和 dmidecode

  • 如果您使用的是代理,请按照 * 为 Ubuntu 或 Debian 配置代理支持 * 一节中的说明进行操作。

在 Debian 或 Ubuntu 上安装代理的步骤:
  1. 选择代理访问密钥。

  2. 从代理安装对话框复制命令块。您可以单击剪贴板图标将命令快速复制到剪贴板。

  3. 打开 Bash 窗口

  4. 将命令粘贴到 Bash 窗口中,然后按 Enter 键。

  5. 此命令将下载相应的代理安装程序并进行安装,然后设置默认配置。完成后,它将重新启动代理服务。此命令具有唯一的密钥,有效期为 24 小时。

  6. 单击 * 完成 * 或 * 继续 *

安装代理后,您可以使用以下命令启动 / 停止此服务:

如果您的操作系统使用的是 systemd :

sudo systemctl start telegraf
sudo systemctl stop telegraf

如果您的操作系统未使用 systemd :

sudo service telegraf start
sudo service telegraf stop

为 Ubuntu 或 Debian 配置代理支持

注 以下步骤概述了设置 http_proxy/https_proxy_environment 变量所需的操作。对于某些代理环境,用户可能还需要设置 _no_proxy environment 变量。

对于驻留在代理后面的系统,请执行以下步骤 * 先前 * 以安装 Telegraf 代理:

  1. 为当前用户设置 https_proxy 和 / 或 http_proxy 环境变量:

     export https_proxy=<proxy_server>:<proxy_port>
    . 创建 /etc/default/celaff ,并插入 _https_proxy_and/or _http_proxy_ 变量的定义:
    https_proxy=<proxy_server>:<proxy_port>

卸载代理

要在 Ubuntu 或 Debian 上卸载代理,请在 Bash 终端中运行以下命令:

  1. 停止 Telegraf 服务:

    systemctl stop telegraf (If your operating system is using systemd)
    /etc/init.d/telegraf stop (for systems without systemd support)
  2. 删除 Telegraf 代理:

     dpkg -r telegraf
    . 删除可能遗留的任何配置或日志文件:
    rm -rf /etc/telegraf*
    rm -rf /var/log/telegraf*

升级代理

要升级电报代理,请执行以下操作:

  1. 停止电报服务:

    systemctl stop telegraf (If your operating system is using systemd)
    /etc/init.d/telegraf stop (for systems without systemd support)
  2. 删除先前的电报代理:

     dpkg -r telegraf
    . link:#ubuntu-and-debian["安装新代理"]。

macOS

安装 macOS 代理

前提条件:
  • 必须提供以下命令: curl , sudo 和 shasum

  • 如果您使用的是代理,请按照 * 为 macOS* 配置代理支持 " 一节中的说明进行操作。

在 macOS 上安装代理的步骤:
  1. 选择代理访问密钥。

  2. 从代理安装对话框复制命令块。您可以单击剪贴板图标将命令快速复制到剪贴板。

  3. 打开 Bash 窗口

  4. 将命令粘贴到 Bash 窗口中,然后按 Enter 键。

  5. 此命令将下载相应的代理安装程序并进行安装,然后设置默认配置。完成后,它将重新启动代理服务。此命令具有唯一的密钥,有效期为 24 小时。

  6. 如果您之前使用 Homebrew 安装了 Telegraf 代理,则系统将提示您将其卸载。卸载先前安装的 Telegraf 代理后,重新运行上述步骤 5 中的命令。

  7. 单击 * 完成 * 或 * 继续 *

安装代理后,您可以使用以下命令启动 / 停止此服务:

sudo launchctl start telegraf
sudo launchctl stop telegraf

为 macOS 配置代理支持

注 以下步骤概述了设置 http_proxy/https_proxy_environment 变量所需的操作。对于某些代理环境,用户可能还需要设置 _no_proxy environment 变量。

对于驻留在代理后面的系统,请执行以下操作,为当前用户 * 先前 * 设置 https_proxy 和 / 或 http_proxy 环境变量,以安装 Telegraf 代理:

 export https_proxy=<proxy_server>:<proxy_port>
* 安装 Telegraf 代理之后,在 _/Applications/Telegraf.app/Contents/telegraf.plist_: 中添加并设置适当的 _https_proxy_and/or _http_proxy_ 变量
…
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>EnvironmentVariables</key>
   <dict>
          <key>https_proxy</key>
          <string><proxy_server>:<proxy_port></string>
   </dict>
   <key>Program</key>
   <string>/Applications/telegraf.app/Contents/MacOS/telegraf</string>
   <key>Label</key>
   <string>telegraf</string>
   <key>ProgramArguments</key>
   <array>
     <string>/Applications/telegraf.app/Contents/MacOS/telegraf</string>
     <string>--config</string>
     <string>/usr/local/etc/telegraf.conf</string>
     <string>--config-directory</string>
     <string>/usr/local/etc/telegraf.d</string>
   </array>
   <key>RunAtLoad</key>
   <true/>
</dict>
</plist>
…

然后,加载上述更改后重新启动 Telegraf :

sudo launchctl stop telegraf
sudo launchctl unload -w /Library/LaunchDaemons/telegraf.plist
sudo launchctl load -w /Library/LaunchDaemons/telegraf.plist
sudo launchctl start telegraf

卸载代理

要在 macOS 上卸载代理,请在 Bash 终端中运行以下命令:

  1. 停止 Telegraf 服务:

     sudo launchctl stop telegraf
    . 卸载此电报代理:
    cp /Applications/telegraf.app/scripts/uninstall /tmp
    sudo /tmp/uninstall
  2. 删除可能遗留的任何配置或日志文件:

    rm -rf /usr/local/etc/telegraf*
    rm -rf /usr/local/var/log/telegraf.*

升级代理

要升级电报代理,请执行以下操作:

  1. 停止电报服务:

     sudo launchctl stop telegraf
    . 卸载先前的电报代理:
    cp /Applications/telegraf.app/scripts/uninstall /tmp
    sudo /tmp/uninstall
  2. "安装新代理"

Kubernetes

Kubernetes Agent 安装

前提条件:
  • 必须提供以下命令: curl , sudo , kubectl

    为获得最佳结果,请将这些命令添加到路径中。

  • 必须安装 Kube-state-metrics 。有关详细信息,请参见下文。

  • 如果您使用的是代理,请按照 * 为 Kubernetes 配置代理支持 * 一节中的说明进行操作。

  • 如果您运行的 Kubernetes 变体需要安全上下文约束,请按照 * 配置代理以从 Kubernetes 收集数据 * 一节中的说明进行操作。

监控仅安装在 Linux 节点上

Cloud Insights 通过指定 Kubernetes 节点选择器来在这些平台上查找以下 Kubernetes 标签,支持监控运行 Linux 的 Kubernetes 节点:

平台 标签

Kubernetes v1.14 及更高版本

Kubernetes 。 io/OS = Linux

Kubernetes v1.13 及更低

测试版 .Kubernetes 。 IO/OS = Linux

Rancher + catt.io 作为流程编排 /Kubernetes 平台

catt.io/OS = Linux

安装

在 Kubernetes 上安装代理的步骤:
  1. 选择代理访问密钥。

  2. 单击安装对话框中的 * 复制代理安装程序 Snippet* 按钮。如果要查看命令块,您可以选择单击 +reveal Agent Installer Snippet 按钮。

  3. 打开 Bash 窗口。

  4. 将命令粘贴到 Bash 窗口中。

  5. 或者,您也可以在 install 命令中覆盖命名空间或提供集群名称,方法是修改命令块,在最终的 ./$installerName 之前添加以下一项或两项

    • cluster_name=< 集群名称 >

    • namespace=< 命名空间 >

      滚动以下示例以在命令块中正确查看此示例:

      installerName=cloudinsights-kubernetes.sh && token=<token> && key=c642e336-91f4-4c6f-8086-72faabd6aff6 && domain=tenant1.testk8.cloudinsights-test.netapp.com && curl -k -X GET -H "Authorization: Bearer $token" -H "X-CloudInsights-ApiKey-Id: $key" -o $installerName https://$domain/rest/v1/lake/telegraf/platforms/installer?platform=kubernetes && chmod +x $installerName && sudo --preserve-env JWT=$token DOMAIN_NAME=$domain API_KEY_ID=$key CLUSTER_NAME=TEST_CLUSTER NAMESPACE=NEW-NAMESPACE ./$installerName
      提示 cluster_name 是 Cloud Insights 收集指标的 Kubernetes 集群的名称,而 _namespace_是 要将 Telegraf 代理部署到的命名空间。如果指定的命名空间尚不存在,则会创建该命名空间。
  6. 准备好后,执行命令块。

  7. 此命令将下载相应的代理安装程序并进行安装,然后设置默认配置。如果尚未明确设置 namespaces ,系统将提示您输入此名称。完成后,此脚本将重新启动代理服务。此命令具有唯一的密钥,有效期为 24 小时。

  8. 完成后,单击 * 完成设置 * 。

将在 Kubernetes 集群上创建 DemonSet 和 ReplicaSet ,以运行所需的 Telegraf 代理 / Pod 。默认情况下,这些 Telegraf 代理 / Pod 将同时计划在主节点和非主节点上。

为了便于停止和重新启动代理,请使用以下命令生成 Telegraf DemonSet YAML 和 ReplicaSet YAML 。请注意,这些命令使用的是默认命名空间 "CI-monitoring" 。如果您已设置自己的命名空间,请在以下命令和所有后续命令和文件中替换此命名空间:

如果您已设置自己的命名空间,请在以下命令和所有后续命令和文件中替换此命名空间:

kubectl --namespace ci-monitoring get ds telegraf-ds -o yaml > /tmp/telegraf-ds.yaml
kubectl --namespace ci-monitoring get rs telegraf-rs -o yaml > /tmp/telegraf-rs.yaml

然后,您可以使用以下命令停止和启动 Telegraf 服务:

kubectl --namespace ci-monitoring delete ds telegraf-ds
kubectl --namespace ci-monitoring delete rs telegraf-rs
kubectl --namespace ci-monitoring apply -f /tmp/telegraf-ds.yaml
kubectl --namespace ci-monitoring apply -f /tmp/telegraf-rs.yaml

为 Kubernetes 配置代理支持

注 以下步骤概述了设置 http_proxy/https_proxy_environment 变量所需的操作。对于某些代理环境,用户可能还需要设置 _no_proxy environment 变量。

对于驻留在代理后面的系统,请执行以下操作,为当前用户 * 先前 * 设置 https_proxy 和 / 或 http_proxy 环境变量,以安装 Telegraf 代理:

 export https_proxy=<proxy_server>:<proxy_port>
* 安装 Telegraf 代理之后,将适当的 _https_proxy_ 和 / 或 _http_proxy_ 环境变量添加并设置为 _telecraf-DS_ emonset 和 _telecraf-RS_ replicaset 。
kubectl edit ds telegraf-ds
…
       env:
       - name: https_proxy
         value: <proxy_server>:<proxy_port>
       - name: HOSTIP
         valueFrom:
           fieldRef:
             apiVersion: v1
             fieldPath: status.hostIP
…
kubectl edit rs telegraf-rs
…
       env:
       - name: https_proxy
         value: <proxy_server>:<proxy_port>
       - name: HOSTIP
         valueFrom:
           fieldRef:
             apiVersion: v1
             fieldPath: status.hostIP
…

然后,重新启动 Telegraf :

kubectl delete pod telegraf-ds-*
kubectl delete pod telegraf-rs-*

配置代理以从 Kubernetes 收集数据

对于 Kubernetes 环境, Cloud Insights 会将 Telegraf 代理部署为 DemonSet 和 ReplicaSet 。运行代理的 Pod 需要能够访问以下内容:

  • HostPath

  • 配置映射

  • 机密

这些 Kubernetes 对象会在 Cloud Insights UI 中提供的 Kubernetes 代理安装命令中自动创建。Kubernetes 的某些变体(例如 OpenShift )实施了更高的安全级别,可能会阻止对这些组件的访问。SecurityContextConstrent 不是在 Cloud Insights UI 中提供的 Kubernetes 代理安装命令中创建的,必须手动创建。创建后,重新启动 Telegraf Pod 。

    apiVersion: v1
    kind: SecurityContextConstraints
    metadata:
      name: telegraf-hostaccess
      creationTimestamp:
      annotations:
        kubernetes.io/description: telegraf-hostaccess allows hostpath volume mounts for restricted SAs.
      labels:
        app: ci-telegraf
    priority: 10
    allowPrivilegedContainer: false
    defaultAddCapabilities: []
    requiredDropCapabilities: []
    allowedCapabilities: []
    allowedFlexVolumes: []
    allowHostDirVolumePlugin: true
    volumes:
    - hostPath
    - configMap
    - secret
    allowHostNetwork: false
    allowHostPorts: false
    allowHostPID: false
    allowHostIPC: false
    seLinuxContext:
      type: MustRunAs
    runAsUser:
      type: RunAsAny
    supplementalGroups:
      type: RunAsAny
    fsGroup:
      type: RunAsAny
    readOnlyRootFilesystem: false
    users:
    - system:serviceaccount:ci-monitoring:monitoring-operator
    groups: []

安装 Kube-state-metrics 服务器

安装 Kube-state-metrics 服务器时,您可以启用以下 Kubernetes 对象的收集: StatusSet , DemonSet , Deployment , PV , PVC , ReplicaSet , Service ,命名空间, Secret , ConfigMap , POD 卷和传入。

注 强烈建议使用 Kube-state-metrics 2.0 或更高版本,以利用完整的功能集,包括将 Kubernetes 永久性卷(永久性卷)链接到后端存储设备的功能。另请注意,对于 Kube-state-metrics 2.0 及更高版本,默认情况下不会导出 Kubernetes 对象标签。要配置 Kube-state-metrics 以导出 Kubernetes 对象标签,必须指定指标标签 "allow" 列表。请参见中的 -metric-labks-allowlist 选项 "Kube-state-metrics 文档"

按照以下步骤安装 Kube-state-metrics 服务器:

步骤
  1. 创建一个临时文件夹(例如, //tmp/Kube-state-yamal-files/_ ),然后从复制 .yaml 文件 https://github.com/kubernetes/kube-state-metrics/tree/master/examples/standard 到该文件夹。

  2. 运行以下命令以应用安装 Kube-state-metrics 所需的 .yaml 文件:

    kubectl apply -f /tmp/kube-state-yaml-files/

卸载代理

请注意,这些命令使用的是默认命名空间 "CI-monitoring" 。如果您已设置自己的命名空间,请在这些命令和所有后续命令和文件中替换该命名空间。

要卸载 Kubernetes 上的代理,请执行以下操作:

如果监控命名空间仅用于 Telegraf :

 kubectl --namespace ci-monitoring delete ds,rs,cm,sa,clusterrole,clusterrolebinding -l app=ci-telegraf
 kubectl delete ns ci-monitoring
如果除了 Telegraf 之外,监控命名空间还用于其他目的:
kubectl --namespace ci-monitoring delete ds,rs,cm,sa,clusterrole,clusterrolebinding -l app=ci-telegraf

升级代理

请注意,这些命令使用的是默认命名空间 "CI-monitoring" 。如果您已设置自己的命名空间,请在这些命令和所有后续命令和文件中替换该命名空间。

要升级电报代理,请执行以下操作:

  1. 备份现有配置:

     kubectl --namespace ci-monitoring get cm -o yaml > /tmp/telegraf-configs.yaml
    . 卸载代理(有关说明,请参见上文)
    . link:#kubernetes["安装新代理"]。

代理安装故障排除

在设置代理时遇到问题时要尝试的一些操作:

问题: 请尝试以下操作:

我已使用 Cloud Insights 安装代理

如果您已在主机 /VM 上安装了代理,则无需重新安装该代理。在这种情况下,只需在 Agent 安装屏幕中选择适当的平台和密钥,然后单击 * 继续 * 或 * 完成 * 。

我已安装代理,但未使用 Cloud Insights 安装程序安装代理

删除先前的代理并运行 Cloud Insights 代理安装,以确保正确的默认配置文件设置。完成后,单击 * 继续 * 或 * 完成 * 。

我未看到 Kubernetes 永久性卷与相应后端存储设备之间的超链接 / 连接。我的 Kubernetes 永久性卷使用存储服务器的主机名进行配置。

按照以下步骤卸载现有的 Telegraf 代理,然后重新安装最新的 Telegraf 代理。

我在日志中看到类似以下内容的消息: E0901 15 : 21 : 39.962145 1 个 trirror.go : 178] K8s.io/Kube-state-metrics/internal/store/builer.go : 352 :无法列出 * 。 MutatingWebhookConfiguration :服务器找不到请求的资源 E091.IO/Kube-state-metrics :内部 /8.171.Go :无法找到服务器

如果您运行的是 Kube-state-metrics 版本 2.0.0 或更高版本以及 Kubernetes 版本 1.17 或更低版本,则可能会出现这些消息。要获取 Kubernetes 版本: kubectl version 以获取 Kube-state-metrics 版本: kubectl get deploy/Kube-state-metrics -o jsonpath="" { ..image } ' 要防止发生这些消息,用户可以修改其 Kube-state-metrics 部署以禁用以下租约: mutatingwebconfigurations _webhook ,具体可以使用以下参数: resources=certificatesigningrequests , configmaps , cronjobs , demonsets ,部署,端点,水平 podautoscalers , ingeses ,作业,限制范围,命名空间,网络策略,节点,复制卷,持久性卷, poddis中断 预算, Pod ,证书集,资源控制器,资源等,网络,存储器,卷,存储器,卷,存储器,存储器,存储器,卷,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,卷,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,卷,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,卷,存储器,存储器,存储器,存储器,存储器,存储器, 验证 webhookconfigurations , volumeattachments

我在 Kubernetes 上安装或升级了 Telegraf ,但 Telegraf Pod 未启动。Telegraf ReplicaSet 或 DemonSet 报告了类似以下内容的故障:创建时出错: Pod "telaf-RS- " is foreged" :无法针对任何安全上下文限制进行验证: [spec.volumes_2 :无效值: "hostPath" :不允许使用 hostPath 卷 ]

如果还不存在安全上下文限制,请创建此限制(请参见上文 " 配置代理以从 Kubernetes 收集数据 " 一节)。确保为安全上下文限制指定的命名空间和服务帐户与 Telegraf ReplicaSet 和 DemonSet 的命名空间和服务帐户匹配。kubectl describe scc talaf-hostaccess

grep serviceaccount kubectl -n ci-monitoring -describe RS talaf-RS

grep -i "Namespace" kubectl -n ci-monitoring describe RS tengraaf-RS

grep -i "service account" : kubectl -n ci-monitoring -describe DS ci-ds-ds-ds-ds"

我看到来自 Telegraf 的错误消息如下所示,但 Telegraf 确实启动并运行: Oct 11 14 : 23 : 41 IP-172-31-39-47 systemd1* :启动了插件驱动的服务器代理,以便向 InfluxDB 报告指标。Oct 11 14 : 23 : 41 IP-172-31-39-47 cailaf[1827] : time="2021-10-11T14 : 23 : 41Z" level=error msg="failed to create cache directory" 。/etc/celaf/.cache/snowvelc ,错误: mkdir /etc/tengraf/.ca ChE :权限被拒绝。ignored\n" func="gosnowchelf.( * defaultLogger ) .Errorf" fil="log.go : 120" Oct 11 14 : 23 : 41 IP-172-31 : 39-47 celaf[1827] : time="2021-10-11T14 : 23 : 41Z" level=error msg="failed to open.已忽略。打开 /etc/celaf/.cache/snowlife/OCSP_response_cache.json : no such file or directory\n" func="gosnowchlafe.( * defaultLogger ) .Errorf" fil="log.go : 120" Oct 11 14 : 23 : 41 IP-172-31-39-47 craaf[1827] : I-41Z-2021 :启动 Telegraf 1.19.3

可以从找到追加信息 "支持" 页面或中的 "数据收集器支持列表"