Monitorar Instância Gerenciada do Azure para Apache Cassandra usando o Azure Monitor

A Instância Gerenciada do Azure para Apache Cassandra fornece métricas e log de diagnósticos por meio do Azure Monitor.

Métricas da Instância Gerenciada do Azure para Apache Cassandra

Você pode visualizar as métricas da Instância Gerenciada do Azure para Apache Cassandra no portal do Azure acessando o recurso de cluster e selecionando Métricas. Em seguida, você pode escolher entre as métricas e agregações disponíveis.

Screenshot that shows the Metrics pane in the Azure portal.

Configurações de diagnóstico no Azure

O Azure Monitor usa as configurações de diagnóstico para coletar logs de recursos, que também são chamados logs do plano de dados. Um recurso do Azure emite logs de recursos para fornecer dados avançados e frequentes sobre as operações. O Azure Monitor captura esses logs por solicitação. Os exemplos de operações do plano de dados incluem excluir, inserir e readFeed. O conteúdo desses logs varia de acordo com o tipo de recurso.

As métricas de plataforma e o log de atividades são coletados automaticamente, porém, você precisa criar uma configuração de diagnóstico para coletar logs de recursos ou encaminhá-los para fora do Azure Monitor. Você pode ativar as configurações de diagnóstico para recursos de cluster da Instância Gerenciada do Azure para Apache Cassandra e enviar logs de recursos para as seguintes fontes:

  • Espaço de Trabalho do Log Analytics. Os dados enviados para os workspaces do Log Analytics são gravados em Diagnóstico do Azure (herdado) ou em tabelas específicas do Recurso (versão prévia).
  • Hub de eventos.
  • Conta de armazenamento.

Observação

É recomendável criar a configuração de diagnóstico no modo específico do recurso.

Criar configurações de diagnóstico por meio do portal do Azure

  1. Entre no portal do Azure.

  2. Acesse o recurso de cluster da Instância Gerenciada do Azure para Apache Cassandra.

    Screenshot that shows selecting a cluster from a list of resources.

  3. Selecione Configurações de diagnóstico na seção Monitoramento e selecione Adicionar configuração de diagnóstico.

    Screenshot that shows the pane for diagnostic settings and the button for adding a diagnostic setting.

  4. No painel Configuração de diagnóstico, escolha um nome para a configuração.

    Em Detalhes da categoria, selecione as categorias. A categoria CassandraLogs registra as operações do servidor Cassandra. A categoria CassandraAudit registra as operações de auditoria e CQL (Cassandra Query Language).

    Em Detalhes de destino, escolha o destino preferencial dos logs. Se você estiver enviando logs para um workspace do Log Analytics, selecione Específico do recurso como a tabela de destino.

    Screenshot that shows selections for a diagnostic setting.

    Observação

    Se você estiver enviando logs para um workspace do Log Analytics, ele podem demorar até 20 minutos para serem exibidos. Até lá, as tabelas específicas do recurso (mostradas em Instância Gerenciada do Azure para Apache Cassandra) não estarão visíveis.

  5. Depois que o log de diagnóstico é configurado e os dados estão fluindo, você pode selecionar Logs e consultar os logs de diagnóstico disponíveis usando o Azure Data Explorer. Para obter mais informações sobre o Azure Monitor e a Linguagem de Consulta Kusto, confira Registrar consultas no Azure Monitor.

    Screenshot that shows query logs.

Criar uma configuração de diagnóstico por meio da CLI do Azure

Para criar uma configuração de diagnóstico usando a CLI do Azure, use o comando az monitor diagnostic-settings create:

    logs='[{"category":"CassandraAudit","enabled":true,"retentionPolicy":{"enabled":true,"days":3}},{"category":"CassandraLogs","enabled":true,"retentionPolicy":{"enabled":true,"days":3}}]'
    resourceId='/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.DocumentDB/cassandraClusters/{CLUSTER_NAME}'
    workspace='/subscriptions/{SUBSCRIPTION_ID}/resourcegroups/{RESOURCE_GROUP}/providers/microsoft.operationalinsights/workspaces/{WORKSPACE_NAME}'

    az monitor diagnostic-settings create  --name tvk-diagnostic-logs-cassandra --resource $resourceId --logs  $logs --workspace $workspace --export-to-resource-specific true

Criar uma configuração de diagnóstico por meio da API REST

Use a API REST do Azure Monitor para criar uma configuração de diagnóstico por meio do console interativo.

Observação

É recomendável definir a propriedade logAnalyticsDestinationType como Dedicated para habilitar as tabelas específicas do recurso.

Solicitação

PUT
https://management.azure.com/{resource-id}/providers/microsoft.insights/diagnosticSettings/service?api-version={api-version}

Cabeçalhos

