Upload
icinga
View
10.522
Download
1
Tags:
Embed Size (px)
DESCRIPTION
News about the Icinga project, Icinga 2 and Icinga Web2. Held on FrOSCon 2014 (www.froscon.de)
Citation preview
WWW.ICINGA.ORGWWW.ICINGA.ORG
Icinga 1, Icinga 2News about the Icinga ProjectIcinga 1, Icinga 2News about the Icinga Project
FroSCon 201424th August – Team Icinga
FroSCon 201424th August – Team Icinga
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
• Introduction
• Tools & Platform
• Icinga project update
• Icinga 2
• Icinga Web 2
• What‘s next
• Questions & Answers
AgendaAgenda
FroSCon 2014
INTRODUCTIONINTRODUCTION
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
MeMe
• Markus Frosch @lazyfrosch• Forked 1984• Working @NETWAYS • Icinga responsibilities
– Web Q&A
– Packaging
• Debian Member• In the Icinga Team since 2012
FroSCon 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
About IcingaAbout Icinga
• Icinga 1.x core forked from Nagios in April 2009• Icinga 2.x started from scratch
• 100 % Free Software - GPL
• Different teams with independent responsibilities – Icinga Core– Icinga Packaging– Icinga Web & Reporting– Icinga Q&A & Docs
• 26 “active” members on the team – Still searching!
FroSCon 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
FroSCon 2014
Icinga TeamIcinga Team
Core Packaging
Web & Reporting Docs & QACommunity
We want you!
Tools & PlatformTools & Platform
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Icinga Core
C-based sourceMySQL, PostgreSQL, Oracle
Icinga Core
C-based sourceMySQL, PostgreSQL, Oracle
FroSCon 2014
TOOLS AND PLATFORMTOOLS AND PLATFORM
Icinga Quality, Testing and Community Support
Website and Open Source Ticketing System
Icinga Quality, Testing and Community Support
Website and Open Source Ticketing System
Icinga Reports
based on Jasper Reports
and the IDOdatabase
Icinga Reports
based on Jasper Reports
and the IDOdatabase
Icinga Doc
based on Markdown
Icinga Doc
based on Markdown
IDOUTILSIDOUTILS
Icinga 2
C++-based source with multiple components
Icinga 2
C++-based source with multiple components
3rd Party Tools3rd Party ToolsIcinga 2 WebBased on PHP / responsive designIcinga 2 WebBased on PHP / responsive design
Icinga Webbased on PHP using ExtJS, Agavi MVCIcinga Webbased on PHP using ExtJS, Agavi MVC
IDOIDO LivestatusLivestatus ClusterCluster ……
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
FroSCon 2014
Current ArchitectureCurrent Architecture
IDO DatabaseIDO Database
Icinga WebIcinga Web
Icinga CoreIcinga Core
IDOUtilsIDOUtils
Classic UIClassic UI
REST APIREST API MobileMobile
Icinga Reportingwith JasperServerIcinga Reportingwith JasperServer
SOAP Provider
SOAP Provider
Icinga 2Icinga 2 Icinga Web 2Icinga Web 2
heavy development
Icinga Project UpdateIcinga Project Update
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
5 years Icinga5 years Icinga
FroSCon 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
FroSCon 2014
Latest releasesLatest releases
• Icinga 1.11.5 (2014-06-20)• Icinga 1.11.6 (2014-08-06)• Icinga Web 1.11.2 (2014-08-13)
• Icinga 2• First stable release 2.0.0 on 16th June 2014
• 2.0.1 minor release on 10th July
• 2.0.2 minor release on 7th August
• In other news: Monitoring Plugins 2.0 is out http://monitoring-plugins.org
Icinga 2Icinga 2
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Icinga 2 - OverviewIcinga 2 - Overview
• Based on C++ and Boost– Supports all major *NIX and Windows platforms
• Different config format– There is a convertion tool, but...
• Included cluster stack• Modular components / features• icinga2-disable-feature / icinga2-enable-feature• Components can run anywhere in a cluster• MySQL, PostgreSQL and Livestatus support included
FroSCon 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Icinga 2 – ComponentsIcinga 2 – Components
• Checker• Cluster / API• Compat
– Command Pipe– Compat Log– Status.dat
• Livestatus• Perfdata• Graphite• Notification• ido_mysql• ido_postgresql
FroSCon 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Icinga 2 – Major config differencesIcinga 2 – Major config differences
• Completely new code style syntax• based on the old ideas
• Global macros• Contact and Contactgroup -> User and UserGroup
– no notification-specific attributes for services -> Notification Object
• Freely definable macros for commands • Intelligent variables• Assign rules for services
FroSCon 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Icinga 2 – Major config differencesIcinga 2 – Major config differences
• Macros and variables for checksdefine command { command_name ping4 command_line $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5}
define service { use local-service host_name localhost service_description PING check_command ping4!100.0,20%!500.0,60%}
template CheckCommand "ping-common" { import "plugin-check-command" command = [ PluginDir + "/check_ping" ] arguments = { "-H" = "$ping_address$" "-w" = "$ping_wrta$,$ping_wpl$%" "-c" = "$ping_crta$,$ping_cpl$%" "-p" = "$ping_packets$" "-t" = "$ping_timeout$" } vars.ping_wrta = 100 vars.ping_wpl = 5 vars.ping_crta = 200 vars.ping_cpl = 15}
object CheckCommand "ping4" { import "ping-common" command += [ "-4" ] vars.ping_address = "$address$"}
FroSCon 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Icinga 2 – Major config differencesIcinga 2 – Major config differences
• Assign rules for servicesobject Host "web01.company.com" {
import "generic-host"
address = "192.168.10.101"address6 = "2001:db8::101”
vars.os = "Linux"}object Host "calamity.company.com" {
import "generic-host"
groups = [ "webserver" ]
address = "192.168.10.66"address6 = "2001:db8::666”
vars.os = "Linux"}
apply Service "http" {import "generic-service"
check_command = "check_http"
assign where match("web*", host.name) }
FroSCon 2014
apply Service "ping4" { import "generic-service" check_command = "ping4" assign where "generic-host" in host.templates ignore where !host.address}
object HostGroup "webserver" {display_name = "Web Servers"assign where match("web*", host.name)
}
apply Service "https-cert" {import "generic-service"
check_command = "check_https_cert"
assign where "webserver" in host.groups }
object Service "tomcat" {import "generic-service"
check_command = "tomcat"
host_name = "calamity.company.com" }
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Icinga 2 – Major config differencesIcinga 2 – Major config differences
• New notification object– Icinga 1–
– Icinga 2–
–
• Escalations act as notification with defined begin and end
FroSCon 2014
service -> (contact, contactgroup) -> notification command
notification_options w,u,c,r,f,s
service -> notification -> notificationCommand -> user, userGroup
apply Notification "linux-admins" { interval = 15m command = "mail-service-notification" users = [ "icingaadmin" ]
states = [ Warning, Critical, Unknown ] types = [ Problem, Acknowledgement, Recovery, Custom, FlappingStart, FlappingEnd, DowntimeStart,DowntimeEnd, DowntimeRemoved ] period = "24x7"}
times = { begin = 1h end = 2h }
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
FroSCon 2014
Icinga 2 – ClusterIcinga 2 – Cluster
• Cluster-based communication using TLS• Bidirectional connections supported• Zone / Domain support for logic splits in the configuration• Hash-based load distribution• “binlog” like retention for monitoring events and messages• Distributed components throughout the cluster
compat
replication
perfdatalivestatus
checker
ido
checker Icinga2
notification
Icinga2
IDO Database
IDO Database
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
FroSCon 2014
Demo – Icinga 2Demo – Icinga 2
DEMO
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
FroSCon 2014
Get Icinga 2Get Icinga 2
• Getting started http://docs.icinga.org/icinga2
• Snapshots and release builds http://packages.icinga.org Builds for: Debian, Ubuntu, SuSE, Fedora, EL based systems
• Natively available on– Debian testing (Jessie) and Wheezy (via backports)– Ubuntu (use PPA by formorer)– OpenSuSE (see buildserver)– Fedora (soon)
Icinga Web 2Icinga Web 2
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Icinga Web 2
Different Interfaces for IcingaDifferent Interfaces for Icinga
FroSCon 2014
Icinga WebIcinga Classic Icinga Mobile
Thruk, …
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
FroSCon 2014
Why another InterfaceWhy another Interface
• We want a solution for all platforms– Simple and lightweight– Responsive for desktop, tablet, phone
• Icinga-Classic doesn’t fit large environments• Icinga-Web is hard to extend• CLI-Support for cronjobs, plugins and shell• Support for multiple backends
• All existing versions will be in active maintenance!
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
FroSCon 2014
Icinga Web 2Icinga Web 2
• Lightweight like Icinga classic and flexible like Icinga Web• Easy to extend and embed into other projects• Support for multiple backends
– Status.dat– Database– Livestatus
• Supports multiple backends simultaneously, as failover backend
• Supports Icinga 1.x and Icinga 2.x• Responsive actions• FAST!
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
FroSCon 2014
Demo – Icinga Web 2Demo – Icinga Web 2
DEMO
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
FroSCon 2014
Demo – Icinga Web 2Demo – Icinga Web 2
What else?
What’s nextWhat’s next
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Future of Icinga 1.xFuture of Icinga 1.x
• Bugfixes• Smaller features• Compatibility to Icinga 2
• No fixed release schedule
• Keep quality and allow users to migrate!
FroSCon 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Icinga 2 – What’s nextIcinga 2 – What’s next
• Icinga 2.1 (very soon)– Cluster improvements
– Logging and documentation
• Planned features– Business Process Integration, join the discussion!– Agent for remote checks– your idea?
• Modules for Puppet, Ansible, …
• See DEV tracker
FroSCon 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
RoadmapRoadmap
• Roadmap Icinga– https://dev.icinga.org/projects/icinga-
development/roadmap• Roadmap Icinga 2
– https://dev.icinga.org/projects/i2/roadmap• Roadmap Icinga Web 2
– https://dev.icinga.org/projects/icinga-2-web/roadmap• Roadmap based on
– Bugs– Sponsors– Feedback (dev.icinga.org, Twitter, etc.)– Team members’ interests
FroSCon 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORGDEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
QUESTIONS & ANSWERSQUESTIONS & ANSWERS
FroSCon 2014
Web + Blog www.icinga.org
Docs docs.icinga.org
Development dev.icinga.org
Sourcecode git.icinga.org
Releases github.com/Icinga
Wiki wiki.icinga.org
IRC #icinga on FreeNode
Mailing lists lists.icinga.org
Support support.icinga.org
Twitter twitter.com/icinga
Facebook facebook.com/icinga
…….. Everywhere!
?Questions & Answers