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.
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
Entre no portal do Azure.
Acesse o recurso de cluster da Instância Gerenciada do Azure para Apache Cassandra.
Selecione Configurações de diagnóstico na seção Monitoramento e selecione Adicionar configuração de diagnóstico.
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.
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.
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.
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
eMODIFY
para o usuáriobob
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 tabeladecisions
no keyspacedesign
do usuáriojim
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çõesSELECT
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
- Para obter mais detalhes sobre como criar uma configuração de diagnóstico usando o portal do Azure, a CLI do Azure ou o PowerShell, confira Configurações de diagnóstico no Azure Monitor.