Gerenciamento de trabalhos do Logpush
IBM Cloud® Internet Services Os planos de nível empresarial têm acesso a registros detalhados de solicitações de HTTP, DNS e Range, bem como a eventos de firewall relacionados aos seus domínios. Esses logs são úteis para depuração
e análise de dados, especialmente quando combinados com outras origens de dados, como logs do ingresso ou do servidor de aplicativos na origem.
Antes de Iniciar
Antes de criar uma tarefa Logpush usando o console, analise as informações a seguir e verifique se todos os pré-requisitos estão atendidos:
-
Atualmente, o console CIS suporta os seguintes destinos:
- IBM Cloud Logs
- Cloud Object Storage
- IBM QRadar
- Splunk
-
Certifique-se de ativar a retenção de registros antes de usar o Logpush.
-
Se o seu destino não for explicitamente compatível com CIS, ele ainda poderá ser acessado pelo Logpush com um destino personalizado HTTP. Isso inclui seus próprios servidores de registro HTTP personalizados.
Para evitar erros, certifique-se de que o destino possa aceitar um upload de arquivo compactado com o nome
test.txt.gz, contendo o conteúdo compactado{"content":"tests"}. -
Somente para Splunk: Quando você envia logs para QRadar ou Splunk, CIS verifica o endereço IP e a porta quanto à acessibilidade e valida o certificado do receptor HTTP. Se todos os parâmetros forem válidos, o trabalho do Logpush será criado e começará a enviar eventos para a fonte de registro do receptor HTTP ( QRadar ) ou para o coletor de eventos HTTP ( Splunk ).
Criação de um trabalho do Logpush no console
Para criar um trabalho do Logpush no console, siga estas etapas:
-
No console CIS, navegue até Account > Logs e clique em Create.
-
Selecione e configure os tipos de serviço de destino entre as opções disponíveis:
- IBM Cloud Logs
-
-
Selecione IBM Cloud Logs nas opções de tipo de serviço.
-
Clique em Avançar.
-
Insira o ID da instância.
-
Selecione a região da instância.
-
Insira a chave da API.
É necessária uma chave de API para a conta em que a instância do IBM Cloud Logs está configurada. Você pode usar tanto uma chave de API de usuário quanto uma chave de API de ID de serviço. Essa chave é usada para gerar um token de portador para o trabalho do Logpush. A chave da API pode ser girada usando a API Update a Logpush job.
Para um serviço de registros IBM Cloud, o usuário ou ID de serviço deve receber a função IAM de remetente.
-
Clique em Avançar.
-
- Cloud Object Storage
-
-
Selecione Cloud Object Storage entre as opções de tipo de serviço.
-
Clique em Avançar.
-
Digite o ID da instância Cloud Object Storage, o nome do bucket, a região do bucket, o caminho do bucket (opcional) e a chave de API.
Opcional: Ative a opção Organizar registros em pastas diárias.
Os valores de destino para Cloud Object Storage devem ser exclusivos. Use um caminho exclusivo para o bucket a fim de evitar conflitos.
É necessária uma chave de API para a conta em que a instância Cloud Object Storage está configurada. Você pode usar tanto uma chave de API de usuário quanto uma chave de API de ID de serviço. Essa chave é usada para gerar um token de portador para o trabalho do Logpush. A chave da API pode ser girada usando a API Update a Logpush job.
Para um serviço Cloud Object Storage, o ID do usuário ou do serviço deve receber a função de IAM Object Writer para o bucket.
-
Clique em Avançar.
-
- IBM QRadar
-
- Selecione o IBM QRadar nas opções de tipo de serviço.
- Clique em Avançar.
- Digite o endereço QRadar URL e selecione a porta de origem do registro.
- Clique em Avançar.
- Splunk
-
-
Selecione Splunk entre as opções de tipo de serviço.
-
Clique em Avançar.
-
Digite o coletor de eventos Splunk raw HTTP URL, a ID do canal e o token de autenticação.
Você pode optar por usar uma verificação insegura; no entanto, isso não é recomendado.
-
Clique em Avançar.
-
-
Revise as configurações do trabalho de logpush:
-
Verifique se os detalhes do Logpush estão corretos.
-
Selecione o formato de carimbo de data/hora e as configurações de frequência necessários.
-
Escolha se deseja ativar o trabalho do Logpush, alternando a chave Ativação para Ligado.
-
Selecione os campos de log a serem incluídos na tarefa do Logpush.
Você pode usar os botões para Selecionar todos os campos ou Expandir todos os campos. Você também pode reverter para as configurações padrão.
-
Clique em Done (Concluído ) para criar o trabalho do Logpush.
-
O trabalho do Logpush é criado e começa a enviar os registros para o destino configurado.
Criação de um trabalho do Logpush na CLI
Você pode usar a ibmcloud cis logpush-job-create CLI para criar um trabalho do Logpush.
Para criar uma tarefa de Logpush para um domínio específico e ativar a tarefa, execute o comando a seguir:
ibmcloud cis logpush-job-create DNS_DOMAIN_ID --destination PATH --name JOB_NAME --fields all --enable true
Em que:
-destination: Especifica o caminho para o destino. Os caminhos para os destinos compatíveis são os seguintes:
| IBM Cloud Logs |
|---|
ibmcl://<INSTANCE_ID>.ingress.<REGION>.logs.cloud.ibm.com/logs/v1/singles?ibm_api_key=<IBM_API_KEY>
Por exemplo: É necessária uma chave de API para a conta em que a instância do IBM Cloud Logs está configurada. Você pode usar tanto uma chave de API de usuário quanto uma chave de API de ID de serviço. Essa chave é usada para gerar um token de portador para o trabalho do Logpush. A chave da API pode ser atualizada por meio da API “Atualizar uma tarefa do Logpush ”. Importante: É necessário que o usuário ou o ID do serviço tenha a função IAM “Remetente” concedida no serviço de registros do IBM Cloud. |
| Cloud Object Storage |
|---|
cos://<BUCKET_OBJECT_PATH>?region=<REGION>&instance-id=<IBM_ClOUD_OBJECT_STORAGE_INSTANCE_ID>&ibm_api_key=<IBM_API_KEY>
Por exemplo: |
| IBM QRadar |
|---|
<QRADAR_URL>:<LOG_SOURCE_PORT>
Por exemplo: |
| Splunk |
|---|
splunk://<SPLUNK_ENDPOINT_URL>?channel=<SPLUNK_CHANNEL_ID>&header_Authorization=<SPLUNK_AUTH_TOKEN>&sourcetype=<SOURCE_TYPE>&insecure-skip-verify=<INSECURE_SKIP_VERIFY>
Por exemplo: |
| Personalizado HTTP |
|---|
https://<HOSTNAME>?header_Authorization=Basic%20REDACTED&tags=host:<DOMAIN_NAME>,dataset:<LOGPUSH_DATASET>
Por exemplo: |
--name: Especifica o nome da tarefa do Logpush.
--fields: Especifica a lista de campos de log a serem incluídos nos arquivos de log. Use vírgulas para separar diversos campos. Use o comando ibmcloud cis logpush-available-fields DNS_DOMAIN_ID --dataset DATASET para obter uma lista completa dos campos de log disponíveis ou use all para incluir todos os campos disponíveis nos arquivos de log.
--enable: É o sinalizador para ativar ou desativar a tarefa do Logpush. Os valores válidos são true ou false (padrão).
Exemplos de comando
Exemplos de CLI para os destinos compatíveis:
- IBM Cloud Logs
- Exemplo
ibmcloud cis logpush-job-create 601b728b86e630c744c81740f72570c3 --destination "ibmcl://604a309c-585c-4a42-955d-76239ccc1905.ingress.us-south.logs.cloud.ibm.com/logs/v1/singles?ibm_api_key=xxxxxxxx" --name logpushJobGen --enable true --fields RayID --dataset http_requests --frequency high --instance 1a9174b6-0106-417a-844b-c8eb43a72f63 - Cloud Object Storage
- Exemplo
```sh {: pre}
ibmcloud cis logpush-job-create 31984fea73a15b45779fa0df4ef62f9b --destination cos://cis-test-bucket/logs/{DATE}?region=us&instance-id=f75e6d90-4212-4026-851c-d572071146cd&ibm_api_key=XXX --name logpushcreate --enable true --fields all --timestamps rfc3339 --dataset http_requests --frequency low -i cis-demo --output JSON
```
- IBM QRadar
-
Exemplo
ibmcloud cis logpush-job-create 31984fea73a15b45779fa0df4ef62f9b --destination https://qradar.example.com:8088 --name logpushJobQRadar --enable true --fields RayID --dataset http_requests --frequency high --instance 1a9174b6-0106-417a-844b-c8eb43a72f63 - Splunk
-
Exemplo
ibmcloud cis logpush-job-create 601b728b86e630c744c81740f72570c3 --destination splunk://cis-analytics.ibm.com:8088/services/collector/raw?header_Authorization=Splunk%20e6d94e8c-5792-4ad1-be3c-29bcaee0197d&channel=f1aafa4f-684f-4c29-a040-7fe184b03712&sourcetype=cloudflare:json&insecure-skip-verify=false --name logpushJobSplunk --enable true --fields RayID --dataset http_requests --frequency high --instance 1a9174b6-0106-417a-844b-c8eb43a72f63 - Personalizado HTTP
-
Exemplo
ibmcloud cis logpush-job-create 601b728b86e630c744c81740f72570c3 --destination https://logs.example.com?header_Authorization=a64VuywesDu5Aq" --name logpushJobGen --enable true --fields RayID --dataset http_requests --frequency high --instance 1a9174b6-0106-417a-844b-c8eb43a72f63
Criação de um trabalho do Logpush com a API
Você pode usar a API Create a Logpush job para criar um trabalho de Logpush ao usar IBM Cloud Logs, Cloud Object Storage ou Splunk.
Obtenção dos campos de registro disponíveis para um conjunto de dados com a API
Os campos de registro podem ser especificados no site logpull_options de um trabalho de Logpush para personalizar o que é enviado ao destino. Para obter os campos de registro disponíveis para um conjunto de dados do Logpush, siga
estas etapas:
- Configure seu ambiente de API com as variáveis corretas.
- Armazene os valores a seguir nas variáveis a serem usadas no comando da API:
CRN: o CRN completo codificado por url da instância de serviço.
ZONE_ID: o ID de domínio.
DATASET: O conjunto de dados do Logpush que está sendo inspecionado. Uma das opções http_requests, range_events, dns_logs, firewall_events.
-
Quando todas as variáveis forem iniciadas, crie a tarefa logpush:
curl -X GET https://api.cis.cloud.ibm.com/v2/$CRN/zones/$ZONE_ID/logpush/datas/$DATASET/fields \ --header "Content-Type: application/json" \ --header "X-Auth-User-Token: Bearer $IAM_TOKEN"'
Criação de um trabalho do Logpush para enviar logs ao seu destino
Para criar um trabalho de Logpush para o seu destino ( IBM Cloud Logs, Cloud Object Storage ou Splunk ), siga estas etapas:
- Configure seu ambiente de API com as variáveis corretas.
- Armazene os valores a seguir nas variáveis a serem usadas no comando da API:
CRN: O nome completo do recurso de nuvem (CRN) codificado em URL da instância de serviço.
ZONE_ID: o ID de domínio.
--request body: Informações para criar o corpo do trabalho do Logpush ( logpush_job_DESTINATION_req ) em que DESTINATION é um dos seguintes valores:
| IBM Cloud Logs |
|---|
|
Importante: O usuário ou o ID do serviço deve ter a função IAM “Remetente” atribuída no serviço de registros do IBM Cloud.
|
| Cloud Object Storage |
|---|
cos: Informações para identificar o bucket do Object Storage para o qual os dados são enviados. Os campos do objeto cos são:
Importante: O cliente ou o ID do serviço deve ter a função IAM “Object Writer” no bucket Object Storage. |
| IBM QRadar |
|---|
qradar: Informações para identificar o QRadar HTTP Receiver para onde os dados são enviados. |
| Splunk |
|---|
|
|
| Personalizado HTTP |
|---|
destination_conf: Informações para configurar o destino do HTTP personalizado para onde os dados são enviados. Os cabeçalhos podem ser especificados para serem usados pelo Logpush com parâmetros de consulta prefixados por
header_ (por exemplo: header_Authorization=XXXX). |
name: o nome da tarefa logpush.
enabled: se a tarefa está ativada. true ou false.
logpull_options: a sequência de configuração. Por exemplo, fields=RayID,ZoneID×tamps=rfc3339.
dataset: o conjunto de dados que é extraído. Uma das opções http_requests, dns_logs, range_events, firewall_events.
frequency: a frequência na qual o CIS envia lotes de logs para o seu destino. high ou low.
-
Quando todas as variáveis forem iniciadas, crie a tarefa logpush:
- IBM Cloud Logs
-
curl -X POST https://api.cis.cloud.ibm.com/v2/$CRN/zones/$ZONE_ID/logpush/jobs \ --header "Content-Type: application/json" \ --header "X-Auth-User-Token: Bearer $IAM_TOKEN" \ --data '{ "ibmcl": { "instance_id": "f8k3309c-585c-4a42-955d-76239cccf8k3", "region": "us-south", "api_key": "f8k3NQI22dPwNVCcmS62YFL1tm9vaehY6C9jxdtnf8k3" }, "ibmcl_names": { "application_name": "cis-edge-logs", "subsystem_name": "stage-firewall-logs" } "dataset": "http_requests", "enabled": true, "logpull_options": "fields=RayID,ZoneID×tamps=rfc3339", "name": "CIS-Edge-Requests", "frequency": "low" }'
{: pre} Cloud Object Storage : ```sh curl -X POST https://api.cis.cloud.ibm.com/v2/$CRN/zones/$ZONE_ID/logpush/jobs \ --header "Content-Type: application/json" \ --header "X-Auth-User-Token: Bearer $IAM_TOKEN" \ --data '{ "cos": { "bucket_name": "example_bucket", "path": "temp/", "id": "cos_instance_id", "region": "us-east" }, "dataset": "firewall_events", "enabled": false, "name": "CIS-Firewall-COS", "frequency": "low", "logpull_options": "fields=RayID,ZoneID×tamps=rfc3339", "ownership_challenge": "xxxxxxx" }'- IBM QRadar
-
curl -X POST https://api.cis.cloud.ibm.com/v2/$CRN/zones/$ZONE_ID/logpush/jobs \ --header "Content-Type: application/json" \ --header "X-Auth-User-Token: Bearer $IAM_TOKEN" \ --data '{ "qradar": { "url": "https://example.qradar.ibmcloud.com", "port": 8088 }, "dataset": "firewall_events", "enabled": false, "name": "CIS-Firewall-QRadar", "frequency": "low", "logpull_options": "fields=RayID,CacheResponseBytes,CacheResponseStatus,CacheCacheStatus×tamps=rfc3339" }'
{: pre} Splunk : ```sh curl -X POST https://api.cis.cloud.ibm.com/v2/$CRN/zones/$ZONE_ID/logpush/jobs \ --header "Content-Type: application/json" \ --header "X-Auth-User-Token: Bearer $IAM_TOKEN" \ --data '{ "splunk": { "endpoint_url": "example.splunkcloud.com:8088/services/collector/raw", "channel_id": "def3c136-7a01-4655-b17f-8e25a780ef2c", "skip_verify": false, "source_type": "cloudflare:json", "auth_token": "Splunk fake3585-0f38-4d62-8b43-c4b78584fake" }, "dataset": "http_requests", "enabled": true, "name": "CIS-Splunk-Logpush", "frequency": "high", "logpull_options": "fields=RayID,CacheResponseBytes,CacheResponseStatus,CacheCacheStatus×tamps=rfc3339" }'- Personalizado HTTP
-
curl -X POST https://api.cis.cloud.ibm.com/v2/$CRN/zones/$ZONE_ID/logpush/jobs \ --header "Content-Type: application/json" \ --header "X-Auth-User-Token: Bearer $IAM_TOKEN" \ --data '{ "destination_conf": "https://logs.example.com?header_Authorization=a64VuywesDu5Aq", "dataset": "http_requests", "enabled": true, "name": "CIS-Custom-Logpush", "frequency": "high", "logpull_options": "fields=RayID,CacheResponseBytes,CacheResponseStatus,CacheCacheStatus×tamps=rfc3339" }'
{: pre}