Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Onlinestatus vom Server im Intranet per html darstellen.

Frage Internet

Mitglied: Mikefield

Mikefield (Level 1) - Jetzt verbinden

26.08.2010, aktualisiert 18.10.2012, 3496 Aufrufe, 4 Kommentare

rotes gif bei offline und grünes gif bei online

Hallo Zusammen!

Ich möchte den Status von diversen Endpunkten (Drucker, WS, Server) im lokalen Netz in meinem Intranet einbinden. Leider habe ich keine Ahnung wie man das realisiert. Ob das mit html direkt geht weis ich nicht. PHP habe ich nicht, aber ein Perl Script kann ich einbinden, da ActivePerl installiert ist.

Vielen Dank im voraus
mf
Mitglied: 60730
26.08.2010, aktualisiert 18.10.2012
Moin,

eigentlich ein klassischer Fall von Nagios - aber vielleicht für deinen Wunsch etwas oversized.
Try this
Und wenn dir das nicht reicht, eine nähere Angabe zu deiner Intrastruktur würde helfen.

Gruß
Bitte warten ..
Mitglied: noodyn
27.08.2010 um 07:13 Uhr
Diverse Endpunkte? Dann Nagios.
Bitte warten ..
Mitglied: jamie87
27.08.2010 um 11:31 Uhr
Eine günstige Alternative wäre vielelicht auch noch Servers Alive. Gibt es sogar eine kostenlose Variante mit bis zu 10 Servern.

Gruß Jamie
Bitte warten ..
Mitglied: Mikefield
27.08.2010 um 14:51 Uhr
Erst einmal vielen Dank für die Antworten. Aber ich wollte nicht mit Kanonen auf Spatzen schießen. Es geht nur um mein privates LAN mit 5 Rechnern und einem Drucker. Ich bin davon ausgegangen, daß es ein einfaches script gibt, mit dem man das realisieren kann, ob ein Rechner per ping erreichbar ist und dieses auf meiner Homepage entsprechend darstellen. Ich habe schon ein PERL Script, welches den Zustand der Powerswitche überwacht. Vielleicht kann man das auch anpassen.


01.
#!/usr/bin/perl 
02.
03.
# $Id: epc_control.pl,v 1.23 2006/11/13 09:50:34 martinb1 Exp $ 
04.
05.
############################################################################### 
06.
#                                                                             # 
07.
# CommandLine Tool to access the ExpertPowerControl                           # 
08.
#                                                                             # 
09.
# sample calls:                                                               # 
10.
#                                                                             # 
11.
#    Show current State:                                                      # 
12.
#       - epc_control.pl --host=192.168.0.2 --password=xyz                    # 
13.
#                                                                             # 
14.
#    Switch On:                                                               # 
15.
#       - epc_control.pl --host=192.168.0.2 --password=xyz -on                # 
16.
#                                                                             # 
17.
#    Switch Off:                                                              # 
18.
#       - epc_control.pl --host=192.168.0.2 --password=xyz -off               # 
19.
#                                                                             # 
20.
#    Toggle:                                                                  # 
21.
#       - epc_control.pl --host=192.168.0.2 --password=xyz -t                 # 
22.
#                                                                             # 
23.
############################################################################### 
24.
#                                                                             # 
25.
# (c)2004, Author: Martin Bachem, Gude Analog- und Digitalsysteme GmbH        # 
26.
# 	http://www.gude.info/                                                 # 
27.
#                                                                             # 
28.
############################################################################### 
29.
30.
 
31.
$adminname = "admin"; 
32.
$username  = "user"; 
33.
$password = ""; 
34.
 
35.
 
36.
############################################################################### 
37.
# Command Line Parameters Defaults 
38.
39.
$powerswitch=1; 
40.
$action=0;         # 1=on, 2=off, 3=toggle 
41.
 
42.
############################################################################### 
43.
# gloval vars 
44.
$num_ports=0; 
45.
$switch_all=0; 
46.
$host = "192.168.150.16"; 
47.
 
48.
$delay=2; # 2 seconds delay when switching all ports 
49.
$batch=0; # idle T 
50.
$batch_t = 0; # default: time in seconds 
51.
 
