# Comparación entre Kapacitor y UI InfluxDB 2.x

### **Resumen comparativo**

| Característica           | Kapacitor (1.x)                           | UI InfluxDB 2.x                        |
| ------------------------ | ----------------------------------------- | -------------------------------------- |
| Integración              | Externa a InfluxDB                        | Integrada en la plataforma             |
| Lenguaje de tareas       | TICKscript                                | Flux                                   |
| Configuración de alertas | Por scripts y API                         | Desde la interfaz gráfica (UI)         |
| Procesamiento de datos   | Streams y lotes                           | Tareas programadas (Tasks)             |
| Dependencia              | Requiere instalación y mantenimiento      | Incluida en la instalación de InfluxDB |
| Facilidad de uso         | Requiere conocimientos técnicos avanzados | Más accesible y visual                 |

### **¿Qué es TICKscript?**

* Es el lenguaje de scripting utilizado por Kapacitor (herramienta de InfluxDB 1.x) para definir tareas de procesamiento, alertas, transformaciones y análisis de datos en tiempo real o por lotes.
* Es específico para Kapacitor y se usa principalmente para crear pipelines de procesamiento de datos y alertas en sistemas basados en InfluxDB 1.x
  * **Stream**: Los datos se analizan de manera continua y en tiempo real, a medida que llegan al sistema.
  * **Batch (lotes)**: Recolección de datos durante un periodo de tiempo y procesarlos.

### **Ejemplo comparativo de sintaxis**

* **TICKscript:**\
  Se usa para definir una alerta basada en umbral en Kapacitor, por ejemplo:

  <pre data-title="text" data-overflow="wrap"><code>stream
    |from()
      .database('dbrp_mediciones_sensores')
      .retentionPolicy('autogen') // o la RP que corresponda en tu mapeo
      .measurement('ambiente')
    |alert()
      .crit(lambda: "temperatura" > 80)
      .email('operador@empresa.com')
  </code></pre>
* **Flux:**\
  El mismo concepto en Flux sería:

  <pre data-title="text" data-overflow="wrap"><code>from(bucket: "mediciones_sensores")
    |> range(start: -1h)
    |> filter(fn: (r) => r._measurement == "temperatura" and r.value > 80)
    |> notifyEmail(to: "operador@empresa.com")
  </code></pre>

<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://darioaplicano.gitbook.io/influxdb2.x/sesion-5/guion-de-la-sesion/documentacion/troubleshooting/configuracion-de-alertas/comparacion-entre-kapacitor-y-ui-influxdb-2.x.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
