cartographer or building a next generation management framework
DESCRIPTION
Cartographer or Building a Next Generation Management Framework. Bobby Krupczak Chief Scientist Krupczak.org, LLC [email protected] http://www.krupczak.org/cartographer. Overview. Background Overview of network mgmt today Cartographer Yet another management framework - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/1.jpg)
Cartographer orBuilding a Next Generation
Management Framework
Bobby KrupczakChief Scientist
Krupczak.org, [email protected]
http://www.krupczak.org/cartographer
![Page 2: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/2.jpg)
Overview Background Overview of network mgmt today Cartographer Yet another management framework Software technology Demo
![Page 3: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/3.jpg)
Who Am I? BS CISE from UF 1989 Worked in industry on SNMP MS CS GaTech 1993 Co-founder of Empire Technologies PhD CS GaTech 1997 Sold Empire to Concord 1999 Krupczak.org 2003
![Page 4: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/4.jpg)
Management Model Mgmt info is virtual representation Managers, agents exchange mgmt info Mgmt is therefore:
Inspection of Alteration of Creation of Deletion of mgmt info
![Page 5: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/5.jpg)
First-Generation Dumb, lightweight (hopefully) agents Heavyweight, complex, smart managers Traditional command-control Scaling becomes issue Analogous to CEO managing entire enterprise
![Page 6: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/6.jpg)
2nd-Generation Push intelligence outwards towards agent Empire/SystemEDGE, RMON Increase scaling, reduce reaction time Some delegation, middle-managers, remote pollers Exception-management, event
de-duplication, root-cause
![Page 7: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/7.jpg)
2nd-Generation (continued) Agents still work in isolation (stovepipes) Distribution overhead and agent administrative
footprint still non-trivial SNMPv1, v2c, v3 now deployed Agent backlash? CEO now has bank VPs but still manage/controls the
enterprise
![Page 8: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/8.jpg)
Cartographer Discover, track relationships between components in
distributed system Dependencies between network, system, applications Include network services as well as higher-layer
abstractions Agent based Topography not topology Others have examined this approach though mostly in
academic research papers
![Page 9: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/9.jpg)
Cartographer (II) Model relationships using dependency graph borrowed
from graph theory branch of mathematics Systems represented as vertexes Dependencies represented as edges Directed graphs System is server if it provides service to some client System is client if it consumes service
![Page 10: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/10.jpg)
Example Dependency Graph
![Page 11: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/11.jpg)
What Do We Do With Data? Discover, analyze dependencies Diagnose and troubleshoot faults Security spinoff Monitor, test, & compare service experiences Work bottom-up
![Page 12: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/12.jpg)
But I Already Know My Network You may be surprised what you find Distributed systems are highly dynamic, not static Automating management necessitates capturing this
info and encoding it
![Page 13: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/13.jpg)
What Do We Do? Discover/Analyze Discover dependencies via:
OS and app configuration /etc, .ini, and Windows registry System APIs
Dynamically via protocol endpoints IPv4 and IPv6
Classify into ~ 30 different types Inbound/outbound/transit Per-system, per-user, per-app
![Page 14: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/14.jpg)
What We Do? Discover/Analyze (II) Dependencies tell us what a machine is doing
Validate configuration and operation Discover misconfiguration
Seed automatic configuration for monitoring If DB server => automatically monitor components
![Page 15: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/15.jpg)
What Do We Do? Diagnose Who/what is impacted?
If key app dies => know who is impacted Determine root cause/impact
Given fault, which clients are affected? Given a client, what faults are affecting it? We know service A depends on X,Y,Z
If A fails, examine X, Y, Z
![Page 16: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/16.jpg)
What Do We Do? Security Spinoff Track dependencies and interactions longterm Develop model of typical behavior/role of system/app Deviations from baseline could indicate issues Social networking for computers
If my machine starts communicating with those in China . . . .
![Page 17: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/17.jpg)
What Do We Do? Compare Service Experience
Do you see what I see? Use dependency data to automatically test services
Global, centralized testing Per-system active testing Per-system passive monitoring
Detect localized hot-spots Pinpoint infrastructure problems
![Page 18: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/18.jpg)
What Is Next Generation About This? Started with observations about how human
corporations work CEO sets broad policies and goals Employees implement them, solve problems, run the show
Managers and agents become peers Further push intelligence and command/control downward
and outward P2P architecture utilized Every agent acts in dual role
![Page 19: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/19.jpg)
Peer-to-Peer Not based on polling and storing of data in central
repository Not to say this isn't important
Agents self-organize into p2p overlay networks Exchange information with peers Run distributed algorithms Self-propagate, self-update
![Page 20: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/20.jpg)
What Is A Peer? Systems are peers if they both utilize same service
from same server Many p2p overlays Increase scaling (unlimited?) Reduce reaction time Analyze more up-to-date info
![Page 21: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/21.jpg)
Example P2P Overlay
![Page 22: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/22.jpg)
New Management Framework? Why re-invent the wheel?
Could make existing IMF work given enough tape and glue SNMPvX still too cumbersome, inefficient Protocol limitations ASN.1/BER too brittle and prone to interoperability
problems WBEM/CIM too heavyweight, complex
Spend all day modeling, not managing Some existing work applying XML to IMF
![Page 23: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/23.jpg)
XML Management Protocol Framework in addition to just a protocol
SMI, protocol, MIBs Borrow from and extend the IMF as much as possible Utilize XML for:
Data modeling (SMI) Specification (MIBs) Transfer syntax (protocol)
Everything is text
![Page 24: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/24.jpg)
More XML ASN.1 could have been used? More XML tools, More widely adopted than ASN.1 XML schemas for structured document
Modeling Parsing Conversion Validating
Still need to test interoperability
![Page 25: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/25.jpg)
XMP SMI http://xmlns.krupczak.org/xsd/xmptypes-1.0.xsd
Start with SNMP SMI Enhance only where necessary
Do away with OIDs Tuple of MIB-name, object-name, key MIB-2 ifInOctets
From: 1.3.6.1.2.1.2.2.1.10.1
To: mib2.ifInOctets.if0
![Page 26: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/26.jpg)
XMP SMI (II) SMI type enhancements
Added several data types and promoted several textual conventions
Everything 64-bit min, although with XML, numbers can be larger w/o breaking 2/3 of framework
With BER, changing from 32-64 bit breaks SMIs, MIBs, software
Textual conventions specify additional semantics; overloading is poor engineering
Promote several to standard types
![Page 27: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/27.jpg)
XMP SMI (III) Added extendedBoolean type
True, False, Unknown Added unsupportedVariable so agent can answer
queries honestly and completely Avoid use of inheritance and poloymorphism
complexities (ala CIM) Scalar and tabular objects
![Page 28: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/28.jpg)
XMP SMI (IV) Tables are relations
Support relational table operations How to marry table permissions with object permissions?
Need a lot more work on MIB specification & schema
![Page 29: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/29.jpg)
XMP Protocol http://xmlns.krupczak.org/xsd/xmp-1.0.xsd
![Page 30: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/30.jpg)
XMP Protocol (II) Connection-oriented
Avoid much of intricacies of UDP-based protocols What intricacies?
More efficient for larger data xfers No need for MIB tricks No need for object ordering No built-in race conditions in large tables
Original rationale for SNMP/UDP valid then, not now?
![Page 31: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/31.jpg)
XMP Protocol (III) Entity initiates session Also closes session Stay connected as long as needed RPC like semantics
Request/response semantics Initiator makes requests
Is this a manager?
![Page 32: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/32.jpg)
XMP Protocol (IV) Message types borrowed from SNMP
GetRequest (scalars) Response (scalars, tables) SetRequest (scalars) Trap
First two objects are core.trapType and core.sysObjectID Information
![Page 33: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/33.jpg)
Example GetRequest
![Page 34: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/34.jpg)
Example Response
![Page 35: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/35.jpg)
XMP Table Operations SQL-like SelectTableRequest InsertTableRequest DeleteTableRequest UpdateTableRequest No overloading, no side-effects
![Page 36: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/36.jpg)
Example SelectTableRequest
![Page 37: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/37.jpg)
No GetNext/GetBulk No GetNext/GetBulk needed for table traversal GetNext yields very little information and no additional
semantics But how do I walk a MIB?
You don't In practice, walking only yields syntactic information
![Page 38: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/38.jpg)
Tables, Keys For scalars, no real instance identifier needed For tables, relation keys
Keys can be strings, numbers, variable-length No explicit notion of ordering
No need?
![Page 39: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/39.jpg)
XMP Encapsulation in SSL/TCP Utilize SSLv3/TLSv1 for privacy and authentication Cartographer utilizes its own CA to create/sign X509v3
certs Each entity embeds own CA Agent -> Agent requires two-way authentication Manager does not need to provide cert TCP/UDP 5270
![Page 40: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/40.jpg)
XMP MIBs Virtually compatible with SNMP SMI Implemented MIB-2 in XMP Can implement others
HostMIB, SysApplMIB How MIBs are specified still under development
XML schema Tables, objects, keys Borrow from relational DB theory and SQL
![Page 41: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/41.jpg)
XMP MIBs (II) MIB names must be unique within universe of XMP Within a MIB, object names must be unique Can utilize private-enterprise numbers to help with
uniqueness Krupczak.org is 16050
Core MIB contains agent-engine stats and config Cartographer MIB implemented
![Page 42: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/42.jpg)
But How Do I Make Money? License model:
Open source Closed source Dual-license
Traditional closed-source company Market for management software mature and consolidating Unlikely to gain much traction
Crippleware
![Page 43: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/43.jpg)
Example OSS Companies Example open-source companies:
Sendmail (OSS, add-on software and services) Snort (dual license?) Asterisk (dual license) OpenNMS (OSS, services) JBoss – sold for $400m to RedHat MySQL – sold for $1B to Sun
![Page 44: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/44.jpg)
An Island or Ecosystem? Tremendous investment in existing products &
frameworks Add XMP as new management protocol to existing
platforms OpenNMS MRTG ZenOSS?
Integration in research phase Others?
![Page 45: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/45.jpg)
Integration (continued) SNMP/XMP gateway?
Not under active consideration Very difficult computer science problem
Backport to SNMP, WBEM Not under active consideration More likely than gateway approach
![Page 46: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/46.jpg)
Technologies, Platforms, Engines Agent written entirely in C
No need to install interpreters, VMs, DLLs In past lifetime, having to install Java on all systems was large
barrier Goal is to run agent out of box Very small footprint
Footprint less than 3% is upper-bound Engine is 66k lines of C-code Plugins 9k to 16k lines of C-code
Ship with libs/DLLs if needed
![Page 47: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/47.jpg)
Platform support Solaris 9+ Sparc (64-bit) Solaris 9+ x86 Linux 2.4+ on x86 (32, 64-bit) Windows 2000/XP/2003/Vista/2008
Win32 and Win64 Agent uses as few libs as possible
Libxml Pthreads Openssl Iconv, zlib
![Page 48: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/48.jpg)
Big Picture
![Page 49: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/49.jpg)
Agent Pieces/Parts
![Page 50: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/50.jpg)
Licenses Agent engine, GPLv2 MIB-2 plugin, GPLv2 Example plugin, GPLv2 Cartographer plugin, closed source, shrinkwrap
software license Java GUI, closed source, shrinkwrap software license See release notes and install instructions
![Page 51: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/51.jpg)
Roadmap 1.0 released in November 2008
Framework Infrastructure
1.1 release in Spring/Summer 2009 Bug fixes, additional platforms MIB schema, SMI work More MIB data More intelligence A lot more work on events
![Page 52: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/52.jpg)
More Roadmap 2.0 TBD
Self-propagation (already do self-updating) Distributed decision making Root cause, impact Automatic testing/measurement More integration
![Page 53: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/53.jpg)
Demo – Cartographer Main
![Page 54: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/54.jpg)
Dependency View
![Page 55: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/55.jpg)
Dependency Query
![Page 56: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/56.jpg)
Dependency Query
![Page 57: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/57.jpg)
Dependency Query (Asterisk)
![Page 58: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/58.jpg)
Process Query
![Page 59: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/59.jpg)
Process Query
![Page 60: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/60.jpg)
Endpoint Query
![Page 61: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/61.jpg)
Endpoint View
![Page 62: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/62.jpg)
MRTG Integration
![Page 63: Cartographer or Building a Next Generation Management Framework](https://reader035.vdocuments.us/reader035/viewer/2022070404/56813b76550346895da4851b/html5/thumbnails/63.jpg)
ONMS Integration