Building a Comprehensive CMDB with System Center Service Manager Marcel Zehner @marcelzehner http://marcelzehner.ch Travis Wright @radtravis travis.wright@cireson.com MMS Minnesota 2014
Introducing Travis Travis Wright, United States Partner, Director of Product Management @ Cireson Cloud & Datacenter Management MVP 11 year Principal Program Manager on System Center MMS Minnesota 2014
Introducing Marcel Marcel Zehner, Switzerland Cloud & Datacenter Management Lead, itnetx Cloud & Datacenter MVP Focus on Service Management Provisioning Management Monitoring Billing Head of System Center Universe Europe MMS Minnesota 2014
What You Can Expect If You Stay Here What we will NOT cover System Center Service Manager product overview ITIL and processes What we WILL cover How the Service Manager CMDB works Techniques to build a custom, dynamic CMDB MMS Minnesota 2014
Introduction to CMDB MMS Minnesota 2014
Purpose/Value of a CMDB Unified Database What do you have? What are the inconsistencies? Manage Configuration What’s right/wrong? What needs to change? Relate to Work Items What is broken? What is being changed? What is involved in a release? Process MMS Minnesota 2014
Populate the CMDB to Create Unified DB Out of Box Connectors Operations Manager Configuration Manager Active Directory Custom Sources Custom Connectors CSV Import Manual Data Import 3rd Party Tools MMS Minnesota 2014
Extending the CMDB MMS Minnesota 2014
Extending the Model: Management Packs Management Packs are used to extend Service Manager with new content and behavior capture customizations Management Packs are self-contained and transportable Microsoft/Partners -> Customers Pre-production -> Production Management Pack schema and data model is shared between SM & OM MMS Minnesota 2014
Management Pack Content .mp file (XML) Resources Templates MP Templates Object Templates Presentation Form Types Forms* View Types* Views Images UI Pages* Folders Console Tasks* Web Pages* Data Warehouse Facts Dimensions Outriggers Warehouse Modules Measures Connectors* Language Packs Manifest Identity MP References Type Definitions Classes Relationships Lists Type Projections Categories Groups/Queues Monitoring Module Types* Rules/Workflows Monitors Diagnostics Recoveries Tasks* Reports* Linked Reports Overrides Form Assemblies Workflow Assemblies Web Parts Reports View Assemblies UI Page Assemblies Module Assemblies Connector Assemblies * = referenced resources
Modeling Using Classes Class: The definition of an object type stored in the CMDB, including a description, the properties and default values stored for that object type. E.g. “Computer”, “User”. Classes are defined in an inheritance hierarchy with optional relationships: System.Entity Configuration Item Computer User Operating System Work Item Incident Extension Projection MMS Minnesota 2014
Modeling Using Lists New classes can be defined by inheriting from the core model. For example, we can define a new “Projector” class for the overhead projector objects : List – An enumeration of values (optionally hierarchical) used to constrain value choices for a given class property. Example : a List used in the “Condition” projector property: ProjectorCondition {New, Working, Broken, Being repaired} Lists can be further customized : Change value names and add/remove values in existing lists Add new lists for custom properties Configuration Item Computer User Operating System Projector Projector Serial Number (key) Make Model Location Condition (ProjectorCondition List) MMS Minnesota 2014
Packaging Best Practices Sealed MPs MPs holding type definitions should be sealed Allows references from other MPs Contents cannot be changed in the SCSM console Unsealed MPs Easy changes and extensions possible Used for templates, list values etc. MMS Minnesota 2014
CMDB Data Model Relationships Relationship between 2 classes Source class Target class Different types of relationships Reference Hosting Containment Relationships can have additional properties MMS Minnesota 2014
DEMO: Extending the Data Model Visio of Out of Box Data Model Authoring Tool Visual Studio Authoring Extensions (VSAE) MMS Minnesota 2014
Custom Forms MMS Minnesota 2014
CMDB Forms Used to display information about objects Generic forms Loaded when a CMDB object is edited Microsoft delivers forms for the most important classes Users, Computers, Business Services etc. Generic forms Used for classes with no assigned forms Cannot display all information, e.g. Specific relationships are not visible OK for some classes but useless for other classes MMS Minnesota 2014
Forms A form is targeted to a class or projection Form fields are bound to target class or projection properties Forms can be further customized using graphical form designer : Adjust look and feel of existing forms – change layout, labels, fonts etc. Add/remove fields on forms to customize information displayed Add new forms for new object types in the system, new custom controls Projector MMS Minnesota 2014
CMDB Forms Extend existing forms Create new forms Add additional controls to the form Can be done with the SCSM Authoring Tool Generates much «code» in the MP Tidy up the XML afterwards! Create new forms SCSM Authoring Tool, very basic with limited controls available Visual Studio allows to build more complex forms All SCSM controls available and usable, also custom controls Complex logics with code behind MMS Minnesota 2014
Demo: CMDB Forms Extend/customize existing forms using the SCSM authoring tool Create forms using Visual Studio MMS Minnesota 2014
Configuration Management MMS Minnesota 2014
Manage Data in the CMDB Some data is exclusively managed in the CMDB Lives nowhere else Create, update, delete etc. Some data is imported into the CMDB Surrounding Management Systems Databases Excel sheets Etc. MMS Minnesota 2014
Manage Data in the CMDB Questions to ask when connecting the CMDB with other systems One-time import? Inbound-sync from surrounding system? Outbound-sync to surrounding system? 2-way-sync with surrounding system? MMS Minnesota 2014
Pump Data into the CMDB One-time imports Import the data using CSV or Powershell Once in the CMDB, destroy the data source MMS Minnesota 2014
Pump Data into the CMDB SCSM OOB connectors available Active Directory SCCM, SCVMM, SCORCH, SCOM CI, SCOM Alerts Exchange (separate download) Be careful when using connectors! In the CMDB, every object has one or multiple sources If imported by a connector, the source is the connector Objects with no source are removed from the database If you delete a connector your objects will go bye bye ... ... unless there is no other source (like another connector) MMS Minnesota 2014
Pump Data into the CMDB Go beyond OOB connectors Use SMA runbooks and Powershell scripts Read data from other systems Compare to data already stored in the CMDB Create and/or update data in the CMDB Develop a real connector MMS Minnesota 2014
Demo: Pump Data into the CMDB Default connectors SMA-based connector (runbooks) MMS Minnesota 2014
Reporting MMS Minnesota 2014
CMDB Reporting SCSM deliveres an optional DWH Connect 1 or multiple SCSM environments Can also be used to attach other data source Used for long-term archiving Data from the CMDB might get groomed ETL jobs transforms and loads data into the DWH Intervals can be configured Reports are «only» near-realtime Report-optimized data model MMS Minnesota 2014
Reports from the DWH Classic approach SSRS reports delivered OOB OLAP cubes delivered OOB Based on SSAS Calculated daily from the DWH DataMart For a customized CMDB data model ... Create dimensions, facts etc. to bring data to the DWH MMS Minnesota 2014
Reports from the DWH Demo Create reports with SSRS Create dimensions and facts to bring additional data to the DWH Reporting using OLAP data cubes in Excel MMS Minnesota 2014
Reports from the CMDB DWH downsides Not very stable MP mismatch possible if handling is not done correct Data is not in real-time (1 hour+ old) Alternative is to create reports directly from CMDB data Data is not stored in a reporting-friendly way Has negative impact on application performance You need a good understanding of the data model and some SQL query skills MMS Minnesota 2014
Reports from the CMDB Approach Access the data Use a CMDB copy or a passive AlwaysOn-Cluster database copy Transfer CMDB data to an Analysis Services tabular model Use Excel as your Authoring Tool PowerView, PowerPivot etc. Create a nice and shiny report If needed, use PowerBI or SharePoint BI for visualization MMS Minnesota 2014
Reports from the CMDB Demo Create a SQL query to get data from the CMDB Access the data and reate a report with Excel MMS Minnesota 2014
Q & A MMS Minnesota 2014
Building a Comprehensive CMDB with System Center Service Manager Marcel Zehner Travis Wright