# Como integrar WAF com SIEMs

import DocButton from '~/components/webkit/DocButton.vue';
import Tabs from '~/components/tabs/Tabs'
import Code from '~/components/Code/Code.astro'


Seus registros do [Web Application Firewall (WAF)](/pt-br/documentacao/produtos/secure/firewall/web-application-firewall/) podem ser integrados a plataformas Security Information and Event Management (SIEM) por meio do **Data Stream** para monitorar comportamentos, desempenho e segurança de suas applications.

<DocButton href="/pt-br/documentacao/produtos/observe/data-stream/" label="saiba mais sobre Data Stream" kind="secondary" size="medium" />

---

<Tabs client:visible>
    <Fragment slot="tab.console">Console</Fragment>
    <Fragment slot="tab.api">API</Fragment>

<Fragment slot="panel.console">
1. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Data Stream**.
2. Clique em **+ Stream**.
3. Escolha um nome único e fácil de lembrar.
4. No menu suspenso **Source**, selecione **Applications**.
5. No menu suspenso **Template**, selecione **Applications + WAF Event Collector**.
6. Em **Option**, escolha entre **Filter Domains** ou **All Current and Future Domains**.
- Encontre mais informações sobre cada opção em [Como associar domínios no Data Stream](/pt-br/documentacao/produtos/guias/data-stream-associar-dominios/).
7. Na seção **Destination**, selecione um **Endpoint Type** no menu suspenso: **Standard HTTP/HTTPS POST**, **Apache Kafka**, **Simple Storage Service (S3)**, **Google BigQuery**, **Elasticsearch**, **Splunk**, **AWS Kinesis Data Firehose**, **Datadog**, **IBM QRadar**, **Azure Monitor** ou **Azure Blob Storage**.
- Você verá campos diferentes dependendo do tipo de endpoint escolhido. Encontre mais informações sobre cada um deles no guia específico para o endpoint na seção de [Observe](/pt-br/documentacao/produtos/guias/#observe) na página de guias.
8. Clique no botão **Save**.
</Fragment>

<Fragment slot="panel.api">
1. Execute a seguinte requisição `POST`, substituindo `[TOKEN VALUE]` pelo seu [personal token](/pt-br/documentacao/produtos/guias/personal-tokens/):

<Code lang="bash" code={`curl --request POST \
  --url https://api.azion.com/v4/data_stream/streams \
  --header 'Accept: application/json' \
  --header 'Authorization: Token [TOKEN VALUE]' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Conector Kafka",
    "active": true,
    "inputs": [
      {
        "type": "raw_logs",
        "attributes": {
          "data_source": "http"
        }
      }
    ],
    "transform": [
      {
        "type": "sampling",
        "attributes": {
          "rate": 100
        }
      }
    ],
    "outputs": [
      {
        "type": "kafka",
        "attributes": {
          "bootstrap_servers": "infra.my.net:9094,infra.my.net:9094",
          "topic": "mykafka.dts.topic"
        }
      }
    ]
  }'
`} />

:::tip
Este exemplo utiliza o **endpoint Apache Kafka**, mas você pode alterar o `endpoint_type` para qualquer um dos endpoints disponíveis e adicionar os campos obrigatórios específicos. Consulte os endpoints disponíveis e seus campos na tabela [Data Stream Endpoints](https://api.azion.com/#04257075-3691-4b5f-b22b-22a5b6653f3f).
:::

Aguarde alguns minutos para que as alterações se propaguem e seu stream será criado.

:::tip
Consulte a [documentação da API da Azion](https://api.azion.com/) para saber mais sobre o que a API da Azion pode oferecer.
:::

</Fragment>

</Tabs>
---