04. 03. 2016 Patrick Zambelli NetEye

Monitoring Agent deployment: NSClient++.MSI

Nsclient++ è un noto agente open source per il monitoraggio di ambienti Microsoft ( http://www.nsclient.org/ ). Nasce come uno tra i primi agenti di successo introdotti per Nagios, e nel corso degli ultimi anni è stato migliorato fino a raggiungere una notevole stabilità. Questo è anche uno dei principali motivi per cui questo agente fa ancora parte della strategia per i progetti di monitoraggio realizzati con NetEye. NSClient++ offre l’accesso all’informazioni sullo stato dei sistemi e i loro valori prestazionali. Inoltre è anche possibile estendere le sue funzionalità con altre istruzioni per supportare l’esecuzione remota di comandi personalizzati, come l’esecuzione dei testcase di Alyvix. ( www.alyvix.com ).

In questo post cercherò di sottolineare le varie possibilità di installazione di questo agente attraverso il suo setup package nativo. Il vantaggio infatti consiste nell’utilizzare gli strumenti standard di Microsoft per preparare, fare il deployment e aggiornare gli agenti.

Il pacchetto msi è disponibile all’interno della condivisione degli agenti con l’ultima versione di NetEye o in alternativa potete scaricarlo dalla pagina della community ( http://nsclient.org/download/). Per la sua distribuzione basta copiarlo nella NetEye-Share da dove è possibile eseguire rapidamente il deploy su un ambiente remote Windows.

Quali sono le novità? Installare l’agente via msi offre il beneficio di usufruire della logica di deployment del software, registrando l’agente all’interno del registry del Sistema Operativo. In questo modo è ancora più semplice controllare la versione attualmente installata, aggiornare la distribuzione da un nuovo pacchetto e infine fornire un approccio per una distribuzione automatizzata del pacchetto.

La struttura dello script potrebbe consistere nelle seguenti istruzioni:

  1. Identificare l’architettura del Sistema operativo
    IF “%PROCESSOR_ARCHITECTURE%”==”x86” set AGENT_File=NSCP-0.4.3.143-x32.msi
    IF “%PROCESSOR_ARCHITECTURE%”==”AMD64” set AGENT_File=NSCP-0.4.3.143-x64.msi
  2. Copiare e installare la versione appropriata dell’agente
    xcopy /E \\%NETEYE_SERVER%\%AGENT_File% c:\NSClientTempInstall\
    msiexec /qn /passive /norestart /l* install.log /i %AGENT_File% INSTALLLOCATION=”c:\Program Files\NetEyeNSClient++” ADDDEFAULT=ALL REMOVE=PythonScript
  3. Definire un file di configurazione personalizzato e altri scripts:
    xcopy /E \\%NETEYE_SERVER%\nsclient.ini “%ProgramFiles%\NetEyeNSClient++\” /q /y
    xcopy /E \\%NETEYE_SERVER_PATH%\MSI_Packages\scripts\* “%ProgramFiles%\NetEyeNSClient++\scripts\” /q /y
  4. Start the agent ( Making sure to stop a running instance first )
    net stop nscp
    net start nscp
  5. Registrare regole corrette per il firewal
    netsh advfirewall firewall add rule name=NetEyeNSClient++ dir=in action=allow program=”%ProgramFiles%\NetEyeNSClient++\nscp.exe” enable=yes protocol=any

Per fare in modo che lo script sia riutilizzabile per le varie situazioni, alcune informazioni possono essere definite come una variabile all intenro dello script di installazione:

  • Il path e la versione per configurare il pacchetto msi contenente MSI, il file .ini personalizzato e altri possibili script.
    set NETEYE_SERVER_PATH=\\172.16.3.138\neteye\client-software\windows\MSI_Packages
    set AGENT_VERSION=0.4.3.143

Pronti via! Ora mettiamo insieme tutte queste informazioni. Per semplificare questa attività vi fornisco di seguito uno script di installazione e un file di configurazione:

Copiateli nella NetEye-Share e identificate una situazione come questa quando vi connettete da una macchina Windows remota.

Screenshot from 2016-02-01 11:47:12

Quando eseguite l’install_neteyensclient.bat con permessi elevati ( „Run as Administrator“ ) apparirà il dialogo per l’installazione e installerà l’agente.

Screenshot from 2016-02-01 11:58:25

Ora NSClient dovrebbe essere registrato come servizio: „nscp“

Screenshot from 2016-02-01 12:04:01

Controllare la disponibilità dell’agente:

Screenshot from 2016-02-01 12:05:47

Esempio di script scaricabili:

Questo file.zip contiene un deployment di esempio .bat file e un file nsclient.ini che può essere utilizzato per personalizzare le configurazioni .ini di default: MSI_Packages_install

Patrick Zambelli

Patrick Zambelli

Project Manager at Würth Phoenix
After my graduation in Applied Computer Science at the Free University of Bolzano I decided to start my professional career outside the province. With a bit of good timing and good luck I went into the booming IT-Dept. of Geox in the shoe district of Montebelluna, where I realized how a big IT infrastructure has to grow and adapt to quickly changing requirements. During this experience I had also the nice possibility to travel the world, while setting up the various production and retail areas of this company. Arrived at Würth Phoenix I started developing on our monitoring solution NetEye. Today, in my position as Consulting an Project Manager I am continuously heading to implement our solutions to meet the expectation of your enterprise customers.

Author

Patrick Zambelli

After my graduation in Applied Computer Science at the Free University of Bolzano I decided to start my professional career outside the province. With a bit of good timing and good luck I went into the booming IT-Dept. of Geox in the shoe district of Montebelluna, where I realized how a big IT infrastructure has to grow and adapt to quickly changing requirements. During this experience I had also the nice possibility to travel the world, while setting up the various production and retail areas of this company. Arrived at Würth Phoenix I started developing on our monitoring solution NetEye. Today, in my position as Consulting an Project Manager I am continuously heading to implement our solutions to meet the expectation of your enterprise customers.

Leave a Reply

Your email address will not be published. Required fields are marked *

Archive