52.
sub usage { 
53.
	print ("epc_control.pl\n"); 
54.
	print ("  [--host=192.168.0.2]       : define the IP-Adress of your device)\n"); 
55.
	print ("  [--password=mypasswd]      : define HTTP Password if needed\n"); 
56.
	print ("  [--port=X],[-p=X]          : select switch port no. X (default: 1)\n"); 
57.
	print ("  [--switch_on], [-on]       : switch PowerSwitch X ON\n"); 
58.
	print ("  [--switch_off],[-off]      : switch PowerSwitch X OFF\n"); 
59.
	print ("  [--switch_toggle],[-t]     : toggle PowerSwitch X from ON<->OFF\n"); 
60.
	print ("  [--batch_onoff=T],[-bon=T] : switch port on, after T seconds switch off"); 
61.
	print ("  [--batch_offon=T],[-bof=T] : switch port off, after T seconds switch on"); 
62.
	print ("                                  T: 1=1s,  2=2s,  3=3s,  4=4s, 5=5s,"); 
63.
	print ("                                     6=10s, 7=15s, 8=20s, 9=30s"); 
64.
	print ("  [--batch_min], [-bm]       : handle values for T (see above) as minute values"); 
65.
	print ("  [--all,[-a]                : switch all available ports\n"); 
66.
	print ("  [--delay=X,[-d=X]          : when --all, delay X seconds after\n"); 
67.
	print ("                               each port (default: 2s)\n"); 
68.
	print ("  [--silent],[-s]            : no console output\n"); 
69.
	exit; 
70.
71.
 
72.
foreach $cmd_line_param (@ARGV) { 
73.
 
74.
	# --host=192.168.0.2 
75.
#	if ($cmd_line_param =~ "--host=") { 
76.
#		@param_vals = split(/=/, $cmd_line_param); 
77.
#		if ($param_vals[1] ne "") { 
78.
#			$host = $param_vals[1]; 
79.
#		} 
80.
#	} 
81.
 
82.
	# --password=mypasswd 
83.
	if ($cmd_line_param =~ "--password=") { 
84.
		@param_vals = split(/=/, $cmd_line_param); 
85.
		if ($param_vals[1] ne "") { 
86.
			$password = $param_vals[1]; 
87.
88.
89.
 
90.
	# [--powerswitch=X], [-p=X] 
91.
	if (($cmd_line_param =~ "--powerswitch=")  || ($cmd_line_param =~ "-p=")) { 
92.
		@param_vals = split(/=/, $cmd_line_param); 
93.
		if ($param_vals[1] ne "") { 
94.
			$powerswitch = $param_vals[1]; 
95.
96.
97.
 
98.
	# [--switch_on], [-on]  --> action = 1; 
99.
	if (($cmd_line_param eq "--switch_on") || ($cmd_line_param eq "-on")) { 
100.
		$action = 1;		 
101.
102.
 
103.
	# [--switch_off], [-off]  --> action = 2; 
104.
	if (($cmd_line_param eq "--switch_off") || ($cmd_line_param eq "-off")) { 
105.
		$action = 2;		 
106.
107.
 
108.
	# [--switch_toggle], [-t]  --> action = 3; 
109.
	if (($cmd_line_param eq "--switch_toggle") || ($cmd_line_param eq "-t")) { 
110.
		$action = 3;		 
111.
112.
 
113.
	# [--all] : do action for all ports (default delay is 2 seconds, modify with --delay) 
114.
	if (($cmd_line_param eq "--all") || ($cmd_line_param eq "-a")) { 
115.
		$switch_all = 1; 
116.
117.
 
118.
 
119.
	# [--batch_onoff=T], [-bon=X] : reset port (switch on, wait, switch off) 
120.
	if (($cmd_line_param =~ "--batch_onoff=")  || ($cmd_line_param =~ "-bon=")) { 
121.
		@param_vals = split(/=/, $cmd_line_param); 
122.
		if ($param_vals[1] ne "") { 
123.
			$action = 4; 
124.
			$batch = $param_vals[1]; 
125.
126.
127.
	 
128.
	# [--batch_onoff=T], [-bon=X] : reset port (switch on, wait, switch off) 
129.
	if (($cmd_line_param =~ "--batch_offon=")  || ($cmd_line_param =~ "-bof=")) { 
130.
		@param_vals = split(/=/, $cmd_line_param); 
131.
		if ($param_vals[1] ne "") { 
132.
			$action = 5; 
133.
			$batch = $param_vals[1]; 
134.
135.
136.
	 
137.
 
138.
	# [--batch_min], [-bm] : no console output 
139.
	if (($cmd_line_param eq "--batch_min") || ($cmd_line_param eq "-bm")) { 
140.
		$batch_t = 1; 
141.
	}	 
142.
 
143.
	# [--delay=X], [-d=X] : delay in seconds for allon / alloff / alltoggle 
144.
	if (($cmd_line_param =~ "--delay=")  || ($cmd_line_param =~ "-d=")) { 
145.
		@param_vals = split(/=/, $cmd_line_param); 
146.
		if ($param_vals[1] ne "") { 
147.
			$delay = $param_vals[1]; 
148.
149.
150.
 
151.
	# [--silent], [-s] : no console output 
152.
	if (($cmd_line_param eq "--silent") || ($cmd_line_param eq "-s")) { 
153.
		$silent_mode = 1; 
154.
155.
 
156.
	# [--help], [-h]  --> print usage; 
157.
	if (($cmd_line_param eq "--help") || ($cmd_line_param eq "-h")) { 
158.
		usage(); 
159.
	}	 
160.
161.
 
162.
############################################################################### 
163.
# Include Perl HTTP module 
164.
165.
eval("use LWP::UserAgent"); 
166.
if ($@) { 
167.
	print "ERROR: Module LWP::UserAgent not on found this host\n"; 
168.
	exit; 
169.
170.
 
171.
if (!($host =~ ":"))  { 
172.
	$host = $host.':80'; 
173.
174.
$full_url = "http://".$host."/"; 
175.
$state_txt{"1"} = "ON"; 
176.
$state_txt{"0"} = "OFF"; 
177.
 
178.
############################################################################### 
179.
# Support Sub-Routines 
180.
181.
 sub print_current_state { 
182.
	if ($silent_mode == 0) { 
183.
		for ($i=0; $i<$num_ports; $i++) { 
184.
			print "Content-type: text/html\n\n"; 
185.
#			print ($port_names[$i]); 
186.
#			print (" is "); 
187.
			print ($state_txt{$port_states[$i]});	 
188.
			print ("\n"); 
189.
                        
190.
191.
192.
193.
 
194.
 
195.
# $stat = ($state_txt{$port_states[$i]}); 
196.
# print "$stat"; 
197.
# print "$host"; 
198.
 
199.
# sub print_test { 
200.
# print "Content-type: text/html\n\n"; 
201.
# print "Die IP-Adresse ist: <b>$host</b>, der Status ist "; 
202.
# print ($state_txt{$port_states[$i]}); 
203.
# } 
204.
 
205.
 
206.
sub get_mode { 
207.
	$response = $browser->get($full_url); 
208.
	@lines = split(/\n/, $response->content); 
209.
	 
210.
	$num_ports = 0; 
211.
	 
212.
	foreach $line (@lines) { 
213.
		if ($line =~ "powerstate") { 
214.
			@params = split(/\"/, $line); 
215.
			if ($params[3] =~ ",") { 
216.
				 
217.
				@current_state = split(/,/, $params[3]); 
218.
				$port_names[$num_ports] = $current_state[0]; 
219.
				$port_states[$num_ports] = $current_state[1]; 
220.
				 
221.
				$num_ports = $num_ports+1; 
222.
223.
224.
225.
	 
226.
	return ($num_ports > 0); 
227.
228.
 
229.
sub login { 
230.
	my $login_ok = 0; 
231.
 
232.
	# just login  
233.
	if ($action == 0) { 
234.
		$response = $browser->get($full_url); 
235.
	} else { 
236.
		if ($num_ports == 1) { 
237.
			$response = $browser->get($full_url."switch.html"); 
238.
		} else { 
239.
			$response = $browser->get($full_url."ov.html"); 
240.
241.
242.
	 
243.
	# Login successfull...	 
244.
	if ($response->is_success) { 
245.
		$login_ok = 1; 
246.
		@lines = split(/\n/, $response->content); 
247.
		foreach $line (@lines) { 
248.
			if ($line =~ "blocked") { 
249.
				if ($silent_mode == 0) { 
250.
					print ("ACCESS DENIED! $line\n"); 
251.
252.
					print ("ACCESS DENIED! $line\n"); 
253.
				$login_ok = 0; 
254.
255.
256.
257.
	 
258.
	return ($login_ok); 
259.
260.
 
261.
 
262.
sub switch_action() { 
263.
	# Toggle ? 
264.
	if ($action == 3) {  
265.
		# print ("$port_names[$powerswitch-1]\n"); 
266.
		if ($port_states[$powerswitch - 1] == 0) { 
267.
			$action = 1; 
268.
		} else { 
269.
			$action = 2; 
270.
271.
272.
 
273.
	# Switch ON ?		 
274.
	if ($action == 1) {  
275.
		$response = $browser->get($full_url."SWITCH.CGI?s".$powerswitch."=1"); 
276.
277.
 
278.
	# Switch OFF ? 
279.
	if ($action == 2) {  
280.
		$response = $browser->get($full_url."SWITCH.CGI?s".$powerswitch."=0"); 
281.
282.
 
283.
	# batchmode on->wait->off 
284.
	if ($action == 4) {  
285.
		if ($num_ports == 1) { 
286.
			$response = $browser->get($full_url."RESET.CGI?a=1&bi=".$batch."&t=".$batch_t."&b=0"); 
287.
		} else { 
288.
			$response = $browser->get($full_url."RESET.CGI?a=1&bi=".$batch."&t=".$batch_t."&b=0&p=".$powerswitch); 
289.
290.
291.
	 
292.
	# batchmode off->wait->on 
293.
	if ($action == 5) {  
294.
		if ($num_ports == 1) { 
295.
			$response = $browser->get($full_url."RESET.CGI?a=0&bi=".$batch."&t=".$batch_t."&b=1"); 
296.
		} else { 
297.
			$response = $browser->get($full_url."RESET.CGI?a=0&bi=".$batch."&t=".$batch_t."&b=1&p=".$powerswitch); 
298.
299.
300.
	 
301.
302.
 
303.
################################################################################################ 
304.
# MAIN APP 
305.
306.
 
307.
if ($host eq "") { 
308.
	print ("\nparameter --host is missing! try 'epc_control.pl --host=192.168.x.x'\n"); 
309.
	print ("or 'epc_control.pl --help\n\n"); 
310.
	exit; 
311.
312.
 
313.
$browser = LWP::UserAgent->new; 
314.
$browser->credentials( 
315.
    $host, 
316.
    'ExpertPowerControl', 
317.
    $adminname => $password 
318.
); 
319.
$browser->agent($ENV{SCRIPT_NAME});   
320.
 
321.
if (get_mode()) { 
322.
	if (login()) { 
323.
 
324.
		if ($switch_all) { 
325.
			if ($delay < 1) { 
326.
				print ("ERROR: delay musst be >= 1s"); 
327.
				exit; 
328.
329.
			 
330.
			for ($i=0; $i<$num_ports; $i++) { 
331.
				$powerswitch = $i+1; 
332.
				$save_action = $action; 
333.
				switch_action(); 
334.
				$action = $save_action; 
335.
				sleep($delay); 
336.
337.
			print ("\n"); 
338.
						 
339.
		} else { 
340.
			switch_action(); 
341.
342.
 
343.
		get_mode(); 
344.
		print_current_state; 
345.
 
346.
# test; 
347.
 
348.
# current_state; 
349.
		 
350.
		# do Logout 
351.
		$response = $browser->get($full_url); 
352.
		 
353.
	} else { 
354.
		print "ERROR: " . $response->code. " " . $response->message; 	 
355.
		if ($response->code eq 401) { 
356.
			print ("\ntry \"epc_control.pl --password=YourPassword\"\n"); 
357.
358.
359.
}	else { 
360.
	printf ("Could not connect $full_url !"); 
361.
362.
 
363.
# print ($state_txt{$port_states[$i]});

mf
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell - Events mehrerer Server sammeln und in HTML darstellen
gelöst Frage von lexuraBatch & Shell1 Kommentar

Hallo, ich bin immer noch Neuling auf dem Gebiet Powershell. Als erste Aufgabe wollte ich mir ein Script schreiben, ...

PHP
PHP Array in einer HTML Tabelle darstellen
gelöst Frage von spcvltPHP2 Kommentare

Hallo, ich versuche mich aktuell etwas mit PHP und bin noch sehr am Anfang. Kann mir vielleicht jemand sagen ...

HTML
Zelle aus Excel in HTML-Datei einer E-Mail darstellen
gelöst Frage von Sil3nz3rHTML3 Kommentare

Hallo liebe Administratoren, Ich hab von einer Benutzerin den Auftrag bekommen, einen Newsletter zu erstellen. Diesen hab ich HTML ...

Server
Intranet Server von aussen zugänglich machen
Frage von Cubic83Server9 Kommentare

Wir haben zurzeit ein selbstprogrammiertes Intranet in unserem lokalen Netzwerk (Win2008R2 / IIS mit PHP und Active Directory Anbindung). ...

Neue Wissensbeiträge
Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 2 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 3 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 4 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Digitiales Fernsehen

Apple TV: Amazon Prime App ist verfügbar

Information von Frank vor 4 TagenDigitiales Fernsehen4 Kommentare

Die Amazon Prime Video App kann ab sofort auf einem Apple TV ab der 3 Generation installiert werden. Einfach ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...