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!