View
3.166
Download
0
Category
Preview:
Citation preview
OCS-INVENTORY-NG
B.A. n.v.Lieven De Puysseleir
OCS INVENTORY NGOpen Computer and Software Inventory Next Generation
http://www.ocsinventory-ng.org
WAT?
Opensource (GPLv2 licentie) tool.
Overzicht van hardware op het netwerk.
Uitrollen van software, scripts, bestanden.
Overzicht geinstalleerde software.
OCS Inventory NG
Installatie server
Werkt op heel veel Operating Systems.
BSD, Solaris, osX, AIX, ...
Windows 2000 server, XP Pro, ...
Debian, RedHat, CentOS, Ubuntu,
Volledige lijst op de site van otrs: http://www.ocsinventory-ng.org/index.php?page=Supported_OS
De agent kan op allerlei clients geinstalleerd worden, gaande van windows 95 t.em. Windows 7 beta en zowat all versies van linux. (gezien het opensource is kan je natuurlijk altijd zelf compileren.)
De server
Database server
Communicatieserver
Administration console
Deployment server
Overzicht
Database Server
De database server bewaart de gegevens, de inventory dus.
Momenteel wordt enkel MySQL met InnoDB engine ondersteund.
Versie mysql >= 4.1
Communication Server
De communicatieserver beheert de verbinding tussen de agents (geinstalleerd op de clients) enerzijds en de database server anderzijds.
Deze draait op Apache
Versie 1.3.X
Versie 2.X
Geschreven in Perl als een Apache module om performance redenen. (wordt gecompileerd bij de start van Apache en niet bij elke request.)
Administration Console
De console voor de administratie laat de beheerder(s) toe om de database te raadplegen.
Kan beheerd worden m.b.h.v. allerlei browsers zoals IE, Firefox, Safari, ...
Werd geschreven in PHP4.1
Draait op Apache 1.3.X en 2.X
Deployment Server
De Deploymentserver neemt het uitrollen van 'packages' voor zijn rekening.
Deze bewaard hiervoor de nodige configuraties.
Waarop draait het? Eender welke webserver die SSL ondersteund. (https)
2 scenario's
Alle 4 de onderdelen kunnen op eenzelfde server geinstalleerd worden.
Om overbelasting van de server te voorkomen kan OCS ook uitgesplitst worden over verschillende servers.
2 scenario's
Meer dan 10000 computers te inventariseren?Probeer de installatie uit te splitsen over 2 of meer fysieke machines.
Database en communicatieserver op 1 machine.
Administratie en deployment server, alsook een replica van de database op de ander.
Aan te raden is om dit op Linux te doen want de versie voor Windows komt als 1 installatiepakket.
Hoe installeren?
Er is zeer bruikbare documentatie te vinden op de site van OCS Inventory NG.
Goede wiki met howto's en tools.
Voor een aantal Linux distro's zijn er binary packages beschikbaar, deze kan je dus met je vertrouwde package manager installeren.Apt-get / Aptitude
Yum / RPM
Hoe installeren?
Hou wel rekening met de dependencies
Een uitgebreide lijst met benodigde modules en software kan je wederom vinden op de site.
Er zijn o.a. een aantal perl en php modules nodig.
Installatie
De nieuwste versie is steeds beschikbaar op de website.Deze kan je na het downloaden installeren door het setup.sh script uit te voeren. (denk vooraf aan de vereiste paketten)
Initiele configuratie
Configuratie en aanmaken van de database:http:///ocsreports/install.php(root wachtwoord voor mysql nodig)Een mysql user ocs moet aangemaakt worden.Tijdens de configuratie
Eventueel rechtstreeks in mysql. (phpmyadmin)
Deze wordt gebruikt door administratie- en communicatieserver.
Eindelijk
Als het systeem geinstalleerd is kan je aanloggen met de admin user. (std ww admin)http:///ocsreports
Om af te sluiten kan je een TAG invoeren, bij de installatie van de agent op de clients wordt dan gevraagd een tag in te geven. Deze kan je later gebruiken om computers te sorteren.
configuratie
Loglevel
logging aan/uit/var/log/ocsinventory-NGProlog_freq
Inventory frequentie (agent)auto_duplicate_lvl
Criteria voor duplicatessession_validity_time
Sessie duur (niet 0)
configuratie
DEPLOY: aan indien u de agents via de server wil uitrollen.
DOWNLOAD: aanzetten om software te kunnen uitrollen.
Agents
Hoe werkt het:De agent contacteert de communication server en vraagt of er iets moet gebeuren.Niets
Inventory sturen
Network discovery
Software deployment
Linux Agents
Download de agent van de ocs site en installeer met het setup.sh script of gebruik je package manager. (apt-get install ocsinventory-agent)HTTP => inventory wordt naar de server gestuurd
LOCAL => er worden ocs-gecomprimeerde xml bestanden gemaakt die je manueel kan importeren via de management server.
Windows Agents
2 mogelijkheden:Als service (aanbevolen)
Standalone (vb bij offline pc's)
Installatie:ocsagent.exe voor standalone /local = geen cnx naar server
ocsagentsetup.exe voor service
ocslogon.exe installeert de agent vanaf de communication server of voert agent uit indien die al is geinstalleerd. (hernoem naar com server ip of dnsnaam)/INSTALL => installeer service versie
Geen switch => standalone versie
ocslogon.exe
Kan uitgevoerd worden doorLogin script
GPO
De standalone agent of een ingepakte versie van de service agent moeten beschikbaar zijn op de communication server.Je gebruikt ocspackager om een installatiepakketje te maken van de ocsagentsetup.exeHttps certificaat nodig
agentsetup.exe (best altijd de laatste versie)
Agent package creatie
OcsPackager.exe
Volg de wizardCommandline opties: /server:
/pnum:
/S (silent)
Local of domain admin
Upload naar de server
Agent ini file
De Agent contacteert de server om de zoveel uur.Dit wordt bijgehouden in service.ini.[OCS_SERVICE]
NoProxy=1
Server=my-ocs-server.domain.tld
Pnum=80
Miscellaneous=/DEBUG /NP /server: my-ocs-server.domain.tld /pnum:80
PROLOG_FREQ=10
OLD_PROLOG_FREQ=10
TTO_WAIT=1505
Agent force contact
Als je op de client ben kan je die forceren om de server te contacteren. Stop de ocs inventory service
Ga naar C:\Program Files\OCS Inventory Agent\
Open service.ini
TTO_WAIT=1
Sluit bestand en start de service
Agent LOG
Network Discovery
Sommige agents scannen het netwerk en geven deze info door aan de management server.
Enkel lan/subnet wordt gescand
Routers, printers en andere client-less devices worden gevonden.
IPDISCOVERY in de client/agent log:
PACKAGE DEPLOYMENT
Software uitrollen?
Gebruik steeds de service agent!
Standalone geeft problemen
Download pakket duurt heel lang
DEPLOYMENT
4 eigenschappen:
Prioriteit => 0 10 (prio 0 wordt eerst uitgevoerd)
Actie
Actie optioneel: zip/tar.gz bestand uitrollen
Actie optioneel: commando uitvoeren
ACTIE
Volgende acties zijn mogelijk:
Launch = bestand overzetten, uitpakken op de client in tmp directory + uitvoeren bestand uit het pakket.
Execute = eventueel bestand overzetten en commando uitvoeren dat wel of niet in het pakket zat, je kan iets uitvoeren wat al eerder op de client werd geinstalleerd.
Store = gecomprimeerd bestand overzetten en uitpakken.
Alle bestanden/folders moeten gecomprimeerd worden aangeboden.
Hoe?
Je maakt de package aan in de admin console.Het bestaat uit volgende onderdelen (automatisch proces)
DB REFERENTIE: de comm server vraagt de agent iets te downloaden
XML INFO FILE: beschrijft de actie die de agent moet uitvoeren
PAKKETJES: het bestand werd opgedeeld in kleine pakketjes om downloaden door de agent te vergemakkelijken.
SSL
Belangrijk om weten bij het uitrollen van software:
De info bestanden moeten op een ssl beveiligde webserver staan. (Wie deze bestanden heeft kan immers eender wat uitvoeren op de clients)
Serverkant: server.crt & server.keyClient side: cacert.pem
Download folder
De Packages die je gaat maken via de console worden opgeslagen waar de clients ze kunnen afhalen, default /var/www/download/
In de config van apache is dit een alias naar /var/lib/ocsinventory-reports/download/
Activatie
De gemaakte pakketjes moet je eerst activeren voor je ze kan gebruiken.
Default staan de files op de administration server.
Verplaats de bestanden naar een andere server die je als deployment server wil gebruiken. (rsync, ...)
Multi-site deployment
Het is mogelijk om per geografische site een locale server te hebben die de pakketjes bijhoudt Terwijl er slechts 1 communication server de INFO bestandjes centraliseert.
AFFECT
Als het software-pakket klaar is kan je het uitrollen naar clients in het netwerk.
Dit heet AFFECT in ocs inventory.Affect per client
ofMassaal uitrollen
MASS DEPLOYMENT
In plaats van een computer te selecteren en daarop de package te affecteren kan je dit ook met een reeks clients.
Lijst de gezochte computers op.
Ga naar mass processing
Klik deploy
groepen
Je kan groepen aanmaken om de clients per categorie te ordenen.Op deze groepen kan je dan een config toepassen of een pakket uitrollen.
Hoe maak ik een static group?
Hoe maak ik een static group?
Dynamische groepen
Als je een groep wil waarin steeds alle computers zitten die aan bepaalde criteria voldoen. (bv alle pc's met explorer) doe je hetzelfde als voor een statische groep maar je vult een ander veld in:
Troubleshooting
Logfiles bevatten veel info:client/agent
server
Apache
Forum
Database backup
Backup je database regelmatig
Bv: mysqldump ocsweb > / /var/backup/ocsweb.dump
Mysql heeft ook een replicatie functie.
Grote Omgevingen
Meerdere OCS management servers. (vb)
Per lan/geografische omgeving een management server.
Geen deployment over de wan.
Wel een master server met alle inventarissen.
Mysql heeft een database replicatie-functie. (fail-save)
Master inventory server
Vanaf OCS 1.0.2 is dit makkelijk.Instellen via web interface config (inventory files tab)
Rechtstreeks in /etc/apache2/conf.d/z-ocsinventory-server.conf
De apache-user (www-data) moet de ocs-bestanden kunnen wegschrijven in de opgegeven directory.
Instellingen master server in ocsinventory-injector.pl (meegeleverd met de tarbal)
Cronjob: ocsinventory-injector.pl => naar de master server.
GLPI
Gestionnaire Libre de Parc Informatiquehttp://www.glpi-project.org/wiki/doku.php?id=en:welcome
GLPI prereq.
GLPI installeer je in de root directory van apache: /var/www/glpi
De database moet je zelf aanmaken in mysql:
GLPI
Beheer van hardware en software
Ingebouwd ticket systeem
Automatische invoer vanuit OCS
AD & LDAP links voor authenticatie
...
GLPI OCS
Link GLPI aan de OCS
SUPPORT
WEBSITE: http://ocsinventory-ng.org/
WIKIFORUMDOCU
Bij ons: www.ba.besupport@ba.be
Muokkaa otsikon tekstimuotoa napsauttamalla
Muokkaa jsennyksen tekstimuotoa napsauttamallaToinen jsennystasoKolmas jsennystasoNeljs jsennystasoViides jsennystasoKuudes jsennystasoSeitsems jsennystasoKahdeksas jsennystasoYhdekss jsennystaso
IPDISCOVER: function required by HTTP server...IPDISCOVER: Scanning to detect IP enabled hosts for the given network number: 192.168.250.0 with 100 ms between each requestIPDISCOVER: Computer found: IP:192.168.250.1 MAC:00:50:56:C0:00:08 NAME:192.168.250.1IPDISCOVER: Computer found: IP:192.168.250.2 MAC:00:50:56:E8:5B:10 NAME:192.168.250.2IPDISCOVER: Computer found: IP:192.168.250.128 MAC:00:0C:29:79:85:12 NAME:192.168.250.128IPDISCOVER: Computer found: IP:192.168.250.129 MAC:00:0C:29:5B:1E:45 NAME:192.168.250.129IPDISCOVER: Computer found: IP:192.168.250.130 MAC:00:0C:29:34:B6:FA NAME:aapekraam.altea-belgium.localIPDISCOVER: Computer found: IP:192.168.250.254 MAC:00:50:56:E1:E2:00 NAME:192.168.250.254IPDISCOVER: waited 660 mseconds for the threads to dieIPDISCOVER: NETWORK scan finished, 6 hosts found, 255 scanned
WMI Connect: Trying to connect to WMI namespace root\cimv2 on device ...OK.Registry Connect: Trying to connect to HKEY_LOCAL_MACHINE on device ...OK.CHECKINGS: read and in ocsinventory.datIpHlpAPI GetNetworkAdapters...IpHlpAPI GetNetworkAdapters: Calling GetIfTable to determine network adapter properties...OKIpHlpAPI GetNetworkAdapters: Calling GetAdapterInfo to determine IP Infos...OKIpHlpAPI GetNetworkAdapters: OK (4 objects).CHECKINGS: write and in ocsinventory.datHTTP SERVER: Creating CInternetSession to get inventory parameters...OK.HTTP SERVER: Getting HTTP Connection to server 192.168.250.128 port 80 using no authentication...OK.HTTP SERVER: Sending prolog query...HTTP status 200 OKOK.HTTP SERVER: Receiving prolog response...OK.DOWNLOAD: Working directory already existsDOWNLOAD: Package history file cleaning not requiredDOWNLOAD: Info file for package 1257935425 is located at : 192.168.250.128:443/downloadDOWNLOAD: SSL Connection opened...OK (pack 1257935425)DOWNLOAD: Retrieve info file...OK (pack 1257935425)DOWNLOAD: SSL Connection closed...OK (pack 1257935425)PROLOG FREQ was set to 1HTTP SERVER: Inventory requested by serverHTTP SERVER: Closing HTTP connectionRetrieving Device informations...getUserName: Trying to get logged on User ID...getUserName: Will using Process32...OKUser found (explorer): baIT.Registry NT GetLastLoggerUser: Trying to get the last user who'd been logged in...OK (bait).WMI GetOS: Trying to find Win32_OperatingSystem WMI objects...OK (Microsoft Windows XP Professional 5.1.2600 Service Pack 3 1 ).WMI GetDomainOrWorkgroup: Trying to find Win32_ComputerSystem WMI objects...OK (altea-belgium.local)Registry NT GetDomainOrWorkgroup...OK (ALTEA-BELGIUM).WMI GetBiosInfo: Trying to find Win32_ComputerSystem WMI objects...OK (VMware, Inc. VMware Virtual Platform)WMI GetBiosInfo: Trying to find Win32_SystemEnclosure WMI objects...OK (VMware, Inc. VMware Virtual Platform None 1)WMI GetBiosInfo: Trying to find Win32_Bios WMI objects...OK (Phoenix Technologies LTD N/A VMware-56 4d 74 ec b3 69 e3 a9-58 52 f8 1e 6f 34 b6 e6)WMI GetProcessors: Trying to find Win32_Processor WMI objects...Intel(R) Pentium(R) Dual CPU T3200 @ 2.00GHz 1999 (x86 Family 6 Model 15 Stepping 13). OKWMI GetProcessors: 1 processor(s) found.getMemory...Physical: 335659008 bytes, Swap: 712368128 bytes. OKWMI GetMemorySlots: Trying to find Win32_PhysicalMemory WMI objects...OK (2 objects)WMI GetMemorySlots: Trying to find Win32_PhysicalMemoryArray WMI objects...OK (4 objects updated)WMI GetInputDevices: Trying to find Win32_Keyboard WMI objects...OK (1 objects)WMI GetInputDevices: Trying to find Win32_PointingDevice WMI objects...OK (3 objects)WMI GetInputDevices: OKWMI GetSystemPorts: Trying to find Win32_SerialPort WMI objects...OK (2 objects)WMI GetSystemPorts: Trying to find Win32_ParallelPort WMI objects...OK (1 objects)WMI GetSystemPorts: OKWMI GetSystemSlots: Trying to find Win32_SystemSlot WMI objects...OK (7 objects)WMI GetSystemControllers: Trying to find Win32_FloppyController WMI objects...OK (1 objects)WMI GetSystemControllers: Trying to find Win32_IDEController WMI objects...OK (3 objects)WMI GetSystemControllers: Trying to find Win32_SCSIController WMI objects...Failed because no Win32_SCSIController object !WMI GetSystemControllers: Trying to find Win32_InfraredDevice WMI objects...Failed because no Win32_InfraredDevice object !WMI GetSystemControllers: Trying to find Win32_USBController WMI objects...OK (2 objects)WMI GetSystemControllers: Trying to find Win32_1394Controller WMI objects...Failed because no Win32_1394Controller object !WMI GetSystemControllers: Trying to find Win32_PCMCIAController WMI objects...Failed because no Win32_PCMCIAController object !WMI GetSystemControllers: OKWMI GetStoragePeripherals: Trying to find Win32_FloppyDrive WMI objects...OK (1 objects)WMI GetStoragePeripherals: Trying to find Win32_DiskDrive WMI objects...OK (1 objects)WMI GetStoragePeripherals: Trying to find Win32_CDROMDrive WMI objects...OK (1 objects)WMI GetStoragePeripherals: Trying to find Win32_TapeDrive WMI objects...Failed because no Win32_TapeDrive object !WMI GetStoragePeripherals: OKWMI GetSoundDevices: Trying to find Win32_SoundDevice WMI objects...Failed because no Win32_SoundDevice object !Registry NT GetSoundDevices...Registry NT GetSoundDevices: OK (0 objects).WMI GetModems: Trying to find Win32_POTSModem WMI objects...Failed because no Win32_POTSModem object !Registry NT GetModems...Registry NT GetModems: Failed in call to function to find subkey of HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}.IpHlpAPI GetNetworkAdapters...IpHlpAPI GetNetworkAdapters: Calling GetIfTable to determine network adapter properties...OKIpHlpAPI GetNetworkAdapters: Calling GetAdapterInfo to determine IP Infos...OKIpHlpAPI GetNetworkAdapters: OK (4 objects).WMI GetPrinters: Trying to find Win32_Printer WMI objects...OK (3 objects)WMI GetVideoAdapters: Trying to find Win32_VideoController WMI objects...OK (1 objects)SetupAPI Connect: Trying to connect to SetupAPI on device ...OK.SetupAPI: Enumerating DISPLAY devices...SetupAPI: SetupDiGetClassDevs DISPLAY failed with error 13.SetupAPI: Enumerates DISPLAY devices finished (0 objects)...SetupAPI: Enumerating MONITOR devices...SetupAPI: SetupDiGetClassDevs MONITOR failed with error 13.SetupAPI: Enumerates MONITOR devices finished (0 objects)...SetupAPI Disconnect: Disconnected from SetupAPI.WMI GetMonitors: Trying to find Win32_DesktopMonitor WMI objects...OK (1 objects)WSA GetIPAddress...OK (192.168.250.130)WMI GetWindowsRegistration: Trying to find Win32_OperatingSystem WMI objects...OK (ba ba 76487-641-0829054-23400).Registry GetWindowsProductKey...OK (MFHXB-4T8QJ-PCCJ6-MMVFB-4BTT3).Registry NT GetRegistryApplications READING hive HKLM ... Registry NT GetRegistryApplications: OK (132 objects).Creating CXMLInteract object...OKTrying to open database on folder with XML...OK.Scanning Device's Logical Drive(s) for informations and softwares...Getting Logical Drive properties...OKGetting Logical Drive properties...OKGetting Logical Drive properties...OKReading last inventory state file...XML Read last inventory state from file ...OKIPDISCOVER: function required by HTTP server...IPDISCOVER: Scanning to detect IP enabled hosts for the given network number: 192.168.250.0 with 100 ms between each requestIPDISCOVER: Computer found: IP:192.168.250.1 MAC:00:50:56:C0:00:08 NAME:192.168.250.1IPDISCOVER: Computer found: IP:192.168.250.2 MAC:00:50:56:E8:5B:10 NAME:192.168.250.2IPDISCOVER: Computer found: IP:192.168.250.128 MAC:00:0C:29:79:85:12 NAME:192.168.250.128IPDISCOVER: Computer found: IP:192.168.250.129 MAC:00:0C:29:5B:1E:45 NAME:192.168.250.129IPDISCOVER: Computer found: IP:192.168.250.130 MAC:00:0C:29:34:B6:FA NAME:aapekraam.altea-belgium.localIPDISCOVER: Computer found: IP:192.168.250.254 MAC:00:50:56:E1:E2:00 NAME:192.168.250.254IPDISCOVER: waited 660 mseconds for the threads to dieIPDISCOVER: NETWORK scan finished, 6 hosts found, 255 scannedChecking last inventory state...No change since last inventory.XML Update Device properties...XML Update Memory Slots: OK (4 objects).MEM: Set to 320 (instead of 320)XML Update Logical Drives...XML Update Logical Drives: OK (3 objects).XML Update Input Devices...XML Update Input Devices: OK (4 objects).XML Update Modems: OK (0 objects).XML Update Monitors: OK. (1 objects).XML Update Network Adapters: OK (4 objects).XML Update System Ports: OK (3 objects).XML Update Printers...XML Update Printers: OK (3 objects).XML Update Registry Values...XML Update Registry Values: OK (0 objects).XML Update Softwares...XML Update Softwares: OK (133 objects).XML Update Sound Devices...XML Update Sound Devices: OK (0 objects).XML Update Storage Peripherals...XML Update Storage Peripherals: OK (3 objects).XML Update System Controllers...XML Update System Controllers: OK (6 objects).XML Update System Slots...XML Update System Slots: OK (7 objects).XML Update Video Adapters...XML Update Video Adapters: OK (1 objects).XML Update Device properties: OK.WMI Disconnect: Disconnected from WMI namespace.HTTP SERVER: Creating CInternetSession to send inventory results...OK.HTTP SERVER: Getting HTTP Connection to server 192.168.250.128 port 80 using no authentication...OKHTTP SERVER: INV : SEND received, sending inventory...HTTP status 200 OKOK.HTTP SERVER: INV : no account info updateHTTP SERVER: Closing HTTP connection....OK.Writing last inventory state file...XML Write new inventory state to file ...OKExecution duration: 00:00:40.
Recommended