Saturday, May 18th 2013, 12:00pm UTC+2

You are not logged in.

  • Login
  • Register

Pablo78

Intermediate

Posts: 222

Birthday: Apr 9th

Gender: male

Occupation: FiSi - Systemadmin aus Leidenschaft

Number of monitoring servers: 1

Hobbies: singen, klatschen und mit Fingerfarben malen

Nagios Version: OP5

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 750

Number of services: 6500

OS: OP5 - CentOS

Plugin Version: OP5 - Plugins

1

Thursday, August 9th 2012, 3:01pm

[Solved] Abbildung VMware Cluster mit HA

Hallo Leute.......

Bei meinen neuen Brötchengeber habe ich mit die Aufgabe das Monitoring zu verwalten und zu verbessern. Da hier das Monitoring sehr neu ist und mittels OP5 schnell realisiert wurde, blieben einige wichtige VorAb-ToDo's auf der Strecke. Mitunter wurden erstaml alle Hosts ohne Parents angelegt und hängen jetzt für OP5(Nagios) direkt an Ihm dran :)
Da das Netzt riesig ist (gegenüber meinem vorherigen AG) und hier sehr viel mit ESX umgesetzt wird steht auch die Frage der Parents Konfiguration von ESX Knoten im Raum.

Zur Umgebung:
Wir haben ein vCenter und viele viele ESX-Knoten die teilweise in einem Blades stecken oder einzeln verbaut sind.
Auf dem vCenter sind Cluster (je nach Kunde) eingerichtet und mehrere ESX-Knoten diesen zugewiesen.
Des Weiterem springen die VMs je nach Auslastung auf andere ESX-Knoten in diesem Cluster (Ressourcenpool), so das nie eine VM direkt einem ESX-Knoten zugeordnet werden kann (Parents).

Wie kann man das Konstrukt abbilden? Wenn ich den VMs das vCenter als Parent einrichte ist es auch nicht wirklich das Wahre :huh:


Ich würde mich über mögliche Lösungsansätze & Möglichkeiten von Euch echt freuen da mir die Informationen aus dem Netz derzeit nicht sehr aufschlussreich sind.


Vielen Dank vorab schonmal

This post has been edited 1 times, last edit by "Pablo78" (Aug 22nd 2012, 8:18am)


Rene Storm

Intermediate

Posts: 521

Gender: male

Location: Hamburg

Number of monitoring servers: some

Hobbies: kitesurfing, buggykiting, snowboard,climbing,sleeping

Nagios Version: 3

Distributed monitoring: Ja

Redundant monitoring: Ja

Number of hosts: 800

Number of services: 8000

OS: Linux

Plugin Version: latest

NagVis Version: latest

NDO Version: NO MORE ;o)

2

Thursday, August 9th 2012, 3:52pm

Tja, wenn du vMotion hast und die VMs von Knoten zu Knoten springen, dann würde ich sagen hast du kein Parent für deine VMs.

Es soll ja nur die notification, checks etc unterdrückt werden, wenn der Parent ausfällt (wenn du mal den Maps absiehst). Das beeinflusst aber dein VM Host nicht und somit wäre der für mich auch kein Parent.


Alternativ kannst du dir über die VC Schnittstelle auch die daten automatisch holen und weiterverarbeiten:
Hier mal was gebasteltes über die VIRuntime

Das ist aber nicht wirklich schnell über das VCenter, die Last liegt aber nur auf Seiten Nagios und VC.

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/perl -w

use strict;
use warnings;
use VMware::VIRuntime;
use VMware::VILib;



#if ($#ARGV < 2) {
# print "usage:". $ARGV[0]; ." hostname --config vmaware_config\n";
# exit;
#}

my %opts = (
    	hostname => {
    	type => "=s",
    	help => "hostname like host1",
    	required => 1,
	},
);
Opts::add_options(%opts);

Opts::parse();
Opts::validate();
Util::connect();

# Obtain all inventory objects of the specified type
my $entity_type = 'VirtualMachine';

my $host = Opts::get_option('hostname');

my $entity_views = Vim::find_entity_views(view_type => 'VirtualMachine',
filter => { 'summary.config.name' => qr/.*$host.*/i,
'runtime.powerState' => 'poweredOn' });


# Process the findings and output to the console

foreach my $entity_view (@$entity_views) {
  	my $entity_name = $entity_view->name;
#  	Util::trace(0, "\n\nFound $entity_type: $entity_name\n");


            	my $hostview = Vim::get_view( mo_ref=>$entity_view->summary->runtime->host );
            	print $entity_view->name . " Runs on: " .$hostview->name. "\n";
    	if ($entity_view->runtime->powerState->val eq 'poweredOn') {

#           	print "\nVirtual machine " . $entity_view->name . " is running.\n";
            	# Should be the Server

    	#   	print "Guest " . $entity_view->summary->guest->hostName . "\n";
            	print "OS " . $entity_view->summary->config->guestFullName . "\n";
            	print "CPU " . $entity_view->summary->config->numCpu ."\n";
            	print "Mem " . $entity_view->summary->config->memorySizeMB . "\n";
            	print "Disk " . $entity_view->summary->config->numVirtualDisks . "\n";
            	print "Network " . $entity_view->summary->config->numEthernetCards . "\n";
            	print "Annotation " . $entity_view->summary->config->annotation . "\n";
            	Util::disconnect();
             	exit (0);

     	} else {
             	print "\nVirtual machine " . $entity_view->name . " is not running.\n";
             	Util::disconnect();
             	exit (2);
     	}
 }
 Util::disconnect();
 print "Host: " . $host ." not found\n";

 exit (127);


