
Poi lasciare un piccolo post su come montare una notifica automatica via e-mail che ci dice qual è lo stato del nostro database. Per esempio siamo in grado di gestire un po 'prima di iniziare la nostra giornata di lavoro e prima di partire o durante le vacanze (.. jaja.). Questo esempio è circa un 5.x di MySQL in esecuzione su Debian. Passi nel modo seguente:
- Controlla uptime del server, memoria e spazio su disco.
- Controlla le ultime copie di backup o tronchi dello stesso
- Ottenere la qualifica di banca dati
- Log di errore dal database.
- Notifica via mail.
Il sistema è quello di costruire uno script che si basa la nostra relazione in un file e poi per posta. Inoltre, in questo esempio lo stato del database arrivare a mysqlreport *. Questo ci dà informazioni sufficienti per sapere che è successo di recente nel database e in grado di rilevare alcun problema se sappiamo che cosa la linea di base.
* Fate attenzione perché è disponibile da versione 5.x
Passo 1) Modificare lo script basato checklist.sh báscia. Come si può vedere non ha alcun segreto perché è sempre giusto redirigere l'output di un comando specifico in un file temporaneo che viene poi attaccato come il corpo di mail o allegati. Il formato e stile e sono cose di ogni ...
|
#!/bin/bash # #Daily Checklist mysql # # I parametri LOG=/scripts/checklist/check.txt
# Qui inizia l'azione con palangari TXT='' SL='' # Machine Stato TXT='>>> 0.UPTIME' echo $TXT > $LOG w >> $LOG # Memoria Server TXT='>>> 1.MEMORIA' echo $SL >> $LOG echo $TXT >> $LOG free -m >> $LOG # Spazio su disco TXT='>>> 2.Disk Spazio echo $SL >> $LOG echo $TXT >> $LOG df -h >> $LOG # Últimos backups TXT='>>>3.BACKUPS' echo $SL >> $LOG echo $TXT >> $LOG ls -lh -t /var/backups_mysql/ >> $LOG # Stato mysql TXT='>>>4.Stato MYSQL' echo $SL >> $LOG echo $TXT >> $LOG mysqlreport –user root –password pwd –all >> $LOG
# Notifica via e-mail echo “Checklist”|mail .s “MYSQL > Daily Checklist ” ilmasacratore@dataprix.com < $LOG # Elimina file temp rm $LOG
|
Passo 2) Autorizzazioni di esecuzione e di programmazione
Per i sistemi Unix si può usare crontab per pianificare l'esecuzione, dopo aver assegnato i permessi di esecuzione al file per l'utente che la metta in cron
Esempio di e-mail:
0.UPTIME
09:00:01 up 13:20, 0 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
>>> 1.MEMORIA
total used free shared buffers cached
Mem: 884 877 6 0 44 745
-/+ buffers/cache: 88 795
Swap: 737 0 737
>>> 2.Disk Spazio
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 17G 8.4G 7.9G 52% /
tmpfs 443M 0 443M 0% /lib/init/rw
tmpfs 443M 0 443M 0% /dev/shm
>>> 3.BACKUPS
>>> 4.ESTAT MYSQL
MySQL 5.0.32-Debian_7et uptime 0 13:9:20 Wed Jul 14 09:00:01 2010
__ Key _________________________________________________________________
Buffer used 387.00k of 16.00M %Used: 2.36
Current 1.84M %Usage: 11.52
Write ratio 0.03
Read ratio 0.10
__ Questions ___________________________________________________________
Total 7.61k 0.16/s
Com_ 5.47k 0.12/s %Total: 71.93
COM_QUIT 807 0.02/s 10.61
DMS 665 0.01/s 8.74
+Unknown 602 0.01/s 7.92
QC Hits 61 0.00/s 0.80
Slow 6 0.00/s 0.08 %DMS: 0.90
DMS 665 0.01/s 8.74
SELECT 648 0.01/s 8.52 97.44
UPDATE 12 0.00/s 0.16 1.80
DELETE 4 0.00/s 0.05 0.60
INSERT 1 0.00/s 0.01 0.15
REPLACE 0 0.00/s 0.00 0.00
Com_ 5.47k 0.12/s 71.93
show_create 1.15k 0.02/s 15.10
show_status 797 0.02/s 10.48
show_variab 797 0.02/s 10.48
__ SELECT and Sort _____________________________________________________
Scan 3.92k 0.08/s %SELECT: 605.09
Range 0 0.00/s 0.00
Full join 1 0.00/s 0.15
Range check 0 0.00/s 0.00
Full rng join 0 0.00/s 0.00
Sort scan 7 0.00/s
Sort range 1 0.00/s
Sort mrg pass 0 0.00/s
__ Query Cache _________________________________________________________
Memory usage 106.50k of 16.00M %Used: 0.65
Block Fragmnt 0.68%
Hits 61 0.00/s
Inserts 65 0.00/s
Prunes 1 0.00/s
Insrt:Prune 65:1 0.00/s
Hit:Insert 0.94:1
__ Table Locks _________________________________________________________
Waited 0 0.00/s %Total: 0.00
Immediate 1.32k 0.03/s
__ Tables ______________________________________________________________
Open 64 of 64 %Cache: 100.00
Opened 2.01k 0.04/s
__ Connections _________________________________________________________
Max used 3 of 100 %Max: 3.00
Total 810 0.02/s
__ Created Temp ________________________________________________________
Disk table 1.19k 0.03/s
Table 3.52k 0.07/s
File 5 0.00/s
|
Ora, chi vuole o sa un po 'di argomento che si può pensare mille cose da aggiungere o le cose che mancano. Per alcune domande specifiche come etc processos numero può essere usato da linea di comando mysqladmin-u-p <utente> <key> <option> per maggiori informazioni interessanti ... Tutti coloro che lo rende a modo suo!