Quando você instala o ClusterControl, ele tem uma configuração padrão que talvez não atenda aos seus requisitos, então provavelmente você precisará personalizar esta instalação. Para isso, você pode modificar os arquivos de configuração, mas também pode verificar ou modificar as configurações do ClusterControl em tempo de execução. Neste blog, mostraremos onde você pode ver essa configuração e quais são as opções disponíveis para usar aqui.
Onde você pode ver a configuração do ClusterControl Runtime?
Existem duas maneiras diferentes de verificar isso. Primeiro, você pode ir para ClusterControl -> Configurações globais -> Configurações de tempo de execução e escolher seu cluster.
Outra maneira é ClusterControl -> Select Cluster -> Settings -> Runtime Configurations .
Em ambos os casos, você irá para o mesmo local, o Runtime Configuration seção.
Parâmetros de configuração de tempo de execução
Agora, vamos ver esses parâmetros um por um. Lembre-se de que esses parâmetros dependem da tecnologia de banco de dados que você está usando, portanto, provavelmente você não verá todos eles ao mesmo tempo no mesmo cluster.
Backup
Nome | Valor padrão | Descrição |
---|---|---|
disable_backup_email | falso | Esta configuração controla se os e-mails são enviados ou não se um backup foi concluído ou falhou. |
usuário_backup | usuário de backup | O nome de usuário da conta do banco de dados usada para gerenciar backups. |
backup_create_hash | verdadeiro | Configura o ClusterControl se tiver que calcular md5hash nos arquivos de backup criados e verificá-los. |
pitr_retention_hours | 0 | Horas de retenção (para apagar logs de arquivo WAL antigos) para PITR. |
netcat_port | 9999,9990-9998 | Lista de portas Netcat e intervalos de portas usados para transmitir backups. Os padrões para '9999,9990-9998' e a porta 9999 serão preferidos, se disponíveis. |
diretório de backup | /home/user/backups | O diretório de backup padrão, a ser pré-preenchido no Frontend. |
backup_subdir | BACKUP-%I | Defina o nome do subdiretório de backup. Essa string pode conter separadores de campo padrão "%X", o "%06I", por exemplo, será substituído pela ID numérica do backup em formato de 6 campos que usa '0' como caracteres de preenchimento à esquerda. Aqui está a lista de campos que o backend suporta atualmente:- B A data e hora em que a criação do backup estava começando. - H O nome do host de backup, o host que criou o backup. - i O ID numérico do cluster. - I O ID numérico do backup. - J A ID numérica da tarefa que criou o backup. - M O método de backup (por exemplo, "mysqldump"). - O O nome do usuário que iniciou o trabalho de backup. - S O nome do host de armazenamento, o host que armazena os arquivos de backup. - % O próprio sinal de porcentagem. Use dois sinais de porcentagem, "%%" da mesma forma que a função printf() padrão interpreta como um sinal de porcentagem. |
backup_retention | 31 | A configuração de quantos dias manter os backups. Os backups correspondentes ao período de retenção são removidos. |
backup_cloud_retention | 180 | A configuração de quantos dias manter os backups carregados em uma nuvem. Os backups correspondentes ao período de retenção são removidos. |
backup_n_safety_copies | 1 | A configuração de quantos backups completos concluídos serão mantidos, independentemente de seu status de retenção. |
Agrupamento
Nome | Valor padrão | Descrição |
---|---|---|
cluster_name | O nome do cluster para facilitar a identificação. | |
enable_node_autorecovery | verdadeiro | Configuração de recuperação automática do nó. |
enable_cluster_autorecovery | verdadeiro | Se verdadeiro, o ClusterControl realizará a recuperação automática do cluster, se falso, nenhuma recuperação do cluster será feita automaticamente. |
configuração | /etc/ | O diretório de configuração do servidor de banco de dados. |
criado_por_trabalho | O ID do trabalho que criou este cluster. | |
ssh_keypath | /home/user/.ssh/id_rsa | O arquivo de chave SSH usado para conexão com nós. |
server_selection_try_once | verdadeiro | Opção de URI de conexão do MongoDB. Define se a seleção do servidor deve ser repetida em caso de falha até que o tempo limite de seleção do servidor expire ou apenas retorne com falha de uma vez. |
server_selection_timeout_ms | 30.000 | Opção de URI de conexão do MongoDB. Define o valor do tempo limite até que o mongodriver tente fazer uma operação de seleção de servidor bem-sucedida. |
proprietário | O ID do usuário ClusterControl do proprietário do objeto de cluster. | |
group_owner | O ID do grupo ClusterControl do grupo que possui o objeto de cluster. | |
caminho_cdt | A localização do objeto de cluster na Árvore de diretórios ClusterControl. | |
etiquetas | / | Um conjunto de strings que o usuário pode especificar. |
acl | A Lista de Controle de Acesso como uma string que controla o acesso ao objeto de cluster. | |
mongodb_user | admindb | O nome de usuário do MongoDB. |
mongodb_basedir | /usr/ | O basedir para instalação do MongoDB. |
mysql_basedir | /usr/ | O basedir para instalação do MySQL. |
diretório de script | /usr/bin/ | O diretório de scripts da instalação do MySQL. |
staging_dir | /home/user/s9s_tmp | Um caminho de teste para arquivos temporários. |
bindir | /usr/bin | O diretório /bin da instalação do MySQL. |
monitored_mysql_port | 3306 | O número da porta do servidor MySQL monitorado. |
ndb_connectstring | 127.0.0.1:1186 | A configuração da string de conexão do NDB para o MySQL Cluster. |
ndbd_datadir | O datadir dos nós NDBD. | |
mgmd_datadir | O datadir dos nós NDB MGMD. | |
os_user | O nome de usuário SSH usado para acessar os nós. | |
repl_user | cmon_replication | O nome de usuário de replicação. |
fornecedor | O nome do fornecedor do banco de dados usado para implantações. | |
versão_galera | O número de versão do Galera usado. | |
server_version | A versão do servidor de banco de dados usada para implantações. | |
postgresql_user | admindb | O nome de usuário do PostgreSQL. |
porta_galera | 4567 | A porta galera a ser usada ao adicionar nodes/garbd e construir wsrep_cluster_address. Não altere em tempo de execução. |
auto_manage_readonly | verdadeiro | Permitir que o ClusterControl gerencie o sinalizador somente leitura dos servidores MySQL gerenciados. |
node_recovery_lock_file | Especifique um arquivo de bloqueio e, se estiver presente em um nó, o nó não será recuperado. É responsabilidade do administrador criar/remover o arquivo. |
Cmondb
Nome | Valor padrão | Descrição |
---|---|---|
cmon_db | cmon | O nome do banco de dados ClusterControl local. |
cmondb_hostname | 127.0.0.1 | O nome de host do servidor MySQL do banco de dados ClusterControl local. |
mysql_port | 3306 | A porta do servidor MySQL do banco de dados ClusterControl local. |
cmon_user | cmon | O nome da conta para acessar o banco de dados ClusterControl local. |
Controlador
Nome | Valor padrão | Descrição |
---|---|---|
controller_id | 5a3a993d-xxxx | Uma string identificadora arbitrária desta instância do controlador. |
cmon_hostname | 192.168.xx.xx | O nome do host do controlador. |
error_report_dir | /home/user/s9s_tmp | Local de armazenamento dos relatórios de erros. |
Long_query
Nome | Valor padrão | Descrição |
---|---|---|
long_query_time | 0,5 | Valor limite para verificação de consulta lenta. |
query_monitor_alert_long_running_query | verdadeiro | Aciona um alarme se uma consulta for executada por mais tempo que query_monitor_long_running_query_ms. |
query_monitor_kill_long_running_query | falso | Eliminar a consulta se a consulta for executada por mais tempo que query_monitor_long_running_query_ms. |
query_monitor_long_running_query_time_ms | 30.000 | Aciona um alarme se uma consulta for executada por mais tempo que query_monitor_long_running_query_ms. O valor mínimo é 1000. |
query_monitor_long_running_query_matching_info | Faça corresponder apenas consultas com um 'Info' que corresponda apenas a esta regex POSIX. Nenhum valor padrão, corresponde a qualquer informação. | |
query_monitor_long_running_query_matching_info_negate | falso | Negar o resultado de query_monitor_long_running_query_matching_info. |
query_monitor_long_running_query_matching_host | Faça corresponder apenas consultas com um 'Host' que corresponda apenas a esta regex POSIX. Nenhum valor padrão, corresponde a qualquer Host. | |
query_monitor_long_running_query_matching_db | Faça corresponder apenas consultas com um 'Db' que corresponda apenas a esta regex POSIX. Nenhum valor padrão, corresponde a qualquer Db. | |
query_monitor_long_running_query_matching_user | Faça corresponder apenas consultas com um 'Usuário' que corresponda apenas a esta regex POSIX. Nenhum valor padrão, corresponde a qualquer usuário. | |
query_monitor_long_running_query_matching_user_negate | falso | Negar o resultado de query_monitor_long_running_query_matching_user. |
query_monitor_long_running_query_matching_command | Consulta | Faça corresponder apenas consultas com um 'Comando' que corresponda apenas a esta regex POSIX. O padrão é 'Consulta'. |
Replicação
Nome | Valor padrão | Descrição |
---|---|---|
max_replication_lag | 10 | Máximo de atraso de replicação permitido em segundos antes de enviar um alarme. |
replication_stop_on_error | verdadeiro | Controla se os procedimentos de failover/switchover devem falhar se forem encontrados erros que possam causar perda de dados. |
replication_auto_rebuild_slave | falso | Se o SQL THREAD for interrompido e o código de erro for diferente de zero, o escravo será reconstruído automaticamente. |
replication_failover_blacklist | Lista separada por vírgulas de nomes de host:pares de portas. Os servidores na lista negra não serão considerados candidatos durante o failover. A replicação_failover_blacklist será ignorada se a replicação_failover_whitelist estiver definida. | |
replication_failover_whitelist | Lista separada por vírgulas de nomes de host:pares de portas. Somente servidores na lista de permissões serão considerados candidatos durante o failover. Se nenhum servidor na lista branca estiver disponível (ativo/conectado), o failover falhará. A replicação_failover_blacklist será ignorada se a replicação_failover_whitelist estiver definida. | |
replication_onfail_failover_script | Este script é executado assim que for descoberto que o failover é necessário. Se o script retornar diferente de zero ou não existir, o failover será abortado. Quatro argumentos são fornecidos ao script e definidos se forem conhecidos, senão vazio:arg1='all servers' arg2='failed master' arg3='selected candidate', arg4='slaves of oldmaster (the candidate)' e passados como this:'scripname arg1 arg2 arg3 arg4' O script deve ser acessível no controlador e executável. | |
replication_pre_failover_script | Este script é executado antes do failover, mas após a eleição de um candidato e é possível continuar o processo de failover. Se o script retornar diferente de zero ou não existir, o failover será abortado. Quatro argumentos são fornecidos ao script e definidos se forem conhecidos, senão vazio:arg1='all servers' arg2='failed master' arg3='selected candidate', arg4='slaves of oldmaster (the candidate)' e passados como this:'scripname arg1 arg2 arg3 arg4' O script deve ser acessível no controlador e executável. | |
replication_post_failover_script | Este script é executado após o failover acontecer (um novo mestre é eleito e está funcionando). Se o script retornar diferente de zero ou não existir, o failover será abortado. Quatro argumentos são fornecidos ao script e definidos se forem conhecidos, senão vazio.:arg1='todos os servidores' arg2='mestre falhou' arg3='candidato selecionado', arg4='escravos do antigo mestre (os candidatos)' e passou assim:'scripname arg1 arg2 arg3 arg4' O script deve ser acessível no controlador e executável. | |
replication_post_unsuccessful_failover_script | Este script é executado se a tentativa de failover falhar. Se o script retornar diferente de zero ou não existir, o failover será abortado. Quatro argumentos são fornecidos ao script e definidos se forem conhecidos, senão vazio.:arg1='todos os servidores' arg2='mestre falhou' arg3='candidato selecionado', arg4='escravos do antigo mestre (os candidatos)' e passou assim:'scripname arg1 arg2 arg3 arg4' O script deve ser acessível no controlador e executável. |
Retenção
Nome | Valor padrão | Descrição |
---|---|---|
ops_report_retention | 31 | A configuração de quantos dias manter os relatórios operacionais. Os relatórios correspondentes ao período de retenção são removidos. |
Amostragem
Nome | Valor padrão | Descrição |
---|---|---|
enable_icmp_ping | verdadeiro | Alterna se o ClusterControl deve medir os tempos de ping ICMP para o host. |
host_stats_collection_interval | 30 | Configuração do intervalo de coleta do host (CPU, memória, etc.). |
host_stats_window_size | 180 | Configurando o tamanho da janela (em segundos) para examinar as estatísticas para aumentar/limpar alarmes de estatísticas do host. |
db_stats_collection_interval | 30 | Configuração do intervalo de coleta de estatísticas do banco de dados. |
db_proc_stats_collection_interval | 5 | Configuração do intervalo de coleta de estatísticas do processo do banco de dados. O valor mínimo permitido é 1 segundo. Requer uma reinicialização do serviço cmon. |
lb_stats_collection_interval | 15 | Configuração do intervalo de coleta de estatísticas do balanceador de carga. |
db_schema_stats_collection_interval | 108000 | Configuração do intervalo de monitoramento de estatísticas do esquema. |
db_deadlock_check_interval | 0 | Com que frequência verificar impasses. Especificado em segundos. A detecção de deadlock afetará o uso da CPU nos nós do banco de dados. |
log_collection_interval | 600 | Controla o intervalo entre as coleções de arquivos de log. |
db_hourly_stats_collection_interval | 5 | Controla quantos segundos há entre cada amostra individual nas estatísticas de intervalo de hora. |
monitored_mountpoints | A lista de pontos de montagem a serem monitorados. | |
monitor_cpu_temperature | falso | Monitore a temperatura da CPU. |
log_queries_not_using_indexes | falso | Defina o monitor de consulta para detectar consultas que não usam índices. |
query_sample_interval | 1 | Controla o intervalo do monitor de consulta em segundos, -1 significa que não há monitoramento de consulta. |
query_monitor_auto_purge_ps | falso | Se habilitada, a tabela P_S events_statements_summary_by_digest será removida automaticamente (TRUNCATE TABLE) a cada hora. |
schema_change_detection_address | As verificações serão executadas (usando SHOW TABLES/SHOW CREATE TABLE) para determinar se o esquema foi alterado. As verificações são executadas no endereço especificado e estão no formato HOSTNAME:PORT. Os schema_change_detection_databases também devem ser configurados. Um diff de uma tabela alterada é criado. | |
schema_change_detection_databases | Lista separada por vírgulas de bancos de dados para monitorar alterações de esquema. Se estiver vazio, nenhuma verificação é feita. | |
schema_change_detection_pause_time_ms | 0 | Tempo de pausa em ms entre cada SHOW CREATE TABLE. O tempo de pausa afetará a duração do processo de detecção. |
enable_is_queries | verdadeiro | Especifica se as consultas ao information_schema serão executadas ou não. As consultas ao information_schema podem não ser adequadas quando há muitos objetos de esquema (100s de bancos de dados, 100s de tabelas em cada banco de dados, gatilhos, usuários, eventos, sprocs). Se desabilitada, a consulta que seria executada será registrada para que se possa determinar se a consulta é adequada ao seu ambiente. |
Trocando
Nome | Valor padrão | Descrição |
---|---|---|
swap_warning | 20 | Limite de alarme de aviso para uso de troca. |
swap_critical | 90 | Limite crítico de alarme para uso de troca. |
swap_inout_period | 0 | O intervalo para alarmes de E/S de troca (<=0 desabilita). |
swap_inout_warning | 10240 | O número de páginas trocadas de E/S no intervalo especificado (swap_inout_period, por padrão 10 minutos) para aviso. |
swap_inout_critical | 102400 | O número de páginas trocadas de E/S no intervalo especificado (swap_inout_period, por padrão 10 minutos) para crítico. |
Sistema
Nome | Valor padrão | Descrição |
---|---|---|
cmon_config_path | /etc/cmon.d/cmon_x.cnf | O caminho do arquivo de configuração. Este valor de configuração é somente leitura. |
os | debian/redhat | O tipo de SO. Os valores possíveis são 'debian' ou 'redhat'. |
libssh_timeout | 30 | O valor de tempo limite da rede para conexões SSH. |
sudo | sudo -n 2>/dev/null | O comando usado para obter privilégios de superusuário. |
ssh_port | 22 | A porta para conexões SSH com os nós. |
local_repo_name | Os nomes de repositórios locais usados para implantação de cluster. | |
url_frontend | A URL enviada nos e-mails para direcionar o destinatário à interface web do ClusterControl. | |
limpar | 7 | Por quanto tempo o ClusterControl deve manter os dados. Medido em dias, trabalhos, mensagens de trabalho, alarmes, logs coletados, relatórios operacionais, informações de crescimento do banco de dados mais antigas que isso serão excluídas. |
os_user_home | /home/usuário | O diretório HOME do usuário usado nos nós. |
cmon_mail_sender | O remetente de e-mail usado para e-mails enviados. | |
plugin_dir | O caminho do diretório de plugins. | |
use_internal_repos | falso | Configuração que desabilitou o repositório de terceiros a ser configurado. |
cmon_use_mail | falso | Configuração para usar o comando 'mail' para envio de e-mail. |
enable_html_emails | verdadeiro | Ativa o envio de emails HTML. |
send_clear_alarm | verdadeiro | Alterna o envio de e-mail no caso de alarmes de cluster serem apagados. |
software_packagedir | Este é o local de armazenamento dos pacotes de software, ou seja, todos os arquivos necessários para instalar um nó com sucesso, caso não haja repositório yum/apt disponível, devem ser colocados aqui. Aplica-se principalmente ao MySQL Cluster ou a instalações mais antigas do Codership/Galera. |
Limite
Nome | Valor padrão | Descrição |
---|---|---|
ram_warning | 80 | Limite de alarme de aviso para uso de RAM. |
ram_critical | 90 | Limite crítico de alarme para uso de RAM. |
diskspace_warning | 80 | Limite de alarme de aviso para uso do disco. |
diskspace_critical | 90 | Limite crítico de alarme para uso do disco. |
cpu_warning | 80 | Limite de alarme de aviso para uso da CPU. |
cpu_critical | 90 | Limite crítico de alarme para uso da CPU. |
cpu_steal_warning | 10 | Limite de alarme de aviso para roubo de CPU. |
cpu_steal_critical | 20 | Limite crítico de alarme para roubo de CPU. |
cpu_iowait_warning | 50 | Limite de alarme de aviso para CPU IO Wait. |
cpu_iowait_critical | 60 | Limite crítico de alarme para CPU IO Wait. |
slow_ssh_warning | 6 | Um alarme de Aviso será acionado se demorar mais do que o tempo especificado para configurar uma conexão SSH (segundos). |
slow_ssh_critical | 12 | Um alarme Crítico será gerado se demorar mais do que o tempo especificado para configurar uma conexão SSH (segundos). |
Conclusão
Como você pode ver, há muitos parâmetros a serem alterados se você precisar adaptar o ClusterControl à sua carga de trabalho ou negócio. Pode ser uma tarefa demorada revisar todos os valores e alterá-los de acordo, mas no final do dia, economizará tempo, pois você poderá aproveitar ao máximo todos os recursos do ClusterControl.