Monitorera din MySQL slav
fredag, februari 29th, 2008Nagios är ett välbekant verktyg för många sysadmins och efter att en av servrarna konstant hade problem med utrymme på en hårddisk så beslutade jag mig för att monitorera saken så att jag kan sova bättre om nätterna.
Själva installationen och konfigurationen tog ca en arbetsdag i anspråk men då är det en fullödig övervakning av webservrar, cpu, disk, applikationsservrar, databaser mm på alla servrar. För att monitorera disk remote kan man antingen köra kommandona via ssh men det tar cpukraft från den övervakande servern. Då installerar man istället hellre NRPE på alla servrar som ska övervakas. Jag har alltid mer eller mindre haft strul med MySQL slavar och att de faller ur synk pga rena SQL fel. Vet inte hur de uppstår men ofta handlar den om foreign-key problem. Dvs att det replikerade insert kommandot saknar en referens i nån tabell. Man kan köra ett litet script som ett cronjobb som heter keepStartingSlave.pl. Slaven stoppar nämligen på första bästa SQL fel och detta script rullar fram loggen ett steg. Personligen tycker jag att det är läskigt att ignorera just databasfel eftersom det är hjärtat i själva modermodemet.
Nej då är det bättre att övervaka slaven med Nagios och blåsa om slaven med den senaste backupen om den stöter på ohanterliga fel eller exekvera keepStartingSlave.pl. Man får iaf en signal på att man borde göra nåt sen vad man gör är upp till var och en och vad man kan leva med för dataförluster.
Hur monitorerar man en slav med nagios då ? Enkelt, tanka ned check-mysql-slave.pl och följ instruktionerna. Nu har jag full koll på när slaven hamnar ur synk!


