---
title: Monitoramento de Recursos de Pods
slug: aiops/monitoramento-de-recursos-de-pods
docTags: 
createdAt: 2024-09-03T17:11:48.851Z
---

Configurando monitoramento de recursos do Kubernetes

O monitoramento de recursos do Kubernetes com o Telegraf requer algumas configurações específicas para garantir que o Telegraf tenha permissão para acessar e coletar dados dos pods.

## Criar ou fazer mudanças em uma autorização token para o API kubelet:

Para isso, siga as instruções abaixo e adicione as seguintes configurações no arquivo **dev.yml** do telegraf-operator:

:::hint{type="warning"}
Caso não use o arquivo **dev.yml&#x20;**&#x20;criar a propria **ClusterRole** baseada nos arquivos yml abaixo:
:::

### ClusterRoleBinding yaml:

Este arquivo cria um ClusterRoleBinding chamado **telegraf-operator** que vincula o Service Account **telegraf-operator** ao ClusterRole **cluster-admin**, concedendo permissões administrativas em todo o cluster.&#x20;

:::hint{type="danger"}
O nome **cluster-admin** não pode ser alterado, pois se refere a um ClusterRole padrão no Kubernetes.
:::



:::CodeblockTabs
dev.yml

```yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: telegraf-operator
  labels:
    app: telegraf-operator
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: telegraf-operator
    namespace: telegraf-operator

```
:::

### Secret yaml:

Este arquivo cria um Secret chamado **telegraf-operator-certs** que contém o token de acesso para o Service Account **telegraf-operator**, permitindo que o Telegraf autentique-se no kubelet e colete dados de monitoramento dos pods.


:::CodeblockTabs
dev.yml

```yaml
apiVersion: v1
kind: Secret
metadata:
  name: telegraf-operator-certs
  namespace: telegraf-operator
  annotations:
    kubernetes.io/service-account.name: telegraf-operator
data:
  tls.crt:
  .....
  tls.key:
  .....
type: kubernetes.io/service-account-token

```
:::

### Comando para pegar o Token criado a partir do secret a cima:

Após aplicar as configurações acima, você pode usar o seguinte comando para obter o token criado a partir do secret:

:::CodeblockTabs
command

```linux
TOKEN=$(kubectl get secret telegraf-operator-certs -n telegraf-operator -o jsonpath='{.data.token}' | base64 --decode)

```
:::

Esse token será usado para configurar o Telegraf para acessar o kubelet e coletar os dados de monitoramento dos pods. Dessa forma:

### Editar o arquivo classes.yml:

Adicione \[\[inputs.kubernetes]] dentro da classe usada. Coloque o ip do node, o token gerado acima e o parametro para pular a verificação de segurança se necessário.

:::CodeblockTabs
classes.yml

```linux
[[inputs.kubernetes]]
      url = "https://node-ip:10250"
      bearer_token_string = "<RESULTADO-DE-$TOKEN>"
      insecure_skip_verify = true
```
:::

