18
L C A 2 0 1 4 A Continuously Updated CMDB using The Assimilation Project #AssimProj @OSSAlanR http://assimproj.org/ http://bit.ly/LCA2014-SysAdmin Alan Robertson <[email protected]> Assimilation Systems Limited http://assimilationsystems.com

A Continuously Updated CMDB using L The Assimilation ... › 2014 › lca2014-alan... · linux.conf.au 06 January 2014 LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Continuously Updated CMDB using L The Assimilation ... › 2014 › lca2014-alan... · linux.conf.au 06 January 2014 LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited

LCA

2014

A Continuously Updated CMDBusing

The Assimilation Project

#AssimProj @OSSAlanR

http://assimproj.org/http://bit.ly/LCA2014-SysAdmin

Alan Robertson <[email protected]>Assimilation Systems Limited

http://assimilationsystems.com

Page 2: A Continuously Updated CMDB using L The Assimilation ... › 2014 › lca2014-alan... · linux.conf.au 06 January 2014 LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited

linux.conf.au06 January

2014

LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited 2/18

LCA

2014

Assimilation Project Scope

Zero-network-footprint continuous Discovery

Integrated with extreme-scale Monitoring

=> Discovery creates a graph-based CMDB

Page 3: A Continuously Updated CMDB using L The Assimilation ... › 2014 › lca2014-alan... · linux.conf.au 06 January 2014 LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited

linux.conf.au06 January

2014

LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited 3/18

LCA

2014

Using a CMDB forRisk Management/Mitigation

● Intrusions● Licensed Software● Audit Risk● System modeling● Outages

Page 4: A Continuously Updated CMDB using L The Assimilation ... › 2014 › lca2014-alan... · linux.conf.au 06 January 2014 LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited

linux.conf.au06 January

2014

LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited 4/18

LCA

2014

Why a Configuration Management Database

(CMDB)?

● Documentation: incomplete, incorrect● Dependencies: unknown● Planning: Needs accurate data● Best Practices: Verification needs

data● Compliance● Our Discovery: continuous, low-profile

Page 5: A Continuously Updated CMDB using L The Assimilation ... › 2014 › lca2014-alan... · linux.conf.au 06 January 2014 LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited

linux.conf.au06 January

2014

LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited 5/18

LCA

2014

Discovery Features

● Continuous Discovery

● Zero network footprint

● Discover dependency information

● Discovery drives monitoring

● Easily extensible

● Configuration-free setup (!)

Page 6: A Continuously Updated CMDB using L The Assimilation ... › 2014 › lca2014-alan... · linux.conf.au 06 January 2014 LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited

linux.conf.au06 January

2014

LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited 6/18

LCA

2014

What do we discover?

● IP and MAC addresses (servers, etc)

● Services and service details

● Switches, switch connections and settings

● Installed services

● OS configuration

● Whatever you want ;-)

Page 7: A Continuously Updated CMDB using L The Assimilation ... › 2014 › lca2014-alan... · linux.conf.au 06 January 2014 LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited

linux.conf.au06 January

2014

LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited 7/18

LCA

2014

Architectural Elements

● Collective Management Authority (CMA) – one per installation

● Nanoprobes (agents) – one per system

Page 8: A Continuously Updated CMDB using L The Assimilation ... › 2014 › lca2014-alan... · linux.conf.au 06 January 2014 LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited

linux.conf.au06 January

2014

LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited 8/18

LCA

2014

How does discovery work?

Nanoprobe scripts perform discovery● Each discovers one kind of information● Can take arguments from environment● Output JSON

CMA stores Discovery Information● JSON stored in Neo4j database● CMA discovery plugins => graph nodes and

relationships

Page 9: A Continuously Updated CMDB using L The Assimilation ... › 2014 › lca2014-alan... · linux.conf.au 06 January 2014 LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited

linux.conf.au06 January

2014

LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited 9/18

LCA

2014

OS discovery JSON Snippet

{ "nodename": "alanr-1225B", "operating-system": "GNU/Linux", "machine": "x86_64", "processor": "x86_64", "hardware-platform": "x86_64", "kernel-name": "Linux", "kernel-release": "3.8.0-31-generic", "kernel-version": "#46-Ubuntu SMP ...", "Distributor ID": "Ubuntu", "Description": "Ubuntu 13.04", "Release": "13.04", "Codename": "raring"}

