Versión de la integración0.0.1
Este check recopila métricas de Open Policy Agent.
Configuración
Sigue las instrucciones que se indican a continuación para instalar y configurar este check para un Agent que se ejecuta en un clúster de Kubernetes. Consulta también las plantillas de integración de Autodiscovery para obtener orientación sobre la aplicación de estas instrucciones.
Instalación
Para instalar el check open_policy_agent en tu clúster de Kubernetes:
Instala el kit de herramientas para desarrolladores.
Clona el repositorio integrations-extras
:
git clone https://github.com/DataDog/integrations-extras.git.
Actualiza la configuración de ddev
con la ruta de integrations-extras/
:
ddev config set repos.extras ./integrations-extras
Para compilar el paquete open_policy_agent
, ejecuta:
ddev -e release build open_policy_agent
Descarga el manifiesto del Agent para instalar el Datadog Agent como DaemonSet.
Crea dos PersistentVolumeClaim
, uno para el código de checks y otro para la configuración.
Añádelos como volúmenes a tu plantilla de pods del Agent y úsalos para los checks y configuración:
env:
- name: DD_CONFD_PATH
value: "/confd"
- name: DD_ADDITIONAL_CHECKSD
value: "/checksd"
[...]
volumeMounts:
- name: agent-code-storage
mountPath: /checksd
- name: agent-conf-storage
mountPath: /confd
[...]
volumes:
- name: agent-code-storage
persistentVolumeClaim:
claimName: agent-code-claim
- name: agent-conf-storage
persistentVolumeClaim:
claimName: agent-conf-claim
Despliega el Datadog Agent en tu clúster de Kubernetes:
kubectl apply -f agent.yaml
Copia el archivo .whl del artefacto de integración en tus nodos de Kubernetes o súbelo a una URL pública.
Ejecuta el siguiente comando para instalar la rueda de integraciones con el Agent:
kubectl exec ds/datadog -- agent integration install -w <PATH_OF_OPEN_POLICY_AGENT_ARTIFACT_>/<OPEN_POLICY_AGENT_ARTIFACT_NAME>.whl
Ejecuta los siguientes comandos para copiar los checks y la configuración en los PVCs correspondientes:
kubectl exec ds/datadog -- sh
# cp -R /opt/datadog-agent/embedded/lib/python2.7/site-packages/datadog_checks/* /checksd
# cp -R /etc/datadog-agent/conf.d/* /confd
Reinicia los pods del Datadog Agent.
Métricas generadas por logs
El dashboard por defecto incluye algunos gráficos relacionados con una métrica sobre las decisiones del OPA, llamada open_policy_agent.decisions
. Esta métrica se crea basándose en los “Logs de decisión” del OPA. Para generar esta métrica y poblar esta parte del dashboard, crea una nueva métrica generada por logs en Datadog.
En primer lugar, crea una faceta para el campo msg
de los logs del OPA, ya que solo genera métricas para el tipo de entrada de log “Logs de decisión”. Para ello, selecciona cualquiera de las entradas de log procedentes del OPA, haz clic en el log de motor cerca del campo msg
y selecciona “Create facet for @msg” (Crear faceta para @msg):

Crea dos facetas, una para el campo input.request.kind.kind
y otra para el campo result.response.allowed
, ambas disponibles en cualquiera de las entradas de log de tipo “Log de decisión”.

Una vez creadas las facetas, genera las métrica necesarias para que el dashboard esté completo. Haz clic en el menú “Logs -> Generate Metrics” (Logs > Generar métricas). Haz clic en “Add a new metric** (Añadir una nueva métrica) y rellena el formulario con los siguientes datos:

Configuración
Edita el archivo open_policy_agent/conf.yaml
, en la carpeta /confd
que has añadido al pod del Agent para empezar a recopilar tus datos de rendimiento del OPA. Consulta el open_policy_agent/conf.yaml de ejemplo para todas las opciones disponibles de configuración.
Reinicia el Agent.
Validación
Ejecuta el subcomando de estado del Agent y busca open_policy_agent
en la sección Checks.
Datos recopilados
Métricas
open_policy_agent.request.duration.count (count) | The count of the HTTP request latencies in seconds for the OPA service Shown as second |
open_policy_agent.request.duration.sum (count) | The sum of the HTTP request latencies in seconds for the OPA service Shown as second |
open_policy_agent.policies (gauge) | The number of policies enabled in the OPA server |
Eventos
open_policy_agent no incluye ningún evento.
Checks de servicios
open_policy_agent.prometheus.health
Returns CRITICAL
if the agent fails to connect to the Prometheus endpoint, otherwise OK
.
Statuses: ok, critical
open_policy_agent.health
Returns CRITICAL
if the agent fails to connect to the OPA health endpoint, OK
if it returns 200, WARNING
otherwise.
Statuses: ok, warning, critical
open_policy_agent.bundles_health
Returns CRITICAL
if the agent fails to connect to the OPA bundles health endpoint, OK
if it returns 200, WARNING
otherwise.
Statuses: ok, warning, critical
open_policy_agent.plugins_health
Returns CRITICAL
if the agent fails to connect to the OPA plugins health point, OK
if it returns 200, WARNING
otherwise.
Statuses: ok, warning, critical
Solucionar problemas
¿Necesitas ayuda? Ponte en contacto con el servicio de asistencia de Datadog.