Discussion:
[Check_mk (deutsch)] Windows-Agent: Probleme mit Powershell-Skripten
Dirk Schulz
2012-11-28 18:07:40 UTC
Permalink
Hallo zusammen,

ich versuche einige SQL Server mit Hilfe des Agents von check_mk zu
überwachen. Da das mitgelieferte mssql.vbs leider nur mit SQL Server
2008 R2 halbwegs vernünftig zusammen arbeitet, habe ich es in Powershell
nachprogrammiert (siehe Anhang dieser Mail).

Wenn ich das Skript als der Benutzer, mit dem der Agent läuft, direkt
starte, funktioniert es wie erwartet. Starte ich es mit
"check_mk_agent.exe test", werden nur Teile ausgegeben. Scheinbar
liefern alle Abfragen in dem Skriptkeine Ergebnisse zurück.
Hat jemand eine Idee, woran das liegen könnte?

Vielen Dank schon mal für jede Idee,
Dirk
--
Mit freundlichen Grüßen / best regards

Comarch Software und Beratung AG
Dirk Schulz
Großer Kolonnenweg 21
D-30163 Hannover

Tel.:+49 (511) 96605-299
Mobil: +49 (170) 3058871
Fax: +49 (511) 96605-199
mailto:dirk.schulz at comarch.com <mailto:dirk.schulz at comarch.com>
http://www.comarch.de