Page 10: A Continuously Updated CMDB using L The Assimilation ... › 2014 › lca2014-alan... · linux.conf.au 06 January 2014 LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited

linux.conf.au06 January

2014

LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited 10/18

LCA

2014

ssh -> sshd dependency graph

Page 11: A Continuously Updated CMDB using L The Assimilation ... › 2014 › lca2014-alan... · linux.conf.au 06 January 2014 LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited

linux.conf.au06 January

2014

LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited 11/18

LCA

2014

Switch Discovery Datafrom LLDP (or CDP)

CRM transforms LLDP (CDP) Data to JSON

Page 12: A Continuously Updated CMDB using L The Assimilation ... › 2014 › lca2014-alan... · linux.conf.au 06 January 2014 LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited

linux.conf.au06 January

2014

LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited 12/18

LCA

2014

Current Status

● First release April 2013● Great unit tests● Nanoprobe code works well● Several discovery methods written● Discovery => Automatic Monitoring (WOOT!)● UI development underway● Licensed under GPL: commercial options

available

Page 13: A Continuously Updated CMDB using L The Assimilation ... › 2014 › lca2014-alan... · linux.conf.au 06 January 2014 LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited

linux.conf.au06 January

2014

LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited 13/18

LCA

2014

Get Involved!We need every talent!● Early adopters (SysAdmins(!))● Testers● Designers● Developers (C,Python, Shell, PowerShell, JavaScript)

● Porters (esp Windows)● Promoters, publicists● Packagers● And so on...

Page 14: A Continuously Updated CMDB using L The Assimilation ... › 2014 › lca2014-alan... · linux.conf.au 06 January 2014 LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited

linux.conf.au06 January

2014

LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited 14/18

LCA

2014

Resistance Is Futile!Mailing List bit.ly/AssimML

#AssimProj @OSSAlanR

Project Web Site assimproj.org

Blogtechthoughts.typepad.com

assimilationsystems.com

Page 15: A Continuously Updated CMDB using L The Assimilation ... › 2014 › lca2014-alan... · linux.conf.au 06 January 2014 LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited

linux.conf.au06 January

2014

LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited 15/18

LCA

2014

Why a graph database? (Neo4j)

● Humans describe systems as graphs● Dependency & Discovery information: graph● Speed of graph traversals depends on size

of subgraph, not total graph size● Root cause queries graph traversals –

notoriously slow in relational databases● Visualization is Natural● Schema-less design: good for constantly

changing heterogeneous environment● Graph Model === Object Model

Page 16: A Continuously Updated CMDB using L The Assimilation ... › 2014 › lca2014-alan... · linux.conf.au 06 January 2014 LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited

linux.conf.au06 January

2014

LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited 16/18

LCA

2014

ssh Client JSON Snippet(from netstat and /proc)

"ssh": { "exe": "/usr/sbin/ssh", "cmdline": [ "ssh", "servidor" ], "uid": "alanr", "gid": "alanr", "cwd": "/home/alanr/monitor/src", "clientaddrs": { "10.10.10.5:22": { "proto": "tcp", "addr": "10.10.10.5", "port": 22 }, and so on...

Page 17: A Continuously Updated CMDB using L The Assimilation ... › 2014 › lca2014-alan... · linux.conf.au 06 January 2014 LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited

linux.conf.au06 January

2014

LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited 17/18

LCA

2014

sshd Service JSON Snippet(from netstat and /proc)

"sshd": { "exe": "/usr/sbin/sshd", "cmdline": [ "/usr/sbin/sshd", "-D" ], "uid": "root", "gid": "root", "cwd": "/", "listenaddrs": { "0.0.0.0:22": { "proto": "tcp", "addr": "0.0.0.0", "port": 22 }, and so on...

Page 18: A Continuously Updated CMDB using L The Assimilation ... › 2014 › lca2014-alan... · linux.conf.au 06 January 2014 LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited

linux.conf.au06 January

2014

LCA SysAdmin Miniconf --- © 2014 Assimilation Systems Limited 18/18

LCA

2014

A multi-dimensional demo

● Demonstrate basic capabilities– Discovery

– Automatic monitoring configuration

– Monitoring – failures / successes

● No configuration was supplied– everything comes from discovery