Blog

Zabbix: Monitoring Raid Windows

C:\scripts\check_raid.ps1

$dp = "list volume" | diskpart | ? { $_ -match "^ [^-]" }
 $checksum = "0"foreach ($row in $dp) {
 # skip first line
 if (!$row.Contains("Volume ###")) {# best match RegExp from http://www.eventlogblog.com/blog/2012/02/how-to-make-the-windows-softwa.html
 if ($row -match "\s\s(Volume\s\d)\s+([A-Z])\s+(.*)\s\s(NTFS|FAT)\s+(Mirror|RAID-5|Stripe|Spiegel|Spiegelung|Übergreifend|Spanned)\s+(\d+)\s+(..)\s\s([A-Za-z]*\s?[A-Za-z]*)(\s\s)*.*") {
 $disk = $matches[2]
 # 0 = OK, 1 = WARNING, 2 = CRITICAL
 $statusCode = 1
 $status = "WARNING"
 $text = "Could not parse line: $row"
 $line = $row
 if ($line -match "Fehlerfre |OK|Healthy") {
 $statusText = "is healthy"
 $statusCode = 0
 $status = "OK"
 elseif ($line -match "Rebuild") {
 $statusText = "is rebuilding"
 $statusCode = 1
 $checksum = i++
 }
 elseif ($line -match "Failed|At Risk|Fehlerhaf") {
 $statusText = "failed"
 $statusCode = 2
 $status = "CRITICAL"
 $checksum = i++
}
 #echo "$statusCode microsoft_software_raid - $status - Software RAID on disk ${disk}:\ $statusText"
 }
 }
}
echo $checksum

echo #CONTROLLO RAID >> c:\zabbix_agentd.conf
 echo UserParameter=custom.msraid,powershell -command "C:\scripts\check_raid.ps1" >> c:\zabbix_agentd.conf
net stop "Zabbix Agent"
 net start "Zabbix Agent"
On the Zabbix server add to the Windows Template:
Items:
 Host: Template_IS_Linux
 Description: MDStat
 Type: Zabbix_agent
 Key: custom.mdstat
 Applications: Availability, Filesystem
Trigger:
 Name: RAID on {HOSTNAME}
 Expression: {Template_OS_Linux:custom.mdstat.last(0)}>0

 

 

Zabbix: Monitoring Raid Linux

echo «  » >> /etc/zabbix/zabbix_agentd.conf
echo « #CONTROLLO RAID » >> /etc/zabbix/zabbix_agentd.conf
echo « UserParameter=custom.mdstat,/bin/cat /proc/mdstat | grep -c _ » >> /etc/zabbix/zabbix_agentd.conf
service zabbix-agent restart

On the Zabbix server add to the Linux Template:

Items:
Host: Template_Linux
Description: MDStat
Type: Zabbix_agent
Key: custom.mdstat
Applications: Availability, Filesystem

Trigger:
Name: RAID on {HOSTNAME}
Expression: {Template_Linux:custom.mdstat.last(0)}>0

Plusieurs certificats SSL avec différents VirtualHosts

Nous allons installer 2 certificats SSL différents pour deux virtualhosts différents, sur un serveur debian / apache2 ne disposant que d’une IP.

  • Activer le module ssl  :

a2enmod ssl

  • Modifier le fichier /etc/apache2/ports.conf

<IfModule mod_ssl.c>
    Listen 443
    NameVirtualHost *:443
</IfModule>

  • Création du répertoire pour le site exempleA

mkdir /etc/ssl/fooA
cd /etc/ssl/fooA

  • On génére la  clé (sans passphrase pour ne pas avoir à la retaper au redémarrage automatique d’apache) :
    openssl genrsa -out www.fooA.com.key 2048
  • On génère le CSR
    openssl req -new -key www.fooA.com.key -out www.exampleA.com.csr
  • On génère le certificat
    openssl x509 -req -days 365 -in www.fooA.com.csr -signkey www.fooA.com.key -out www.fooA.com.crt
  • On règle les droits au minimum sur ces fichiers
    chmod 600 *
  • éditer ainsi le VirtualHost du sitefooA

<VirtualHost *:443>
    DocumentRoot /home/fooA/www
    ServerName www.fooA.com
        SSLEngine on
        SSLCertificateFile /etc/ssl/exampleA/www.fooA.com.crt
        SSLCertificateKeyFile /etc/ssl/exampleA/www.fooA.com.key
        SSLVerifyClient None
        SSLOptions +StdEnvVars
</VirtualHost>

  • Création du répertoire pour le site fooB

mkdir /etc/ssl/fooB
cd /etc/ssl/fooB

  • On génére la  clé (sans passphrase pour ne pas avoir à la retaper au redémarrage automatique d’apache) :
    openssl genrsa -out www.fooB.com.key 2048
  • On génère le CSR
    openssl req -new -key www.fooB.com.key -out www.fooB.com.csr
  • On génère le certificat
    openssl x509 -req -days 365 -in www.fooB.com.csr -signkey www.fooB.com.key -out www.fooB.com.crt
  • On règle les droits au minimum sur ces fichiers
    chmod 600 *
  • éditer ainsi le VirtualHost du site fooB

<VirtualHost *:443>
    DocumentRoot /home/exampleB/www
    ServerName www.fooB.com
        SSLEngine on
        SSLCertificateFile /etc/ssl/fooB/www.fooB.com.crt
        SSLCertificateKeyFile /etc/ssl/fooB/www.fooB.com.key
        SSLVerifyClient None
        SSLOptions +StdEnvVars
</VirtualHost>

  • Relancer Apache

service apache2 restart