------------------------------------------------------------------------------------------------------
Sitz: München, Amtsgericht München HRB 111531
Aufsichtsrat: Konrad Taranski (Vorsitz)
Vorstand: Dr. Christoph Kurpinski (Vorsitzender) Prof. Janusz Filipiak,
Lukasz Wasek
------------------------------------------------------------------------------------------------------
Logo Comarch
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://lists.mathias-kettner.de/pipermail/checkmk-de/attachments/20121128/96158c78/attachment-0001.html>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : signature-logo.jpg
Dateityp : image/jpeg
Dateigröße : 10068 bytes
Beschreibung: nicht verfügbar
URL : <Loading Image...>
-------------- nächster Teil --------------
þÿ[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SqlWmiManagement") | out-null

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo") | out-null



$machine = New-Object ('Microsoft.SqlServer.Management.Smo.Wmi.ManagedComputer') '.'



################################################

# get instance product versions #

################################################

write-host '<<<mssql_versions>>>'

#write-host $machine.Urn



foreach ($sqlinstance in $machine.ServerInstances)

{



if ($sqlinstance.Name -eq 'MSSQLSERVER') {

$SQLServer = '.'

} else {

$SQLServer = '.\' + $sqlinstance.Name

}

#write-host $SQLServer

$SQLDBName = "master"

$SqlQuery = "SELECT SERVERPROPERTY('productversion') as ProductVersion"

# SERVERPROPERTY('productlevel') as ProductLevel, SERVERPROPERTY('edition') as Edition"

$SqlConnection = New-Object System.Data.SqlClient.SqlConnection

$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = True"

$SqlCmd = New-Object System.Data.SqlClient.SqlCommand

$SqlCmd.CommandText = $SqlQuery

$SqlCmd.Connection = $SqlConnection

$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter

$SqlAdapter.SelectCommand = $SqlCmd



$DataSet = New-Object System.Data.DataSet

$DataTable = New-Object System.Data.DataTable

$a = $SqlAdapter.Fill($DataSet)

$DataTable = $DataSet.tables[0]



$SqlConnection.Close()



#$DataTable | ft -AutoSize



$ProductVersion = $DataTable.Rows[0].Item("ProductVersion")

#write-host ProductVersion = $ProductVersion



write-host $sqlinstance.Name $ProductVersion

}



################################################

# get instance performance counters #

################################################



write-host '<<<mssql_counters>>>'



foreach ($sqlinstance in $machine.ServerInstances)

{



if ($sqlinstance.Name -eq 'MSSQLSERVER') {

$SQLServer = '.'

} else {

$SQLServer = '.\' + $sqlinstance.Name

}

$SQLDBName = "master"

$SqlQuery = "SELECT object_name, counter_name, instance_name, cntr_value FROM sys.dm_os_performance_counters WHERE object_name NOT LIKE '%Deprecated%'"

$SqlConnection = New-Object System.Data.SqlClient.SqlConnection

$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = True"

$SqlCmd = New-Object System.Data.SqlClient.SqlCommand

$SqlCmd.CommandText = $SqlQuery

$SqlCmd.Connection = $SqlConnection

$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter

$SqlAdapter.SelectCommand = $SqlCmd



$DataSet = New-Object System.Data.DataSet

$DataTable = New-Object System.Data.DataTable

$a = $SqlAdapter.Fill($DataSet)

$DataTable = $DataSet.tables[0]



$SqlConnection.Close()



#$DataTable

foreach ($row in $DataTable.Rows)

{

$object_name = ($row | select -ExpandProperty object_name).trim().replace(" ","_").replace("$","_")

$counter_name = ($row | select -ExpandProperty counter_name).trim().replace(" ","_")

$instance_name = ($row | select -ExpandProperty instance_name).trim().replace(" ","_")

$cntr_value = ($row | select -ExpandProperty cntr_value).toString().trim()

write-host $object_name $counter_name $instance_name $cntr_value

}

}



################################################

# get database sizes #

################################################



write-host '<<<mssql_tablespaces>>>'



foreach ($sqlinstance in $machine.ServerInstances)

{



if ($sqlinstance.Name -eq 'MSSQLSERVER') {

$SQLServer = '.'

} else {

$SQLServer = '.\' + $sqlinstance.Name

}

$SQLDBName = "master"

$SqlQuery = "SELECT name FROM master..sysdatabases"

$SqlConnection = New-Object System.Data.SqlClient.SqlConnection

$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = True"

$SqlCmd = New-Object System.Data.SqlClient.SqlCommand

$SqlCmd.CommandText = $SqlQuery

$SqlCmd.Connection = $SqlConnection

$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter

$SqlAdapter.SelectCommand = $SqlCmd



$DataSet = New-Object System.Data.DataSet

$DataTable = New-Object System.Data.DataTable

$a = $SqlAdapter.Fill($DataSet)

$DataTable = $DataSet.tables[0]



$SqlConnection.Close()



#$DataTable

foreach ($row in $DataTable.Rows)

{

$dbName = ($row | select -ExpandProperty name).trim()

#write-host $sqlinstance.Name $dbName



$SQLDBName = $dbName



$SqlQuery = @"

declare @id int -- The object id that takes up space

,@type character(2) -- The object type.

,@pages bigint -- Working variable for size calc.

,@dbname sysname

,@dbsize bigint

,@logsize bigint

,@reservedpages bigint

,@usedpages bigint

,@rowCount bigint

begin

select @dbsize = sum(convert(bigint,case when status & 64 = 0 then size else 0 end))

, @logsize = sum(convert(bigint,case when status & 64 <> 0 then size else 0 end))

from dbo.sysfiles



select @reservedpages = sum(a.total_pages),

@usedpages = sum(a.used_pages),

@pages = sum(

CASE

-- XML-Index and FT-Index and semantic index internal tables are not considered "data", but is part of "index_size"

When it.internal_type IN (202,204,207,211,212,213,214,215,216,221,222) Then 0

When a.type <> 1 and p.index_id < 2 Then a.used_pages

When p.index_id < 2 Then a.data_pages

Else 0

END

)

from sys.partitions p join sys.allocation_units a on p.partition_id = a.container_id

left join sys.internal_tables it on p.object_id = it.object_id



/* unallocated space could not be negative */

select

database_name = db_name(),

database_size = ltrim(str((convert (dec (15,2),@dbsize) + convert (dec (15,2),@logsize))

* 8192 / 1048576,15,2) + ' MB'),

unallocated_space = ltrim(str((case when @dbsize >= @reservedpages then

(convert (dec (15,2),@dbsize) - convert (dec (15,2),@reservedpages))

* 8192 / 1048576 else 0 end),15,2) + ' MB'),

reserved = ltrim(str(@reservedpages * 8192 / 1024.,15,0) + ' KB'),

data = ltrim(str(@pages * 8192 / 1024.,15,0) + ' KB'),

index_size = ltrim(str((@usedpages - @pages) * 8192 / 1024.,15,0) + ' KB'),

unused = ltrim(str((@reservedpages - @usedpages) * 8192 / 1024.,15,0) + ' KB')

end

"@



$SqlConnection = New-Object System.Data.SqlClient.SqlConnection

$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = True"

$SqlCmd = New-Object System.Data.SqlClient.SqlCommand

$SqlCmd.CommandText = $SqlQuery

$SqlCmd.Connection = $SqlConnection

$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter

$SqlAdapter.SelectCommand = $SqlCmd



$DataSetDBs = New-Object System.Data.DataSet

$DataTableDBs = New-Object System.Data.DataTable

$a = $SqlAdapter.Fill($DataSetDBs)

$DataTableDBs = $DataSetDBs.tables[0]



$SqlConnection.Close()



#$DataTableDBs | ft -AutoSize



foreach ($rowDBs in $DataTableDBs.Rows)

{

$dbSize = ($rowDBs | select -ExpandProperty database_size).trim()

$dbUnallocated = ($rowDBs | select -ExpandProperty unallocated_space).trim()

$dbReserved = ($rowDBs | select -ExpandProperty reserved).trim()

$dbData = ($rowDBs | select -ExpandProperty data).trim()

$dbIndexSize = ($rowDBs | select -ExpandProperty index_size).trim()

$dbUnused = ($rowDBs | select -ExpandProperty unused).trim()

write-host $sqlinstance.Name $dbName $dbSize $dbUnallocated $dbReserved $dbData $dbIndexSize $dbUnused

}

}

}



################################################

# get database backup date #

################################################



write-host '<<<mssql_backup>>>'



foreach ($sqlinstance in $machine.ServerInstances)

{



if ($sqlinstance.Name -eq 'MSSQLSERVER') {

$SQLServer = '.'

} else {

$SQLServer = '.\' + $sqlinstance.Name

}

$SQLDBName = "master"

$SqlQuery = "SELECT name FROM master..sysdatabases"

$SqlConnection = New-Object System.Data.SqlClient.SqlConnection

$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = True"

$SqlCmd = New-Object System.Data.SqlClient.SqlCommand

$SqlCmd.CommandText = $SqlQuery

$SqlCmd.Connection = $SqlConnection

$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter

$SqlAdapter.SelectCommand = $SqlCmd



$DataSet = New-Object System.Data.DataSet

$DataTable = New-Object System.Data.DataTable

$a = $SqlAdapter.Fill($DataSet)

$DataTable = $DataSet.tables[0]



$SqlConnection.Close()



#$DataTable

foreach ($row in $DataTable.Rows)

{

$dbName = ($row | select -ExpandProperty name).trim()

#write-host $sqlinstance.Name $dbName



$SQLDBName = $dbName



$SqlQuery = "SELECT DATEDIFF(s, '19700101', MAX(backup_finish_date)) AS last_backup_date FROM msdb.dbo.backupset WHERE database_name = '$dbName'"



$SqlConnection = New-Object System.Data.SqlClient.SqlConnection

$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = True"

$SqlCmd = New-Object System.Data.SqlClient.SqlCommand

$SqlCmd.CommandText = $SqlQuery

$SqlCmd.Connection = $SqlConnection

$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter

$SqlAdapter.SelectCommand = $SqlCmd



$DataSetDBs = New-Object System.Data.DataSet

$DataTableDBs = New-Object System.Data.DataTable

$a = $SqlAdapter.Fill($DataSetDBs)

$DataTableDBs = $DataSetDBs.tables[0]



$SqlConnection.Close()



foreach ($rowDBs in $DataTableDBs.Rows)

{

$dbLastBackup = ($rowDBs | select -ExpandProperty last_backup_date).toString()

if ($dbLastBackup.Length -gt 0 ) {

write-host $sqlinstance.Name $dbName $dbLastBackup

}

}

}

}
Dirk Schulz
2012-11-29 08:58:46 UTC
Permalink
Hallo Ronald,

der Agent läuft auf Windows Server 2008 R2, auf dem SQL Server 2012
installiert ist.
Die Authentifizierung erfolgt über die Windowsauthentifizierung, dazu
wurde der Dienst des Agents so konfiguriert, dass er mit einem
Domänenbenutzer gestartet wird, der auf dem SQL-Server über die nötigen
Rechte verfügt. Die Tests im interaktiven Modus werden mit dem selben
Benutzer durchgeführt.

Ich habe es gerade noch einmal einen weiteren Server zum Testen
verwendet, auf dem mehrere Instanzen laufen (SQL Server 2005 Express,
SQL 2008, SQL2008R2). Erstaunlicherweise werden hier Instanzen gefunden,
und zwar abhängig davon, über welchen Weg ich das Skript starte,
verschiedene:
über Powershell: FINANCE, MSSQLSERVER, REPOSITORY
über check_mk_agent: EXPRESS
Scheint so, als wenn der Powershell-Code

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SqlWmiManagement")
| out-null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo")
| out-null

$machine = New-Object
('Microsoft.SqlServer.Management.Smo.Wmi.ManagedComputer') '.'

################################################
# get instance product versions #
################################################
write-host '<<<mssql_versions>>>'

foreach ($sqlinstance in $machine.ServerInstances)
....
verschiedene Ergebnisse zurückliefert, abhängig davon, auf welche Art er
ausgeführt wird. Vielleicht gibt es ja dazu eine Idee?

Im folgenden noch Teile der Ausgaben auf den beiden Servern, jeweils
nach Startart.

Schöne Grüße
Dirk

Hier mal die Ausschnitte aus den Ausgaben auf den Servern:
###################################
# Server 1 (SQL-Instanz MSSQLSERVER)
###################################
PS C:\Program Files (x86)\check_mk\plugins> .\mssql.ps1
<<<mssql_versions>>>
MSSQLSERVER 11.0.2332.0
<<<mssql_counters>>>
SQLServer:Memory_Broker_Clerks Memory_broker_clerk_size Buffer_Pool 654637
SQLServer:Memory_Broker_Clerks Simulation_benefit Buffer_Pool 0
SQLServer:Memory_Broker_Clerks Simulation_size Buffer_Pool 154754
SQLServer:Memory_Broker_Clerks Internal_benefit Buffer_Pool 0
SQLServer:Memory_Broker_Clerks Periodic_evictions_(pages) Buffer_Pool 0
SQLServer:Memory_Broker_Clerks Pressure_evictions_(pages/sec) Buffer_Pool 0

###################################
C:\Program Files (x86)\check_mk>check_mk_agent.exe test
<<<check_mk>>>
Version: 1.2.0p2
AgentOS: windows
Hostname: Server1
WorkingDirectory: C:\Program Files (x86)\check_mk
ConfigFile: C:\Program Files (x86)\check_mk\check_mk.ini
AgentDirectory: C:\Program Files (x86)\check_mk
PluginsDirectory: C:\Program Files (x86)\check_mk\plugins
LocalDirectory: C:\Program Files (x86)\check_mk\local
OnlyFrom: 127.0.0.1/32 172.27.169.80/32
<<<uptime>>>
4372681
<<<df>>>
C:\ NTFS 52324348 43801232 8523116 84% C:\
....
[[[Windows PowerShell]]]
<<<mssql_versions>>>
<<<mssql_counters>>>
<<<mssql_tablespaces>>>
<<<mssql_backup>>>
<<<windows_updates>>>
0 9 4

###################################
# Server2 (SQL-Instanzen MSSQLSERVER, FINANCE, REPOSITORY, EXPRESS):
###################################
PS C:\Program Files (x86)\check_mk\plugins> .\mssql.ps1
<<<mssql_versions>>>
FINANCE 10.50.4000.0
MSSQLSERVER 10.0.5500.0
REPOSITORY 10.0.5500.0
<<<mssql_counters>>>
MSSQL_FINANCE:Buffer_Manager Buffer_cache_hit_ratio 84
MSSQL_FINANCE:Buffer_Manager Buffer_cache_hit_ratio_base 84
MSSQL_FINANCE:Buffer_Manager Page_lookups/sec 91923908
MSSQL_FINANCE:Buffer_Manager Free_list_stalls/sec 1
MSSQL_FINANCE:Buffer_Manager Free_pages 378
MSSQL_FINANCE:Buffer_Manager Total_pages 53322

(Erstaunlicherweise findet er die Instanz EXPRESS nicht)
###################################
C:\Program Files (x86)\check_mk>check_mk_agent.exe test
<<<check_mk>>>
Version: 1.2.0p2
AgentOS: windows
Hostname: Server2
WorkingDirectory: C:\Program Files (x86)\check_mk
ConfigFile: C:\Program Files (x86)\check_mk\check_mk.ini
AgentDirectory: C:\Program Files (x86)\check_mk
PluginsDirectory: C:\Program Files (x86)\check_mk\plugins
LocalDirectory: C:\Program Files (x86)\check_mk\local
OnlyFrom: 127.0.0.1/32 172.27.169.80/32
<<<uptime>>>
4374417
<<<df>>>
C:\ NTFS 51199996 34112036 17087960 67% C:\
Data NTFS 1374104572 1202818904 171285668 88% D:\
iSCSI01 NTFS 1230101500 395185584 834915916 33% E:\
openfiler01 NTFS 1011380072 837937368 173442704 83% I:\
......
<<<mssql_versions>>>
SQLEXPRESS 9.00.4060.00
<<<mssql_counters>>>
MSSQL_SQLEXPRESS:Buffer_Manager Buffer_cache_hit_ratio 8877
MSSQL_SQLEXPRESS:Buffer_Manager Buffer_cache_hit_ratio_base 8900
MSSQL_SQLEXPRESS:Buffer_Manager Page_lookups/sec 250944900
MSSQL_SQLEXPRESS:Buffer_Manager Free_list_stalls/sec 3661
MSSQL_SQLEXPRESS:Buffer_Manager Free_pages 559
Wie sehen denn die Teile aus, die dass Script im nicht interaktiven
Modus zurückliefert? Auf welchem OS läuft der Agent? Welche
SQL-Serverversion möchtest Du abfragen? Wie authentifizierst Du gegen
den SQL-Server?
Gruß
Ronald
Von meinem iPhone gesendet
Am 28.11.2012 um 19:08 schrieb "Dirk Schulz" <dirk.schulz at comarch.com
Post by Dirk Schulz
Hallo zusammen,
ich versuche einige SQL Server mit Hilfe des Agents von check_mk zu
überwachen. Da das mitgelieferte mssql.vbs leider nur mit SQL Server
2008 R2 halbwegs vernünftig zusammen arbeitet, habe ich es in
Powershell nachprogrammiert (siehe Anhang dieser Mail).
Wenn ich das Skript als der Benutzer, mit dem der Agent läuft, direkt
starte, funktioniert es wie erwartet. Starte ich es mit
"check_mk_agent.exe test", werden nur Teile ausgegeben. Scheinbar
liefern alle Abfragen in dem Skriptkeine Ergebnisse zurück.
Hat jemand eine Idee, woran das liegen könnte?
Vielen Dank schon mal für jede Idee,
Dirk
--
Mit freundlichen Grüßen / best regards
Comarch Software und Beratung AG
Dirk Schulz
Großer Kolonnenweg 21
D-30163 Hannover
Tel.:+49 (511) 96605-299
Mobil: +49 (170) 3058871
Fax: +49 (511) 96605-199
mailto:dirk.schulz at comarch.com <mailto:dirk.schulz at comarch.com>
http://www.comarch.de
------------------------------------------------------------------------------------------------------
Sitz: München, Amtsgericht München HRB 111531
Aufsichtsrat: Konrad Taranski (Vorsitz)
Vorstand: Dr. Christoph Kurpinski (Vorsitzender) Prof. Janusz
Filipiak, Lukasz Wasek
------------------------------------------------------------------------------------------------------
<signature-logo.jpg>
<mssql.ps1>
_______________________________________________
checkmk-de mailing list
checkmk-de at lists.mathias-kettner.de
<mailto:checkmk-de at lists.mathias-kettner.de>
http://lists.mathias-kettner.de/mailman/listinfo/checkmk-de
--
Mit freundlichen Grüßen / best regards

Comarch Software und Beratung AG
Dirk Schulz
Großer Kolonnenweg 21
D-30163 Hannover

Tel.:+49 (511) 96605-299
Mobil: +49 (170) 3058871
Fax: +49 (511) 96605-199
mailto:dirk.schulz at comarch.com <mailto:dirk.schulz at comarch.com>
http://www.comarch.de

------------------------------------------------------------------------------------------------------
Sitz: München, Amtsgericht München HRB 111531
Aufsichtsrat: Konrad Taranski (Vorsitz)
Vorstand: Dr. Christoph Kurpinski (Vorsitzender) Prof. Janusz Filipiak,
Lukasz Wasek
------------------------------------------------------------------------------------------------------
Logo Comarch
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://lists.mathias-kettner.de/pipermail/checkmk-de/attachments/20121129/65fdf101/attachment-0001.html>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : signature-logo.jpg
Dateityp : image/jpeg
Dateigröße : 10068 bytes
Beschreibung: nicht verfügbar
URL : <Loading Image...>
Dirk Schulz
2012-12-04 18:39:33 UTC
Permalink
Hallo zusammen,

ich habe inzwischen nach etwas Sucherei den Fehler gefunden. Da
check_mk_agent eine 32bit-Anwendung ist, ermitteln die
WMI/Registry-Aufrufe, die ich verwendet habe um die Instanzen zu finden,
nur die in 32bit installierten Instanzen (also in der Regel auf einem
64bit-Server keine...).
Da ich keine Möglichkeit gefunden habe, aus der 32bit-Powershell auf
REG_MULTI_SZ bzw. WMI-Objekte im 64bit-Teil zuzugreifen, habe ich mir
eine kleine Batch gebaut, die powershell.exe einmal als 32bit-, einmal
als 64bit-Anwednung aufruft, damit sowohl in 32bit als auch 64bit die
Intanzen raussucht und diese in eine Datei schreibt. Diese lese ich dann
mit dem plugin aus. Unschön, funktioniert aber. Da dich die
installierten Instanzen des SQL Server nicht so häufig ändern, kann die
Batch einmal täglich mit dem Windows Zeitplandienst gestartet werden.

Falls Interesse besteht, habe ich alle dafür nötigen Dateien an diese
Mail gehängt.

Schöne Grüße
Dirk
Post by Dirk Schulz
Hallo zusammen,
ich versuche einige SQL Server mit Hilfe des Agents von check_mk zu
überwachen. Da das mitgelieferte mssql.vbs leider nur mit SQL Server
2008 R2 halbwegs vernünftig zusammen arbeitet, habe ich es in
Powershell nachprogrammiert (siehe Anhang dieser Mail).
Wenn ich das Skript als der Benutzer, mit dem der Agent läuft, direkt
starte, funktioniert es wie erwartet. Starte ich es mit
"check_mk_agent.exe test", werden nur Teile ausgegeben. Scheinbar
liefern alle Abfragen in dem Skriptkeine Ergebnisse zurück.
Hat jemand eine Idee, woran das liegen könnte?
Vielen Dank schon mal für jede Idee,
Dirk
--
Mit freundlichen Grüßen / best regards
Comarch Software und Beratung AG
Dirk Schulz
Großer Kolonnenweg 21
D-30163 Hannover
Tel.:+49 (511) 96605-299
Mobil: +49 (170) 3058871
Fax: +49 (511) 96605-199
mailto:dirk.schulz at comarch.com <mailto:dirk.schulz at comarch.com>
http://www.comarch.de
------------------------------------------------------------------------------------------------------
Sitz: München, Amtsgericht München HRB 111531
Aufsichtsrat: Konrad Taranski (Vorsitz)
Vorstand: Dr. Christoph Kurpinski (Vorsitzender) Prof. Janusz
Filipiak, Lukasz Wasek
------------------------------------------------------------------------------------------------------
Logo Comarch
_______________________________________________
checkmk-de mailing list
checkmk-de at lists.mathias-kettner.de
http://lists.mathias-kettner.de/mailman/listinfo/checkmk-de
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://lists.mathias-kettner.de/pipermail/checkmk-de/attachments/20121204/55d64c64/attachment-0001.html>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : nicht verfügbar
Dateityp : image/jpeg
Dateigröße : 10068 bytes
Beschreibung: nicht verfügbar
URL : <http://lists.mathias-kettner.de/pipermail/checkmk-de/attachments/20121204/55d64c64/attachment-0001.jpe>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : check_mk_mssql.zip
Dateityp : application/octet-stream
Dateigröße : 3610 bytes
Beschreibung: nicht verfügbar
URL : <http://lists.mathias-kettner.de/pipermail/checkmk-de/attachments/20121204/55d64c64/attachment-0001.obj>
Loading...