Parâmetros/Cabeçalhos Valor/Descrição
name O nome da configuração de diagnóstico
resourceUri subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.DocumentDb/databaseAccounts/{ACCOUNT_NAME}/providers/microsoft.insights/diagnosticSettings/{DIAGNOSTIC_SETTING_NAME}
api-version 2017-05-01-preview
Content-Type application/json

Corpo

{
    "id": "/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.DocumentDb/databaseAccounts/{ACCOUNT_NAME}/providers/microsoft.insights/diagnosticSettings/{DIAGNOSTIC_SETTING_NAME}",
    "type": "Microsoft.Insights/diagnosticSettings",
    "name": "name",
    "location": null,
    "kind": null,
    "tags": null,
    "properties": {
        "storageAccountId": null,
        "serviceBusRuleId": null,
        "workspaceId": "/subscriptions/{SUBSCRIPTION_ID}/resourcegroups/{RESOURCE_GROUP}/providers/microsoft.operationalinsights/workspaces/{WORKSPACE_NAME}",
        "eventHubAuthorizationRuleId": null,
        "eventHubName": null,
        "logs": [
            {
                "category": "CassandraAudit",
                "categoryGroup": null,
                "enabled": true,
                "retentionPolicy": {
                    "enabled": false,
                    "days": 0
                }
            },
            {
                "category": "CassandraLogs",
                "categoryGroup": null,
                "enabled": true,
                "retentionPolicy": {
                    "enabled": false,
                    "days": 0
                }
            }
        ],
        "logAnalyticsDestinationType": "Dedicated"
    },
    "identity": null
}

Lista de permissões de auditoria

Observação

Este artigo contém referências ao termo lista de permissões, que a Microsoft não usa mais. Quando o termo for removido do software, também o removeremos deste artigo.

Por padrão, o log de auditoria cria um registro para cada tentativa de logon e consulta CQL. O resultado pode ser avassalador e aumentar a sobrecarga. Para resolver essa situação, você pode usar uma lista de permissões para incluir ou excluir registros de auditoria específicos seletivamente.

Cassandra 3.11

No Cassandra 3.11, você pode usar o recurso de lista de permissões de auditoria para definir quais operações não criam um registro de auditoria. O recurso de lista de permissões de auditoria está habilitado por padrão no Cassandra 3.11. Para saber como configurar sua lista de permissões de auditoria, consulte Gerenciamento de lista de permissões baseada em função.

Exemplos:

  • Para filtrar todas as operações SELECT e MODIFY para o usuário bob no log de auditoria, execute as seguintes instruções:

    cassandra@cqlsh> ALTER ROLE bob WITH OPTIONS = { 'GRANT AUDIT WHITELIST FOR SELECT' : 'data' };
    cassandra@cqlsh> ALTER ROLE bob WITH OPTIONS = { 'GRANT AUDIT WHITELIST FOR MODIFY' : 'data' };
    
  • Para filtrar todas as operações SELECT na tabela decisions no keyspace design do usuário jim no log de auditoria, execute a seguinte instrução:

    cassandra@cqlsh> ALTER ROLE jim WITH OPTIONS = { 'GRANT AUDIT WHITELIST FOR SELECT' : 'data/design/decisions' };
    
  • Para revogar a lista de permissões do usuário bob em todas as operações SELECT do usuário, execute a seguinte instrução:

    cassandra@cqlsh> ALTER ROLE bob WITH OPTIONS = { 'REVOKE AUDIT WHITELIST FOR SELECT' : 'data' };
    
  • Para exibir as listas de permissões atuais, execute a seguinte instrução:

    cassandra@cqlsh> LIST ROLES;
    

Cassandra 4 e versões posteriores

No Cassandra 4 e versões posteriores, você pode definir a lista de permissões na configuração do Cassandra. Para obter diretrizes detalhadas, confira Atualizar a configuração do Cassandra. As opções disponíveis são as seguintes (referência: documentação do Cassandra para log de auditoria):

audit_logging_options:
    included_keyspaces: <Comma separated list of keyspaces to be included in audit log, default - includes all keyspaces>
    excluded_keyspaces: <Comma separated list of keyspaces to be excluded from audit log, default - excludes no keyspace except system, system_schema and system_virtual_schema>
    included_categories: <Comma separated list of Audit Log Categories to be included in audit log, default - includes all categories>
    excluded_categories: <Comma separated list of Audit Log Categories to be excluded from audit log, default - excludes no category>
    included_users: <Comma separated list of users to be included in audit log, default - includes all users>
    excluded_users: <Comma separated list of users to be excluded from audit log, default - excludes no user>

As categorias disponíveis são: QUERY, DML, DDL, DCL, OTHER, AUTH, ERROR, PREPARE.

Aqui está um exemplo de configuração:

audit_logging_options:
    included_keyspaces: keyspace1,keyspace2
    included_categories: AUTH,ERROR,DCL,DDL

Por padrão, a configuração define included_categories como AUTH,ERROR,DCL,DDL.

Próximas etapas