AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1148845
Accepted
OsakaWebbie
OsakaWebbie
Asked: 2023-11-30 11:03:05 +0800 CST2023-11-30 11:03:05 +0800 CST 2023-11-30 11:03:05 +0800 CST

Monit reclama de falha na soma de verificação após reinstalar o MariaDB e atualizar para uma versão mais recente

  • 772

Eu tenho um Linode VPS rodando CentOS 7 e versões um tanto antigas de serviços relacionados à web (porque o código que escrevi não está pronto para versões mais recentes - estou planejando construir um novo VPS com tudo novo e código atualizado, mas isso levará tempo).

Recentemente o VPS migrou para um novo hardware. Após a reinicialização, o MariaDB 10.2 não reiniciava. Depois de dois dias arrancando os cabelos, consegui fazê-lo funcionar removendo e reinstalando o mariadb-server, além de um gerenciamento cuidadoso de arquivos para que ele reconhecesse meus arquivos de dados do InnoDB.

O MariaDB 10.2 está em fim de vida e não é mais suportado em maio de 2022, portanto não está mais em http://yum.mariadb.org , então tive que instalar o 10.4 (alterei apenas um dígito em MariaDB.repo, de baseurl=http://yum.mariadb.org/10.2/centos7-amd64para baseurl=http://yum.mariadb.org/10.4/centos7-amd64).

Tudo está funcionando bem, pelo que posso dizer. No entanto, sempre que tento fazer com que o Monit comece a monitorar esse serviço novamente, ele se recusa e recebo dois e-mails de notificação dizendo "Checksum failed Service mariadb_bin" e "Checksum failed Service mariadb_init".

Usei o espelho mais confiável, certo? Então, por que há um problema de soma de verificação?

Aqui está o arquivo Monit para MariaDB:

## Mariadb monitoring.

## Test the mariadb service.
check process mariadb with pidfile /run/mariadb/mariadb.pid
  group database
  start program = "/usr/bin/systemctl start mariadb"
  stop  program = "/usr/bin/systemctl stop mariadb"
  restart program  = "/usr/bin/systemctl restart mariadb"
  if failed port 3306 protocol mysql then restart
  if 3 restarts within 5 cycles then timeout
  # This process check depends on checking the binary if the mariadb
  # daemon and the init script.
  depends on mariadb_bin
  depends on mariadb_init
  alert [my email address] only on {timeout}

## Test the process binary.
check file mariadb_bin with path /usr/bin/mysqld_safe
  group database
  if failed checksum then unmonitor
  if failed permission 755 then unmonitor
  if failed uid root then unmonitor
  if failed gid root then unmonitor

## Test the init scripts.
check file mariadb_init with path /usr/lib/systemd/system/mariadb.service
  group database
  if failed checksum then unmonitor
  if failed permission 644 then unmonitor
  if failed uid root then unmonitor
  if failed gid root then unmonitor

Então, aparentemente, Monit está dizendo que a soma de verificação de mariadb_binnão corresponde à de /usr/bin/mysqld_safee a soma de verificação de mariadb_initnão corresponde à de /usr/lib/systemd/system/mariadb.service, embora eu não saiba o que é um "banco de dados de grupo".

centos7
  • 2 2 respostas
  • 65 Views

2 respostas

  • Voted
  1. lutzmad
    2023-12-18T22:01:27+08:002023-12-18T22:01:27+08:00

    É bom ver que você usa o exemplo Monit para lidar com um servidor de banco de dados MySQL/Maria, consulte https://mmonit.com/wiki/Monit/ConfigurationExamples#mysqld

    O teste de soma de verificação é bom, mas tem uso limitado (não muito) no mundo real (eu acho).

    Para obter a soma de verificação correta do arquivo, você pode usar "monit -H filename" e adicionar o valor esperado ao teste, consulte https://mmonit.com/monit/documentation/monit.html#FILE-CHECKSUM-TEST

    Monit armazena a soma de verificação no arquivo de estado do Monit. Você atualiza o MariaDB, portanto os arquivos são alterados, e o checksum também. Você pode excluir o arquivo de estado, para remover os valores antigos ou adicionar os valores esperados ao teste (minha forma preferida), consulte https://mmonit.com/monit/documentation/monit.html#FILES

    O "banco de dados de grupo" é a maneira Monit de agrupar aplicativos, consulte https://mmonit.com/monit/documentation/monit.html#SERVICE-GROUPS

    Apenas algumas sugestões, Lutz

    • 2
  2. Best Answer
    OsakaWebbie
    2023-12-19T08:51:06+08:002023-12-19T08:51:06+08:00

    Acontece que após a reinstalação do MariaDB eu não fiz a etapa aparentemente óbvia de recarregar o Monit (novato - desculpe!). Então esse é o ponto chave para fazer desta uma “resposta” que pode ajudar outras pessoas.

    No meu caso, porém, depois de recarregar o Monit e tentar fazer com que ele voltasse a monitorar o MariaDB, ele teve uma nova reclamação - dizia que o serviço nem existia, embora meus bancos de dados estivessem funcionando bem. Pesquisando mais, descobri que não existe mais um arquivo chamado /run/mariadb/mariadb.pid(na verdade, nem mesmo o /run/mariadbdiretório existe agora). Fazendo find / -name *.pide olhando a lista de prováveis ​​​​candidatos, descobri /var/lib/mysql/puphpet2.pid("puphpet2" é o nome do meu Linode VPS). Ele tem um carimbo de data/hora de apenas alguns minutos atrás, o que é surpreendente - não reiniciei intencionalmente o MariaDB desde que o instalei, há algumas semanas. Mas seu conteúdo corresponde pidof mysqld. Então eu editei/etc/monit.d/mariadbcom isso como o pidfile, e Monit agora diz que está monitorando alegremente o MariaDB (sem reclamações de checksum também). Espero que seja a coisa certa a fazer - se não, avise-me e retirarei isso como minha resposta, mas, caso contrário, assumirei que está correto (e potencialmente útil para alguém que esteja com problemas).

    • 0

relate perguntas

  • CentOS 7 - fim da vida útil em 2024, então o que

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve