71
www.icinga.org Icinga Director IcingaCamp San Diego – 10/18/16

Icinga Camp San Diego 2016 - Icinga Director

  • Upload
    icinga

  • View
    515

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Icinga Camp San Diego 2016 - Icinga Director

www.icinga.org

Icinga Director

IcingaCamp San Diego – 10/18/16

Page 2: Icinga Camp San Diego 2016 - Icinga Director

Thomas Gelf

Module prototyping machine

Icinga Lead Architect

Principal Consultant @netways

Based in Nuremberg, Germany

Grown up in South Tyrol, Italian Alps

Apple-Fanboy. Real apples ;-)

Page 3: Icinga Camp San Diego 2016 - Icinga Director

AGENDA

Page 4: Icinga Camp San Diego 2016 - Icinga Director

Talk structure

while (! $talk->outOfTime()) {

$camp->doFancyLiveDemo() ->showSomeSlides();

}

Page 5: Icinga Camp San Diego 2016 - Icinga Director
Page 6: Icinga Camp San Diego 2016 - Icinga Director

HISTORY

Page 7: Icinga Camp San Diego 2016 - Icinga Director

Motivations for a new config tool

Icinga 2: new config format DSL

old config tools do not fit any more

Page 8: Icinga Camp San Diego 2016 - Icinga Director

Challenges

Ever tried toconfigurea DSL?

Page 9: Icinga Camp San Diego 2016 - Icinga Director

Getting started

Page 10: Icinga Camp San Diego 2016 - Icinga Director

Installation

provide a database

tell Director...

...and he cares about the rest

Page 11: Icinga Camp San Diego 2016 - Icinga Director

Using Puppet?

Idempotency out of the box :-)Try `--help` or the documentation for more information

Same for Kickstart!

Page 12: Icinga Camp San Diego 2016 - Icinga Director

Let's try it out!

Page 13: Icinga Camp San Diego 2016 - Icinga Director

WHAT HAPPENED RIGHT NOW?

Page 14: Icinga Camp San Diego 2016 - Icinga Director
Page 15: Icinga Camp San Diego 2016 - Icinga Director

Our kickstart wizard:

• Created our DB schema

• Connected to the Icinga 2 API

• Fetched Commands, Endpoints & Zones

Page 16: Icinga Camp San Diego 2016 - Icinga Director
Page 17: Icinga Camp San Diego 2016 - Icinga Director

Manually, we:

• Created a first host template

• Created a host based on this template

• Deployed it with a single click

Page 18: Icinga Camp San Diego 2016 - Icinga Director

Internally, Director:

• Rendered the whole configuration

• Versioned and stored it to it‘s DB

• Shipped it to Icinga through the API

• Icinga validated the config & reloaded

• Director fetched it‘s startup log

Page 19: Icinga Camp San Diego 2016 - Icinga Director

Want some modification?

Page 20: Icinga Camp San Diego 2016 - Icinga Director

HOW DOES THIS WORK?

Page 21: Icinga Camp San Diego 2016 - Icinga Director
Page 22: Icinga Camp San Diego 2016 - Icinga Director

Internally, Director:

• Keeps track of every single change

• Perfect for auditing changes

• It‘s checksummed

• Allows to travel back in time

Page 23: Icinga Camp San Diego 2016 - Icinga Director

What if I have...

• ...hundreds of thousands of changes?

• Don‘t worry, works fine!

Page 24: Icinga Camp San Diego 2016 - Icinga Director
Page 25: Icinga Camp San Diego 2016 - Icinga Director

ARCHITECTURE

Page 26: Icinga Camp San Diego 2016 - Icinga Director

Architecture

• How and where to attach• How does it talk to my Icinga nodes• Masters, Satellites, Agents?

Page 27: Icinga Camp San Diego 2016 - Icinga Director

Architecture

Page 28: Icinga Camp San Diego 2016 - Icinga Director

Protocol

• Uses the Icinga 2 API (TLS, REST)• Ships whole config, not single objects• This is ways faster with lots of objects• Could still ship partial changes

Page 29: Icinga Camp San Diego 2016 - Icinga Director

Communication Paths

• Director talks to your master node(s)• Deploys always to the very same node• Knows agents / satellites• Controls them via config distribution

Page 30: Icinga Camp San Diego 2016 - Icinga Director

CONFIGURATION MADE EASY

Page 31: Icinga Camp San Diego 2016 - Icinga Director

Icinga Director's target audience

fully automated environments

point & click users

at the very same time (!!)

Page 32: Icinga Camp San Diego 2016 - Icinga Director

Show me the click thingy!

Page 33: Icinga Camp San Diego 2016 - Icinga Director

WHAT DID WE SEE HERE?

Page 34: Icinga Camp San Diego 2016 - Icinga Director
Page 35: Icinga Camp San Diego 2016 - Icinga Director