Aufruf und Output wäre:

Source code

1
2
3
4
5
6
7
8
9
10
11
[root@nagios libexec]# ./check_vm_location.pl  --config check_vmware_config_vc4 --hostname wsus
wsus Runs on: vm36.mydomian
OS Microsoft Windows Server 2003, Standard Edition (32-Bit)
CPU 2
Mem 2560
Disk 2
Network 1
Annotation vRanger Pro Backup: Type [Full] Result [Success] Time [08.08.2012 16:01:51] Repository [nas13 MSA7]
 Windows 2003, SP2, R2
-=# Windows Update Server #=-
Produktiv, kann aber jederzeit offline genommen werden

bern

Master

Posts: 2,938

Number of monitoring servers: 2-5

Nagios Version: 3.x

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 80-200

Number of services: 1400-2000

OS: Linux

Plugin Version: Whatever I can download, patch, or cobble together myself :-)

Other Addons: n2rrd, PNP, livestatus

3

Thursday, August 9th 2012, 4:22pm

Tja, wenn du vMotion hast und die VMs von Knoten zu Knoten springen, dann würde ich sagen hast du kein Parent für deine VMs.
+1, jedenfalls soweit's die (VMware-)Hosts betrifft. Netzwerk (Switches) sowie eventuelle gewollte "Host-Gruppen", die die VMs trotz vMotion nicht verlassen können, würden sich natürlich trotzdem als Parents anbieten.

Ein zweiter Aspekt, der dem Konzept "Host ist Parent der VM" widerspricht, ist, daß der Host typischerweise nur über Management-IPs/VLANs erreichbar ist, seine VMs dagegen genau nicht. Da bröckelt dann auch die Grundannahme "wenn ich den Parent nicht erreiche, dann ist es unmöglich, daß die Kinderlein erreichbar sind". (OK, mehr oder weniger unmöglich, blutgrätschende Firewall-Admins gibt's immer wieder 'mal. :whistling: )

Pablo78

Intermediate

Posts: 222

Birthday: Apr 9th

Gender: male

Occupation: FiSi - Systemadmin aus Leidenschaft

Number of monitoring servers: 1

Hobbies: singen, klatschen und mit Fingerfarben malen

Nagios Version: OP5

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 750

Number of services: 6500

OS: OP5 - CentOS

Plugin Version: OP5 - Plugins

4

Friday, August 10th 2012, 12:04pm

Danke erstmal für die Tipps.....

Habe zwischedurch auch noch einen Ansatz gefunden >hier< den ich vielleicht nachgehen werde soweit es die Zeit zulässt.

Hinsichtlich des Befehls "./check_vm_location.pl --config check_vmware_config_vc4" was muss ich bei der Option --config eintragen - das VCenter?

6uellerBpanda

Intermediate

Posts: 212

Gender: male

Location: Linz

Number of monitoring servers: 1

Nagios Version: 0.0

Icinga Version: 1.7.0

Distributed monitoring: Ja

Redundant monitoring: Nein

Number of hosts: -

Number of services: -

OS: SLES11

Plugin Version: -

NDO Version: -

5

Monday, August 13th 2012, 9:39am

also ich nehm beim vsphere cluster immer die "multiple parents".

Source code

1
2
3
4
define host {
 host_name vm1
 parents esx1,esx2,esx2
} 


also erst wenn alle parents ausgefallen sind kommt ein unreachable zum einsatz...

bolder

Trainee

Posts: 58

Birthday: Jul 21st

Gender: male

Location: Mainz

Number of monitoring servers: 8

Nagios Version: 3.2.3 (Master), 3.4.1 (Satelliten)

Distributed monitoring: Ja

Redundant monitoring: Nein

Number of hosts: 841

Number of services: 7235

OS: SLES 11 SP2

Plugin Version: 1.4.13

NagVis Version: 1.4

NDO Version: 1.4b7

6

Tuesday, August 14th 2012, 6:54am

Ich nehme hierzu "check_cluster". Ist im Buch von Wolfgang Barth (Kap. 8.4) erläutert. Ist zwar ein wenig Handanpassung notwendig (zu jedem Cluster müssen die ESX-Hosts eingegeben werden), aber ich kann dann z.B. eine Warnung ausgeben wenn von 5 Hosts 3 ausgefallen sind etc.

Pablo78

Intermediate

Posts: 222

Birthday: Apr 9th

Gender: male

Occupation: FiSi - Systemadmin aus Leidenschaft

Number of monitoring servers: 1

Hobbies: singen, klatschen und mit Fingerfarben malen

Nagios Version: OP5

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 750

Number of services: 6500

OS: OP5 - CentOS

Plugin Version: OP5 - Plugins

7

Tuesday, August 14th 2012, 8:22pm

Viele Ideen wie man das umsetzen könnte ;-)

@bolder -> Ist auch ein guter Ansatz den ich auch in Betracht ziehen könnte.