Différences entre les versions de « Mssql supervision des dumps »
De BlaxWiki
Aller à la navigationAller à la recherche (Page créée avec « Ce script permet de superviser des dumps mssql (fait par un plan de maintenance dans Mssql), certaines parties sont propres à l'outil de supervision, mais la partie power... ») |
|||
| (Une version intermédiaire par le même utilisateur non affichée) | |||
| Ligne 1 : | Ligne 1 : | ||
Ce script permet de superviser des dumps mssql (fait par un plan de maintenance dans Mssql), certaines parties sont propres à l'outil de supervision, mais la partie powershell est générique | Ce script permet de superviser des dumps mssql (fait par un plan de maintenance dans Mssql), certaines parties sont propres à l'outil de supervision, mais la partie powershell est générique. Il nécessite l’exécutable gecho dans C:\UnixTools, penser à modifier la variable FULLNAME. | ||
<pre> | <pre> | ||
| Ligne 30 : | Ligne 30 : | ||
:EOS | :EOS | ||
%VC%\visionsvc.exe /file %SUPERVISION% 1984 status+%LIFETIME% %FULLNAME%.%SERVICE% %COLOR% %TEMP%\output.log | %VC%\visionsvc.exe /file %SUPERVISION% 1984 status+%LIFETIME% %FULLNAME%.%SERVICE% %COLOR% %TEMP%\output.log | ||
</pre> | |||
* Version PowerShell beta | |||
Selon la machine, il faut peut-être changé la politique d’exécution de powershell afin de pouvoir exécuter des scripts locaux non signés : Set-ExecutionPolicy RemoteSigned | |||
<pre> | |||
$server="sgbd-prep.spcg81.fr" | |||
$service="backup" | |||
$supervision="10.252.15.235" | |||
$lifetime=31 | |||
$vc="C:\Agarik\Vision\bin\vc_send.exe" | |||
function Send-Supervision($color, $message) { | |||
& $vc $supervision $server $service $color $lifetime $message | |||
} | |||
$yesterday=(get-date).addHours(-26) | |||
$logAgarik=Get-EventLog Application -Source SQLISPackage100 -After $yesterday | Where-Object {$_.Message -like '*agarik*'} | |||
$output=$logAgarik | fl TimeGenerated,Message | Out-String | |||
if (($logAgarik | Measure-Object).count -eq 0) { | |||
Send-Supervision "red", "&red Pas de backup fait depuis hier" | |||
exit | |||
} | |||
if ($logAgarik | Select-Object -first 1 | Where-Object {$_.entrytype -eq 'Error' }) { | |||
Send-Supervision "red", "&red Le dernier backup a échoué `n$output" | |||
exit | |||
} | |||
else { | |||
Send-Supervision "green" "&green Backup réussi `n$output" | |||
exit | |||
} | |||
</pre> | </pre> | ||
[[Catégorie:Script]] | [[Catégorie:Script]] | ||
Version actuelle datée du 14 octobre 2013 à 08:59
Ce script permet de superviser des dumps mssql (fait par un plan de maintenance dans Mssql), certaines parties sont propres à l'outil de supervision, mais la partie powershell est générique. Il nécessite l’exécutable gecho dans C:\UnixTools, penser à modifier la variable FULLNAME.
REM Cela est un script pour superviser les dumps mssql 2008 R2 sous windows 2008 R2
REM LE NOM DU PLAN DE MAINTENANCE DOIT CONTENIR LE MOT agarik, car c est ce qu on match et qui remontera dans les logs
REM @echo off
set VC=C:\Agarik\vision
set BINPATH=C:\UnixTools
set PATH=%PATH%;%BINPATH%
set TEMP=C:\Agarik\Temp
set FULLNAME=ppr-sql01.bi.csn.notaires.fr
set LIFETIME=31
set SERVICE=backup
set SUPERVISION=10.252.15.235
set COLOR=green
powershell -command "& {Get-EventLog Application -Source SQLISPackage100 -newest 30 | Where-Object {$_.Message -like '*agarik*'} | Select-Object -first 6 | fl TimeGenerated,Message}" 0 > %TEMP%\output.log
gecho -n "set Error=" > %TEMP%\setvar.bat
powershell -command "& {Get-EventLog Application -Source SQLISPackage100 -newest 30 | Where-Object {$_.Message -like '*agarik*'} } > %TEMP%\warning.log
head -1 %TEMP%\warning.log | grep -c Error >> %TEMP%\setvar.bat
call %TEMP%\setvar.bat
if %Error%==0 goto EOS
set COLOR=red
:EOS
%VC%\visionsvc.exe /file %SUPERVISION% 1984 status+%LIFETIME% %FULLNAME%.%SERVICE% %COLOR% %TEMP%\output.log
- Version PowerShell beta
Selon la machine, il faut peut-être changé la politique d’exécution de powershell afin de pouvoir exécuter des scripts locaux non signés : Set-ExecutionPolicy RemoteSigned
$server="sgbd-prep.spcg81.fr"
$service="backup"
$supervision="10.252.15.235"
$lifetime=31
$vc="C:\Agarik\Vision\bin\vc_send.exe"
function Send-Supervision($color, $message) {
& $vc $supervision $server $service $color $lifetime $message
}
$yesterday=(get-date).addHours(-26)
$logAgarik=Get-EventLog Application -Source SQLISPackage100 -After $yesterday | Where-Object {$_.Message -like '*agarik*'}
$output=$logAgarik | fl TimeGenerated,Message | Out-String
if (($logAgarik | Measure-Object).count -eq 0) {
Send-Supervision "red", "&red Pas de backup fait depuis hier"
exit
}
if ($logAgarik | Select-Object -first 1 | Where-Object {$_.entrytype -eq 'Error' }) {
Send-Supervision "red", "&red Le dernier backup a échoué `n$output"
exit
}
else {
Send-Supervision "green" "&green Backup réussi `n$output"
exit
}