Powerful custom field handling

• Define your own rules

• Make things easy for your users

• Delegate boring daily work

Page 36: Icinga Camp San Diego 2016 - Icinga Director

Select multiple objects...

Page 37: Icinga Camp San Diego 2016 - Icinga Director

...modify

all ot them

at once

Page 38: Icinga Camp San Diego 2016 - Icinga Director

Future features

• Dictionary/Hash support

• Nested complex data types

Page 39: Icinga Camp San Diego 2016 - Icinga Director

WHAT ABOUT SERVICES?

Page 40: Icinga Camp San Diego 2016 - Icinga Director

Demo

Page 41: Icinga Camp San Diego 2016 - Icinga Director

ICINGA 2 AGENT

Page 42: Icinga Camp San Diego 2016 - Icinga Director
Page 43: Icinga Camp San Diego 2016 - Icinga Director

What it does for you

• Handle SSL certificate signing

• Provide a fitting configuration

• Hide complexity

Page 44: Icinga Camp San Diego 2016 - Icinga Director

AUTOMATION FIRST

Page 45: Icinga Camp San Diego 2016 - Icinga Director

Guess what?

Page 46: Icinga Camp San Diego 2016 - Icinga Director

Live demo!

Page 47: Icinga Camp San Diego 2016 - Icinga Director

All kind of databases

• Out of the box:● MySQL● PostgreSQL● MSSQL● Oracle

Page 48: Icinga Camp San Diego 2016 - Icinga Director

LDAP, AD

Want all yourservers fromyour ActiveDirectory beingmonitoredautomatically?

Page 49: Icinga Camp San Diego 2016 - Icinga Director

Knowing AD you might wonder…...where to get the IP address from?

...how I got the SID in a non-binary form?

...about my version number format

Page 50: Icinga Camp San Diego 2016 - Icinga Director

Modifiers

• Not enough?• Pull request• Custom hook

Page 51: Icinga Camp San Diego 2016 - Icinga Director

Files: CSV, JSON, XML, YAML

Page 52: Icinga Camp San Diego 2016 - Icinga Director

AWSLoad balancers

EC2 instances

Autoscaling

Groups

Page 53: Icinga Camp San Diego 2016 - Icinga Director

PuppetDBget your systems

monitored

fully automated

immediately after

being deployed

Page 54: Icinga Camp San Diego 2016 - Icinga Director
Page 55: Icinga Camp San Diego 2016 - Icinga Director
Page 56: Icinga Camp San Diego 2016 - Icinga Director

Import & Sync

Page 57: Icinga Camp San Diego 2016 - Icinga Director
Page 58: Icinga Camp San Diego 2016 - Icinga Director
Page 59: Icinga Camp San Diego 2016 - Icinga Director

Write your own!

Page 60: Icinga Camp San Diego 2016 - Icinga Director

IS IT APIFIED?

Page 61: Icinga Camp San Diego 2016 - Icinga Director

Director offers a REST API

• Simple and powerful• Easy and intuitive to use• Assists you with the trickiest part of the job: detect and handle changes

Page 62: Icinga Camp San Diego 2016 - Icinga Director
Page 63: Icinga Camp San Diego 2016 - Icinga Director

IT HAS A CLI!

Page 64: Icinga Camp San Diego 2016 - Icinga Director

WANT MORE?

Page 65: Icinga Camp San Diego 2016 - Icinga Director

What‘s next?

• Nested apply rules• Service sets• ACLs, permissions/restrictions

Page 66: Icinga Camp San Diego 2016 - Icinga Director

Director is highly modular

Current Hooks:

DataType, ImportSource,

PropertyModifier, ShipConfigFiles

Even Directors own implementations extend and use them to

provide you nice real-world examples

Page 67: Icinga Camp San Diego 2016 - Icinga Director

USE IT!

Page 68: Icinga Camp San Diego 2016 - Icinga Director

Codehttps://www.github.com/Icinga

→ icingaweb2-module-director

https://www.github.com/Thomas-Gelf

→ icingaweb2-module-aws

→ icingaweb2-module-puppetdb

→ icingaweb2-module-fileshipper

Page 69: Icinga Camp San Diego 2016 - Icinga Director

Roadmaphttps://dev.icinga.org

→ Projects Director Roadmap→ →

ReleasesFirst release: 1.0 (released 03/24/2016)

Current stable: 1.1 (released 06/30/2016)

Next release: 1.2.0 (scheduled for 11/03/2016)

Fancy new things: don‘t fear the GIT master!

Page 70: Icinga Camp San Diego 2016 - Icinga Director

Thank You!www.icinga.org

dev.icinga.org

git.icinga.org

@icinga

/icinga

+icinga

Page 71: Icinga Camp San Diego 2016 - Icinga Director

QUESTIONS?Thomas Gelf <[email protected]>