SlideShare a Scribd company logo
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Deploying Icinga2 through Ansible
Monitoring migration through automation
Toshaan Bharvani - VanTosh bvba
<toshaan@vantosh.com>
Icinga Camp Bangalore 2017
13 May 2017
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 1 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
$ whoami
Toshaan Bharvani - VanTosh
• From Antwerp, Belgium
• Self-employed engineer/trainer (available for hire)
http://www.vantosh.com
• Involved with Enterprise OS : PEL, RHEL, CentOS, IBM AIX,
OpenBSD, FreeBSD, SLES, . . .
• Likes to keep everything secure : SELinux, WebSec, . . .
• Lives in a virtual world : KVM, Xen, LXC, PowerVM, z/VM, . . .
• Likes automation CfgMgmt / DevOps : Ansible, Foreman,
Puppet
• Works on both hardware and software side
• Wants to take over the universe
• Twitter : @toshywoshy
• Blog : http://www.toshaan.com
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 2 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Table of contents
1 Monitoring
2 Automation
Inventory
Virtual Machines
3 Icinga2
Icinga2 Masters
Icinga2 Clients
4 Conclusion
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 3 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
1
Monitoring
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 4 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Monitoring
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 5 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Choices
• Nagios
• Well know, good for smaller install base
• Zenoss
• Big coupled project without any cohesion
• Zabbix
• Distributed, all-in-one solution, good
• Ganglia
• RRD as static, web interface is dated
• Icinga
• Better web interface with nagios forked backend
• OpsView
• Fancier web interface which is liked by managers, nagios forked
• Shinken
• Distributed, modular, good for smal install base
• Icinga2
• Distributed, better scalability, better interface, modular and
integrations
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Choices
• Nagios
• Well know, good for smaller install base
• Zenoss
• Big coupled project without any cohesion
• Zabbix
• Distributed, all-in-one solution, good
• Ganglia
• RRD as static, web interface is dated
• Icinga
• Better web interface with nagios forked backend
• OpsView
• Fancier web interface which is liked by managers, nagios forked
• Shinken
• Distributed, modular, good for smal install base
• Icinga2
• Distributed, better scalability, better interface, modular and
integrations
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Choices
• Nagios
• Well know, good for smaller install base
• Zenoss
• Big coupled project without any cohesion
• Zabbix
• Distributed, all-in-one solution, good
• Ganglia
• RRD as static, web interface is dated
• Icinga
• Better web interface with nagios forked backend
• OpsView
• Fancier web interface which is liked by managers, nagios forked
• Shinken
• Distributed, modular, good for smal install base
• Icinga2
• Distributed, better scalability, better interface, modular and
integrations
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Choices
• Nagios
• Well know, good for smaller install base
• Zenoss
• Big coupled project without any cohesion
• Zabbix
• Distributed, all-in-one solution, good
• Ganglia
• RRD as static, web interface is dated
• Icinga
• Better web interface with nagios forked backend
• OpsView
• Fancier web interface which is liked by managers, nagios forked
• Shinken
• Distributed, modular, good for smal install base
• Icinga2
• Distributed, better scalability, better interface, modular and
integrations
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Choices
• Nagios
• Well know, good for smaller install base
• Zenoss
• Big coupled project without any cohesion
• Zabbix
• Distributed, all-in-one solution, good
• Ganglia
• RRD as static, web interface is dated
• Icinga
• Better web interface with nagios forked backend
• OpsView
• Fancier web interface which is liked by managers, nagios forked
• Shinken
• Distributed, modular, good for smal install base
• Icinga2
• Distributed, better scalability, better interface, modular and
integrations
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Choices
• Nagios
• Well know, good for smaller install base
• Zenoss
• Big coupled project without any cohesion
• Zabbix
• Distributed, all-in-one solution, good
• Ganglia
• RRD as static, web interface is dated
• Icinga
• Better web interface with nagios forked backend
• OpsView
• Fancier web interface which is liked by managers, nagios forked
• Shinken
• Distributed, modular, good for smal install base
• Icinga2
• Distributed, better scalability, better interface, modular and
integrations
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Choices
• Nagios
• Well know, good for smaller install base
• Zenoss
• Big coupled project without any cohesion
• Zabbix
• Distributed, all-in-one solution, good
• Ganglia
• RRD as static, web interface is dated
• Icinga
• Better web interface with nagios forked backend
• OpsView
• Fancier web interface which is liked by managers, nagios forked
• Shinken
• Distributed, modular, good for smal install base
• Icinga2
• Distributed, better scalability, better interface, modular and
integrations
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Choices
• Nagios
• Well know, good for smaller install base
• Zenoss
• Big coupled project without any cohesion
• Zabbix
• Distributed, all-in-one solution, good
• Ganglia
• RRD as static, web interface is dated
• Icinga
• Better web interface with nagios forked backend
• OpsView
• Fancier web interface which is liked by managers, nagios forked
• Shinken
• Distributed, modular, good for smal install base
• Icinga2
• Distributed, better scalability, better interface, modular and
integrations
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Choices
• Nagios
• Well know, good for smaller install base
• Zenoss
• Big coupled project without any cohesion
• Zabbix
• Distributed, all-in-one solution, good
• Ganglia
• RRD as static, web interface is dated
• Icinga
• Better web interface with nagios forked backend
• OpsView
• Fancier web interface which is liked by managers, nagios forked
• Shinken
• Distributed, modular, good for smal install base
• Icinga2
• Distributed, better scalability, better interface, modular and
integrations
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Choices
• Nagios
• Well know, good for smaller install base
• Zenoss
• Big coupled project without any cohesion
• Zabbix
• Distributed, all-in-one solution, good
• Ganglia
• RRD as static, web interface is dated
• Icinga
• Better web interface with nagios forked backend
• OpsView
• Fancier web interface which is liked by managers, nagios forked
• Shinken
• Distributed, modular, good for smal install base
• Icinga2
• Distributed, better scalability, better interface, modular and
integrations
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Choices
• Nagios
• Well know, good for smaller install base
• Zenoss
• Big coupled project without any cohesion
• Zabbix
• Distributed, all-in-one solution, good
• Ganglia
• RRD as static, web interface is dated
• Icinga
• Better web interface with nagios forked backend
• OpsView
• Fancier web interface which is liked by managers, nagios forked
• Shinken
• Distributed, modular, good for smal install base
• Icinga2
• Distributed, better scalability, better interface, modular and
integrations
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Choices
• Nagios
• Well know, good for smaller install base
• Zenoss
• Big coupled project without any cohesion
• Zabbix
• Distributed, all-in-one solution, good
• Ganglia
• RRD as static, web interface is dated
• Icinga
• Better web interface with nagios forked backend
• OpsView
• Fancier web interface which is liked by managers, nagios forked
• Shinken
• Distributed, modular, good for smal install base
• Icinga2
• Distributed, better scalability, better interface, modular and
integrations
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Choices
• Nagios
• Well know, good for smaller install base
• Zenoss
• Big coupled project without any cohesion
• Zabbix
• Distributed, all-in-one solution, good
• Ganglia
• RRD as static, web interface is dated
• Icinga
• Better web interface with nagios forked backend
• OpsView
• Fancier web interface which is liked by managers, nagios forked
• Shinken
• Distributed, modular, good for smal install base
• Icinga2
• Distributed, better scalability, better interface, modular and
integrations
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Choices
• Nagios
• Well know, good for smaller install base
• Zenoss
• Big coupled project without any cohesion
• Zabbix
• Distributed, all-in-one solution, good
• Ganglia
• RRD as static, web interface is dated
• Icinga
• Better web interface with nagios forked backend
• OpsView
• Fancier web interface which is liked by managers, nagios forked
• Shinken
• Distributed, modular, good for smal install base
• Icinga2
• Distributed, better scalability, better interface, modular and
integrations
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Choices
• Nagios
• Well know, good for smaller install base
• Zenoss
• Big coupled project without any cohesion
• Zabbix
• Distributed, all-in-one solution, good
• Ganglia
• RRD as static, web interface is dated
• Icinga
• Better web interface with nagios forked backend
• OpsView
• Fancier web interface which is liked by managers, nagios forked
• Shinken
• Distributed, modular, good for smal install base
• Icinga2
• Distributed, better scalability, better interface, modular and
integrations
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Choices
• Nagios
• Well know, good for smaller install base
• Zenoss
• Big coupled project without any cohesion
• Zabbix
• Distributed, all-in-one solution, good
• Ganglia
• RRD as static, web interface is dated
• Icinga
• Better web interface with nagios forked backend
• OpsView
• Fancier web interface which is liked by managers, nagios forked
• Shinken
• Distributed, modular, good for smal install base
• Icinga2
• Distributed, better scalability, better interface, modular and
integrations
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
2
Automation
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 7 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Ansible
“Ansible is a fictional machine capable of instantaneous or
superluminal communication. Typically it is depicted as a
lunch-box-sized object with some combination of microphone, speaker,
keyboard and display. It can send and receive messages to and from a
corresponding device over any distance whatsoever with no delay.”1
• Configuration Management Tool
• System Orchestration Tool
• Remote Execution/Deployment Tool
• . . .
1Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 8 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
An overview
• Python2 based
• Server based, agentless2
• uses SSH protocol (can use accelerated mode uses a daemon and
port)
• host information in flat files, CMDB, scripts, . . .
• executes the task on the host side
• Playbook : combination of tasks with meta information
• YAML
• JSON
• Roles : abstract playbook
• Tasks
• Variables
• Handlers
• Templates : Jinja2
• works where Python2 works3
2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is
not necessary
3Ansible can actually run without Python on the remote host, however it is not fully supported
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
An overview
• Python2 based
• Server based, agentless2
• uses SSH protocol (can use accelerated mode uses a daemon and
port)
• host information in flat files, CMDB, scripts, . . .
• executes the task on the host side
• Playbook : combination of tasks with meta information
• YAML
• JSON
• Roles : abstract playbook
• Tasks
• Variables
• Handlers
• Templates : Jinja2
• works where Python2 works3
2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is
not necessary
3Ansible can actually run without Python on the remote host, however it is not fully supported
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
An overview
• Python2 based
• Server based, agentless2
• uses SSH protocol (can use accelerated mode uses a daemon and
port)
• host information in flat files, CMDB, scripts, . . .
• executes the task on the host side
• Playbook : combination of tasks with meta information
• YAML
• JSON
• Roles : abstract playbook
• Tasks
• Variables
• Handlers
• Templates : Jinja2
• works where Python2 works3
2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is
not necessary
3Ansible can actually run without Python on the remote host, however it is not fully supported
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
An overview
• Python2 based
• Server based, agentless2
• uses SSH protocol (can use accelerated mode uses a daemon and
port)
• host information in flat files, CMDB, scripts, . . .
• executes the task on the host side
• Playbook : combination of tasks with meta information
• YAML
• JSON
• Roles : abstract playbook
• Tasks
• Variables
• Handlers
• Templates : Jinja2
• works where Python2 works3
2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is
not necessary
3Ansible can actually run without Python on the remote host, however it is not fully supported
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
An overview
• Python2 based
• Server based, agentless2
• uses SSH protocol (can use accelerated mode uses a daemon and
port)
• host information in flat files, CMDB, scripts, . . .
• executes the task on the host side
• Playbook : combination of tasks with meta information
• YAML
• JSON
• Roles : abstract playbook
• Tasks
• Variables
• Handlers
• Templates : Jinja2
• works where Python2 works3
2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is
not necessary
3Ansible can actually run without Python on the remote host, however it is not fully supported
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
An overview
• Python2 based
• Server based, agentless2
• uses SSH protocol (can use accelerated mode uses a daemon and
port)
• host information in flat files, CMDB, scripts, . . .
• executes the task on the host side
• Playbook : combination of tasks with meta information
• YAML
• JSON
• Roles : abstract playbook
• Tasks
• Variables
• Handlers
• Templates : Jinja2
• works where Python2 works3
2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is
not necessary
3Ansible can actually run without Python on the remote host, however it is not fully supported
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
An overview
• Python2 based
• Server based, agentless2
• uses SSH protocol (can use accelerated mode uses a daemon and
port)
• host information in flat files, CMDB, scripts, . . .
• executes the task on the host side
• Playbook : combination of tasks with meta information
• YAML
• JSON
• Roles : abstract playbook
• Tasks
• Variables
• Handlers
• Templates : Jinja2
• works where Python2 works3
2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is
not necessary
3Ansible can actually run without Python on the remote host, however it is not fully supported
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
An overview
• Python2 based
• Server based, agentless2
• uses SSH protocol (can use accelerated mode uses a daemon and
port)
• host information in flat files, CMDB, scripts, . . .
• executes the task on the host side
• Playbook : combination of tasks with meta information
• YAML
• JSON
• Roles : abstract playbook
• Tasks
• Variables
• Handlers
• Templates : Jinja2
• works where Python2 works3
2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is
not necessary
3Ansible can actually run without Python on the remote host, however it is not fully supported
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
An overview
• Python2 based
• Server based, agentless2
• uses SSH protocol (can use accelerated mode uses a daemon and
port)
• host information in flat files, CMDB, scripts, . . .
• executes the task on the host side
• Playbook : combination of tasks with meta information
• YAML
• JSON
• Roles : abstract playbook
• Tasks
• Variables
• Handlers
• Templates : Jinja2
• works where Python2 works3
2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is
not necessary
3Ansible can actually run without Python on the remote host, however it is not fully supported
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
An overview
• Python2 based
• Server based, agentless2
• uses SSH protocol (can use accelerated mode uses a daemon and
port)
• host information in flat files, CMDB, scripts, . . .
• executes the task on the host side
• Playbook : combination of tasks with meta information
• YAML
• JSON
• Roles : abstract playbook
• Tasks
• Variables
• Handlers
• Templates : Jinja2
• works where Python2 works3
2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is
not necessary
3Ansible can actually run without Python on the remote host, however it is not fully supported
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
An overview
• Python2 based
• Server based, agentless2
• uses SSH protocol (can use accelerated mode uses a daemon and
port)
• host information in flat files, CMDB, scripts, . . .
• executes the task on the host side
• Playbook : combination of tasks with meta information
• YAML
• JSON
• Roles : abstract playbook
• Tasks
• Variables
• Handlers
• Templates : Jinja2
• works where Python2 works3
2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is
not necessary
3Ansible can actually run without Python on the remote host, however it is not fully supported
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
An overview
• Python2 based
• Server based, agentless2
• uses SSH protocol (can use accelerated mode uses a daemon and
port)
• host information in flat files, CMDB, scripts, . . .
• executes the task on the host side
• Playbook : combination of tasks with meta information
• YAML
• JSON
• Roles : abstract playbook
• Tasks
• Variables
• Handlers
• Templates : Jinja2
• works where Python2 works3
2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is
not necessary
3Ansible can actually run without Python on the remote host, however it is not fully supported
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
An overview
• Python2 based
• Server based, agentless2
• uses SSH protocol (can use accelerated mode uses a daemon and
port)
• host information in flat files, CMDB, scripts, . . .
• executes the task on the host side
• Playbook : combination of tasks with meta information
• YAML
• JSON
• Roles : abstract playbook
• Tasks
• Variables
• Handlers
• Templates : Jinja2
• works where Python2 works3
2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is
not necessary
3Ansible can actually run without Python on the remote host, however it is not fully supported
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
An overview
• Python2 based
• Server based, agentless2
• uses SSH protocol (can use accelerated mode uses a daemon and
port)
• host information in flat files, CMDB, scripts, . . .
• executes the task on the host side
• Playbook : combination of tasks with meta information
• YAML
• JSON
• Roles : abstract playbook
• Tasks
• Variables
• Handlers
• Templates : Jinja2
• works where Python2 works3
2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is
not necessary
3Ansible can actually run without Python on the remote host, however it is not fully supported
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Internal Design
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 10 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Normal Adhoc Mode
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 11 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Delegation Mode
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 12 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Inventory - Hypervisors
• hosts file is by default in ini format
§ ¤
1 [hypervisors ]
2 hypervisor0
3 hypervisor1
4 hypervisor2
5 hypervisor3
6
7 [ virtualmachines ]
8 vm0
9 vm1
10 vm2
11 vm3
¦ ¥
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 13 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Inventory - Hypervisor (0)
§ ¤
1 ---
2 distro: powerel7
3 machinearch: ppc64
4 rootpwd: $1$f0pPKH0e$0xrX07Ki9DPmpcmJooede7X .
5 language: en_US
6 keyboard: us
7 timezone: "Europe/Brussels"
8 nics:
9 - { type: bridge , name: br0 , model: virtio , bootproto: dhcp , device:
eth0 , onboot: on }
10 hostname: hyp0.vantosh.demo
11 sshdrsakeylength : 8192
12 sshdecdsakeylength : 521
13 users:
14 - { name: supervisor , id: 1000 , ssh: yes , sshpubkey: /home/toshywoshy /.
keys/id_hyp0.pub }
15 nrpe: { address: hyp0.vantosh.demo , zone: democenter0 , contact: mrnice }
¦ ¥
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 14 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Inventory - Hypervisor (1)
§ ¤
1 ---
2 distro: powerel7
3 machinearch: ppc64le
4 rootpwd: $1$f0pPKH0e$0xrX07Ki9DPmpcmJooede7X .
5 language: en_US
6 keyboard: us
7 timezone: "Europe/Brussels"
8 nics:
9 - { type: bridge , name: br0 , model: virtio , bootproto: dhcp , device:
eth0 , onboot: on }
10 hostname: hyp1.vantosh.demo
11 sshdrsakeylength : 8192
12 sshdecdsakeylength : 521
13 users:
14 - { name: supervisor , id: 1000 , ssh: yes , sshpubkey: /home/toshywoshy /.
keys/id_hyp1.pub }
15 nrpe: { address: hyp1.vantosh.demo , zone: democenter1 , contact: mrnotsonice }
¦ ¥
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 15 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Inventory - Hypervisor (2)
§ ¤
1 ---
2 distro: centos7
3 machinearch: x86_64
4 rootpwd: $1$f0pPKH0e$0xrX07Ki9DPmpcmJooede7X .
5 language: en_US
6 keyboard: us
7 timezone: "Europe/Brussels"
8 nics:
9 - { type: bridge , name: br0 , model: virtio , bootproto: dhcp , device:
eth0 , onboot: on }
10 hostname: hyp2.vantosh.demo
11 sshdrsakeylength : 8192
12 sshdecdsakeylength : 521
13 users:
14 - { name: supervisor , id: 1000 , ssh: yes , sshpubkey: /home/toshywoshy /.
keys/id_hyp2.pub }
15 nrpe: { address: hyp2.vantosh.demo , zone: democenter1 , contact: mrnice }
¦ ¥
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 16 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Inventory - Virtual Machine (0)
§ ¤
1 ---
2 hyper: hypervisor0
3 distro: powerel7
4 machinearch: ppc64
5 virtualcpus: 32
6 virtualsockets : 2
7 virtualcores : 2
8 virtualthreads : 8
9 ramsize: 2048
10 vmwaittime: 15
11 language: en_US
12 keyboard: us
13 timezone: "Europe/Brussels"
14 rootpwd: $1$f0pPKH0e$0xrX07Ki9DPmpcmJooede7X .
15 sshdrsakeylength : 8192
16 sshdecdsakeylength : 521
17 virtualfilespath : /virtual/
18 disks:
19 - { path: /virtual/vm0 -prep0.qcow2 , size: 10M }
20 - { path: /virtual/vm0 -boot0.qcow2 , size: 512M }
21 - { path: /virtual/vm0 -root0.qcow2 , size: 6G }
22 - { path: /virtual/vm0 -swap0.qcow2 , size: 512M }
23 - { path: /virtual/vm0 -swap1.qcow2 , size: 512M }
24 bootloader: bootloader --location=mbr --driveorder=vda ,vdb ,vdc ,vdd
25 partitions:
26 - part prepboot --ondisk=vda --asprimary --fstype="prepboot" --fsoptions=’
prepboot ’ --size =9
27 - part /boot --ondisk=vdb --asprimary --fstype="xfs" --fsoptions=’defaults ,
noatime ,discard ’ --grow --size =1
28 - part pv.01 --ondisk=vdc --asprimary --grow --size =1
29 - volgroup VolGroupRoot --pesize =131072 pv.01
30 - logvol / --fstype="xfs" --fsoptions=’defaults ,noatime ,discard ’ --name=
LogVolRoot --vgname= VolGroupRoot --grow --size =1
31 - part swap --onpart=vdd --asprimary --fstype="swap" --fsoptions=’defaults ,
discard ’ --grow --size =1
32 - part swap --onpart=vde --asprimary --fstype="swap" --fsoptions=’defaults ,
discard ’ --grow --size =1
33 hostname: vm0.vantosh.demo
34 nics:
35 - { type: bridge , name: br0 , model: virtio , bootproto: dhcp , device:
eth0 , onboot: on }
36 users:
37 - { name: administrator , id: 1000 , ssh: yes , sshpubkey: /home/toshywoshy
/. keys/id_vm0.pub }
38 nrpe: { address: vm0.vantosh.demo , zone: democenter0 , contact: mrnice }
¦ ¥
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 17 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Inventory - Virtual Machine (1)
§ ¤
1 ---
2 hyper: hypervisor0
3 distro: powerel7
4 machinearch: ppc64le
5 virtualcpus: 32
6 virtualsockets : 2
7 virtualcores : 2
8 virtualthreads : 8
9 ramsize: 2048
10 vmwaittime: 15
11 language: en_US
12 keyboard: us
13 timezone: "Europe/Brussels"
14 rootpwd: $1$f0pPKH0e$0xrX07Ki9DPmpcmJooede7X .
15 sshdrsakeylength : 8192
16 sshdecdsakeylength : 521
17 virtualfilespath : /virtual/
18 disks:
19 - { path: /virtual/vm0 -prep0.qcow2 , size: 10M }
20 - { path: /virtual/vm0 -boot0.qcow2 , size: 512M }
21 - { path: /virtual/vm0 -root0.qcow2 , size: 6G }
22 - { path: /virtual/vm0 -swap0.qcow2 , size: 512M }
23 - { path: /virtual/vm0 -swap1.qcow2 , size: 512M }
24 bootloader: bootloader --location=mbr --driveorder=vda ,vdb ,vdc ,vdd
25 partitions:
26 - part prepboot --ondisk=vda --asprimary --fstype="prepboot" --fsoptions=’
prepboot ’ --size =9
27 - part /boot --ondisk=vdb --asprimary --fstype="xfs" --fsoptions=’defaults ,
noatime ,discard ’ --grow --size =1
28 - part pv.01 --ondisk=vdc --asprimary --grow --size =1
29 - volgroup VolGroupRoot --pesize =131072 pv.01
30 - logvol / --fstype="xfs" --fsoptions=’defaults ,noatime ,discard ’ --name=
LogVolRoot --vgname= VolGroupRoot --grow --size =1
31 - part swap --onpart=vdd --asprimary --fstype="swap" --fsoptions=’defaults ,
discard ’ --grow --size =1
32 - part swap --onpart=vde --asprimary --fstype="swap" --fsoptions=’defaults ,
discard ’ --grow --size =1
33 hostname: vm0.vantosh.demo
34 nics:
35 - { type: bridge , name: br0 , model: virtio , bootproto: dhcp , device:
eth0 , onboot: on }
36 users:
37 - { name: administrator , id: 1000 , ssh: yes , sshpubkey: /home/toshywoshy
/. keys/id_vm0.pub }
38 nrpe: { address: vm0.vantosh.demo , zone: democenter1 , contact: mrnotsonice }
¦ ¥
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 18 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Inventory - Virtual Machine (2)
§ ¤
1 ---
2 hyper: hypervisor0
3 distro: centos7
4 machinearch: x86_64
5 virtualcpus: 32
6 virtualsockets : 2
7 virtualcores : 2
8 virtualthreads : 8
9 ramsize: 2048
10 vmwaittime: 15
11 language: en_US
12 keyboard: us
13 timezone: "Europe/Brussels"
14 rootpwd: $1$f0pPKH0e$0xrX07Ki9DPmpcmJooede7X .
15 sshdrsakeylength : 8192
16 sshdecdsakeylength : 521
17 virtualfilespath : /virtual/
18 disks:
19 - { path: /virtual/vm0 -boot0.qcow2 , size: 512M }
20 - { path: /virtual/vm0 -root0.qcow2 , size: 6G }
21 - { path: /virtual/vm0 -swap0.qcow2 , size: 512M }
22 - { path: /virtual/vm0 -swap1.qcow2 , size: 512M }
23 bootloader: bootloader --location=mbr --driveorder=vda ,vdb ,vdc ,vdd
24 partitions:
25 - part /boot --ondisk=vda --asprimary --fstype="xfs" --fsoptions=’defaults ,
noatime ,discard ’ --grow --size =1
26 - part pv.01 --ondisk=vdb --asprimary --grow --size =1
27 - volgroup VolGroupRoot --pesize =131072 pv.01
28 - logvol / --fstype="xfs" --fsoptions=’defaults ,noatime ,discard ’ --name=
LogVolRoot --vgname= VolGroupRoot --grow --size =1
29 - part swap --onpart=vdc --asprimary --fstype="swap" --fsoptions=’defaults ,
discard ’ --grow --size =1
30 - part swap --onpart=vdd --asprimary --fstype="swap" --fsoptions=’defaults ,
discard ’ --grow --size =1
31 hostname: vm0.vantosh.demo
32 nics:
33 - { type: bridge , name: br0 , model: virtio , bootproto: dhcp , device:
eth0 , onboot: on }
34 users:
35 - { name: administrator , id: 1000 , ssh: yes , sshpubkey: /home/toshywoshy
/. keys/id_vm0.pub }
36 nrpe: { address: vm0.vantosh.demo , zone: democenter1 , contact: mrnice }
¦ ¥
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 19 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Playbooks - vminstaller
§ ¤
1 - name: set machine arch variables
2 include_vars : "{{ machinearch }}/ console.yml"
3 when: virtconsole is not defined
4
5 - name: set distribution variables
6 include_vars : "{{ distro }}. yml"
7
8 - name: create the qemu disk images
9 action: qemu -img dest ={{ item.path }} size ={{ item.size }} format="qcow2"
options=" preallocation =falloc"
10 with_items: "{{ disks }}"
11 delegate_to: "{{ hyper }}"
12
13 ###
14
15 ### PowerEL 7
16 - name: start distribution installation - PEL7
17 include: install -vm -pel7.yml
18 when: templatetype == ’pel7 ’
19
20 ### EL 7
21 - name: start distribution installation - EL7
22 include: install -vm -el7.yml
23 when: templatetype == ’el7’
24
25 - name: execute minimum ram hack where required
26 include: minimum -ram -hack.yml
27 when: minram is defined
28
29
30 - name: start the vm
31 action: virt guest ={{ inventory_hostname }} command=start
32 delegate_to: "{{ hyper }}"
33 ignore_errors : yes
34
35 - name: wait for vm to become available
36 local_action : wait_for host ={{ ansible_host }} port ={{ ansible_port }} delay
=5 state=started timeout =300
37 become: no
38
39 - name: gather facts
40 action: setup
¦ ¥
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 20 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Playbooks - pel7
§ ¤
1 - name: create and copy the kickstart file of the machine
2 action: template src="pel7/kickstart.cfg" dest="{{ virtualfilespath }}{{
inventory_hostname }}. cfg"
3 delegate_to: "{{ hyper }}"
4
5 - name: make install script
6 action: template src="common/install -vm.sh" dest="{{ virtualfilespath }}{{
inventory_hostname }}-create -vm.sh" owner=root group=root mode =770
7 delegate_to: "{{ hyper }}"
8
9 - name: execute install script
10 action: raw {{ virtualfilespath }}{{ inventory_hostname }}-create -vm.sh
11 delegate_to: "{{ hyper }}"
12 register: createdvm
13
14 - name: wait for vm to install
15 local_action : pause minutes ={{ vmwaittime }}
¦ ¥
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 21 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Variables - pel7
§ ¤
1 ---
2 distroname: powerel7
3 distrotype: rhel7
4 templatetype : pel7
5 minram: 2048
6 location: http ://10.59.39.200/ yum/pel /7/{{ machinearch }}/os/
7 repos:
8 - name: "PowerEL -base"
9 uri: "http ://10.59.39.200/ yum/pel /7/{{ machinearch }}/ base/packages/"
10 cost: 100
11 textrargs: ’text repo ={{ location }} ks=file :/{{ inventory_hostname }}. cfg
console=hvc0 ,115200 headless noshell nofirewire rd_NO_PLYMOUTH plymouth.enable
=0 biosdevname =0 elevator=noop geoloc =0 nopass kdump_addon =off nopcmia ’
¦ ¥
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 22 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
3
Icinga2
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 23 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Icinga2 - Main Task
§ ¤
1 - name: check whether icinga2 variable are set correctly
2 action: fail msg="Icinga2 variables set incorrectly , please set OR master OR
zone , do not set both at the same time."
3 when: icinga2_master is defined and icinga2_zone is defined
4
5 - name: install icinga2 master
6 include: master.yml
7 when: icinga2_master is defined and icinga2_master == true
8
9 - name: install icinga2 zonemaster
10 include: zonemaster.yml
11 when: icinga2_zonemaster is defined and icinga2_zonemaster == true
¦ ¥
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 24 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Icinga2 - Master§ ¤
1 - name: install icinga2 packages
2 action: yum name ={{ item }} state=latest
3 with_items:
4 - icinga2 -common
5 - icinga2 -bin
6 - icinga2 -python
7 - icinga2
8 - icinga2 -ido -pgsql
9 - icingaweb2
10 - python -carbon
11 - python -whisper
12 - graphite -web
13 - libXrender
14 - libX11
15 - nrpe
16 - nagios -plugins
17 - nagios -plugins -ping
18 - nagios -plugins -nrpe
19 - nagios -plugins -disk
20 - nagios -plugins -load
21 - nagios -plugins -users
22 - nagios -plugins -procs
23 - nagios -plugins -swap
24 - nagios -plugins -ssh
25 - nagios -plugins -tcp
26 - nagios -plugins -check_rbl
27 - nagios -plugins -by_ssh
28 - nagios -plugins -dig
29 - nagios -plugins -http
30 - nagios -plugins -smtp
31 - nagios -plugins -dns
32 - nagios -plugins -snmp
33
34 - name: copy main icinga2 configuration files
35 action: template src ={{ item }} dest =/ etc/icinga2 /{{ item }} owner=icinga
group=icinga mode =550 setype=etc_t
36 with_items:
37 - icinga2.conf
38 - zones.conf
39 - constants.conf
40
41 - name: copy features configuration files into icinga2 feature activation
directory
42 action: template src ={{ item }} dest =/ etc/icinga2/features -available /{{ item
}}
43 with_items:
44 - api.conf
45 - ido -pgsql.conf
46 - graphite.conf
47
48 - name: activate icinga2 features
49 action: command /usr/sbin/icinga2 feature enable {{ item }}
50 with_items:
51 - ido -pgsql
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 25 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Icinga2 - Zonemaster§ ¤
1 - name: install icinga2 packages
2 action: yum name ={{ item }} state=latest
3 with_items:
4 - icinga2 -common
5 - icinga2 -bin
6 - icinga2 -python
7 - icinga2
8 - nrpe
9 - nagios -plugins
10 - nagios -plugins -ping
11 - nagios -plugins -nrpe
12 - nagios -plugins -disk
13 - nagios -plugins -load
14 - nagios -plugins -users
15 - nagios -plugins -procs
16 - nagios -plugins -swap
17 - nagios -plugins -ssh
18 - nagios -plugins -tcp
19 - nagios -plugins -check_rbl
20 - nagios -plugins -by_ssh
21 - nagios -plugins -dig
22 - nagios -plugins -http
23 - nagios -plugins -smtp
24 - nagios -plugins -dns
25 - nagios -plugins - check_cups_queue
26 - nagios -plugins -check_sip
27 - nagios -plugins -dhcp
28 - nagios -plugins -snmp
29
30 - name: copy main icinga2 configuration files
31 action: template src ={{ item }} dest =/ etc/icinga2 /{{ item }} owner=icinga
group=icinga mode =550 setype=etc_t
32 with_items:
33 - icinga2.conf
34 - zones.conf
35 - constants.conf
36
37 - name: copy features configuration files into icinga2 feature activation
directory
38 action: template src ={{ item }} dest =/ etc/icinga2/features -available /{{ item
}}
39 with_items:
40 - api.conf
41
42 - name: activate icinga2 features
43 action: command /sbin/icinga2 -enable -feature {{ item }}
44 with_items:
45 - api
46
47 - name: check if a configuration already exists
48 action: stat path =/etc/icinga2/conf.d/templates.conf
49 register: defaultconfig
50
51 - name: remove default configuration
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 26 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Icinga2 - zones.conf
§ ¤
1 /*
2 * --------------------------------------------------
3 * VanTosh Icinga2 Zone Configuration File
4 * (c) copyleft 2014 VanTosh
5 * Author: Toshaan Bharvani <toshaan@vantosh .com >
6 * --------------------------------------------------
7 * {{ ansible_managed }}
8 */
9
10 {% for icinga2_zone in icinga2_zones %}
11 object Endpoint "{{ icinga2_zone .nodename }}" {
12 host = "{{ icinga2_zone .hostname }}"
13 port = {{ icinga2_zone .port }}
14 }
15 object Zone "{{ icinga2_zone .zonename }}" {
16 endpoints = [ "{{ icinga2_zone .nodename }}" ]
17 {% if icinga2_zone .parent is defined %}
18 parent = "{{ icinga2_zone .parent }}"
19 {% endif %}
20 }
21 {% endfor %}
¦ ¥
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 27 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Icinga2 Client (0)
§ ¤
1 - name: set variables for nrpe - RedHat
2 include_vars : redhat.yml
3 when: ansible_os_family == ’RedHat ’
4
5 - name: install nrpe packages and configuration - RedHat
6 include: redhat.yml
7 when: ansible_os_family == ’RedHat ’
8
9 - name: set variables for nrpe - FreeBSD
10 include_vars : freebsd.yml
11 when: ansible_os_family == ’FreeBSD ’
12
13 - name: install nrpe packages and configuration - FreeBSD
14 include: freebsd.yml
15 when: ansible_os_family == ’FreeBSD ’
16
17 - name: add host to monitoring system
18 action: template src=host.conf dest =/ etc/icinga2/zones.d/{{ nrpe.zone }}/{{
inventory_hostname }}.{{ domain }}. conf owner=icinga group=icinga mode =550
setype=etc_t
19 delegate_to: trivikrama
20 notify: reload icinga2
¦ ¥
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 28 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Icinga2 Client (1)
§ ¤
1 - name: install icinga2 packages and dependencies
2 action: yum pkg ={{ item }} state=latest
3 with_items:
4 - icinga2
5 - nagios -plugins -disk
6 - nagios -plugins -load
7 - nagios -plugins -users
8 - nagios -plugins -procs
9 - nagios -plugins -swap
10 - nagios -plugins - check_iostat
11 - bc
12 - sysstat
13
14 - name: base icinga2 config
15 action: template src=nrpe.cfg dest =/etc/nagios/nrpe.cfg
16
17 - name: nrpe commands
18 action: template src ={{ item }}. cfg dest =/etc/nrpe.d/
19 with_items:
20 - users
21 - disk
22 - procs
23 - load
24 - swap
25 - iostat
26
27 - name: restart icinga2 daemon
28 action: service name=icinga2 state=restarted enabled=yes
¦ ¥
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 29 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Icinga2 Client - disk.cfg
§ ¤
1 {% for location in ansible_mounts %}
2 {% if location.fstype != ’cifs ’ and location.fstype != ’nfs’ and location.
fstype != ’fuse ’ and location.fstype != ’linprocfs ’ and location.fstype != ’
fdescfs ’ and location.fstype != ’swap ’ %}
3 command[check_disk_ {{ location.mount }}]={{ nrpe_checkcmddir }} check_disk -w
15% -c 7% -p {{ location.mount }}
4 {% endif %}
5 {% endfor %}
¦ ¥
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 30 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Icinga2 Client - memory.cfg
§ ¤
1 command[ check_memory ]={{ nrpe_checkcmddir }}pmp -check -unix -memory -w 50 -c 75
¦ ¥
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 31 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Icinga2 Client - iostat.cfg
§ ¤
1 {% for disk in ansible_devices %}
2 {% if disk != ’sr0’ %}
3 command[ check_iostat_ {{ disk }}]={{ nrpe_checkcmddir }} check_iostat -d {{ disk
}} -w 750 -c 1250
4 {% endif %}
5 {% endfor %}
¦ ¥
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 32 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Icinga2 Client - host.conf§ ¤
1 /*
2 * --------------------------------------------------
3 * VanTosh Icinga2 Host File
4 * (c) copyleft 2014 VanTosh
5 * Author: Toshaan Bharvani <toshaan@vantosh .com >
6 * --------------------------------------------------
7 * {{ ansible_managed }}
8 * --------------------------------------------------
9 {% if ddns is defined %}
10 * {{ ddns.hostname }}.{{ ddns.domain }}
11 {% else %}
12 * {{ ansible_ssh_host }}
13 {% endif %}
14 * fqdn: {{ ansible_fqdn }}
15 * ansible: {{ inventory_hostname }}
16 * --------------------------------------------------
17 */
18
19
20 object Host "{{ inventory_hostname }}" {
21 import "generic -host"
22 display_name = "{{ inventory_hostname }}"
23 address = "{{ nrpe.address }}"
24 {% if ansible_virtualization_role is defined %}
25 {% if hyper is not defined and ansible_virtualization_role == ’host ’ %}
26 {% elif hyper is defined and ansible_virtualization_role == ’guest ’ %}
27 // parent_host_name = "{{ hyper }}.{{ domain }}"
28 {% endif %}
29 {% endif %}
30 vars.sla = "24x7"
31 }
32
33 object Service "ssh" {
34 import "generic -service"
35 host_name = "{{ inventory_hostname }}"
36 display_name = "SSH {{ inventory_hostname }}"
37 check_command = "ssh"
38 vars.ssh_port = {{ ansible_ssh_port }}
39 }
40
41 object Service " current_users " {
42 import "generic -service"
43 host_name = "{{ inventory_hostname }}"
44 display_name = "Current Users"
45 check_command = "nrpe"
46 vars. nrpe_command = " check_users "
47 {% if nrpe.port is defined %}
48 vars.nrpe_port = {{ nrpe.port }}
49 {% else %}
50 vars.nrpe_port = 5666
51 {% endif %}
52 {% if nrpe_ssl is defined and nrpe_ssl == false %}
53 vars. nrpe_no_ssl = trueDeploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 33 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
4
Conclusion
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 34 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
Conclusion
Automation MUST
[RFC2119] be easy
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 35 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
More information
• Icinga : http://www.icinga.org
• Ansible : http://www.ansible.com/
• Ansible Roles Install VM : https:
//github.com/toshywoshy/ansible-roles-vminstall
• Ansible Roles Icinga2 :
https://github.com/toshywoshy/ansible-roles-icinga2
• Ansible Roles NRPE :
https://github.com/toshywoshy/ansible-roles-nrpe
• Ansible Roles NCSA-ng :
https://github.com/toshywoshy/ansible-roles-ncsang
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 36 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
More information
• Icinga : http://www.icinga.org
• Ansible : http://www.ansible.com/
• Ansible Roles Install VM : https:
//github.com/toshywoshy/ansible-roles-vminstall
• Ansible Roles Icinga2 :
https://github.com/toshywoshy/ansible-roles-icinga2
• Ansible Roles NRPE :
https://github.com/toshywoshy/ansible-roles-nrpe
• Ansible Roles NCSA-ng :
https://github.com/toshywoshy/ansible-roles-ncsang
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 36 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
More information
• Icinga : http://www.icinga.org
• Ansible : http://www.ansible.com/
• Ansible Roles Install VM : https:
//github.com/toshywoshy/ansible-roles-vminstall
• Ansible Roles Icinga2 :
https://github.com/toshywoshy/ansible-roles-icinga2
• Ansible Roles NRPE :
https://github.com/toshywoshy/ansible-roles-nrpe
• Ansible Roles NCSA-ng :
https://github.com/toshywoshy/ansible-roles-ncsang
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 36 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
More information
• Icinga : http://www.icinga.org
• Ansible : http://www.ansible.com/
• Ansible Roles Install VM : https:
//github.com/toshywoshy/ansible-roles-vminstall
• Ansible Roles Icinga2 :
https://github.com/toshywoshy/ansible-roles-icinga2
• Ansible Roles NRPE :
https://github.com/toshywoshy/ansible-roles-nrpe
• Ansible Roles NCSA-ng :
https://github.com/toshywoshy/ansible-roles-ncsang
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 36 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
More information
• Icinga : http://www.icinga.org
• Ansible : http://www.ansible.com/
• Ansible Roles Install VM : https:
//github.com/toshywoshy/ansible-roles-vminstall
• Ansible Roles Icinga2 :
https://github.com/toshywoshy/ansible-roles-icinga2
• Ansible Roles NRPE :
https://github.com/toshywoshy/ansible-roles-nrpe
• Ansible Roles NCSA-ng :
https://github.com/toshywoshy/ansible-roles-ncsang
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 36 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
More information
• Icinga : http://www.icinga.org
• Ansible : http://www.ansible.com/
• Ansible Roles Install VM : https:
//github.com/toshywoshy/ansible-roles-vminstall
• Ansible Roles Icinga2 :
https://github.com/toshywoshy/ansible-roles-icinga2
• Ansible Roles NRPE :
https://github.com/toshywoshy/ansible-roles-nrpe
• Ansible Roles NCSA-ng :
https://github.com/toshywoshy/ansible-roles-ncsang
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 36 / 37
Deploying
Icinga2 through
Ansible
Toshaan
Bharvani -
VanTosh bvba
Monitoring
Automation
Inventory
Virtual
Machines
Icinga2
Icinga2 Masters
Icinga2 Clients
Conclusion
The End
The End
Thank You
Toshaan Bharvani - VanTosh bvba <toshaan@vantosh.com>
http://www.vantosh.com/
Made with Beamer LATEX
a TEXbased Presentation program
Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 37 / 37

More Related Content

What's hot

Icinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrationsIcinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrations
Icinga
 
Introduction into Icinga Web 2
Introduction into Icinga Web 2Introduction into Icinga Web 2
Introduction into Icinga Web 2
Icinga
 
Introduction into Icinga
Introduction into IcingaIntroduction into Icinga
Introduction into Icinga
Icinga
 
Icinga Camp Amsterdam - Introduction into Icinga Web 2
Icinga Camp Amsterdam - Introduction into Icinga Web 2Icinga Camp Amsterdam - Introduction into Icinga Web 2
Icinga Camp Amsterdam - Introduction into Icinga Web 2
Icinga
 
Icinga Camp Antwerp - Icinga2 Configuration
Icinga Camp Antwerp - Icinga2 ConfigurationIcinga Camp Antwerp - Icinga2 Configuration
Icinga Camp Antwerp - Icinga2 Configuration
Icinga
 
Icinga 2010 at CeBIT
Icinga 2010 at CeBITIcinga 2010 at CeBIT
Icinga 2010 at CeBIT
Icinga
 
Icinga Director
Icinga DirectorIcinga Director
Icinga Director
Icinga
 
Icinga Camp San Diego 2016 - Icinga Web 2
Icinga Camp San Diego 2016 - Icinga Web 2Icinga Camp San Diego 2016 - Icinga Web 2
Icinga Camp San Diego 2016 - Icinga Web 2
Icinga
 
Icinga Camp Belgrade - Icinga Web 2
Icinga Camp Belgrade - Icinga Web 2Icinga Camp Belgrade - Icinga Web 2
Icinga Camp Belgrade - Icinga Web 2
Icinga
 
Icinga Web 2 at Icinga Camp San Francisco
Icinga Web 2 at Icinga Camp San FranciscoIcinga Web 2 at Icinga Camp San Francisco
Icinga Web 2 at Icinga Camp San Francisco
Icinga
 
Icinga Camp Bangalore - Welcome
Icinga Camp Bangalore - WelcomeIcinga Camp Bangalore - Welcome
Icinga Camp Bangalore - Welcome
Icinga
 
IcingaCamp Stockholm - Icinga Web2
IcingaCamp Stockholm - Icinga Web2IcingaCamp Stockholm - Icinga Web2
IcingaCamp Stockholm - Icinga Web2
Icinga
 
Icinga Camp San Diego: Apify them all
Icinga Camp San Diego: Apify them allIcinga Camp San Diego: Apify them all
Icinga Camp San Diego: Apify them all
Icinga
 
Open Source Monitoring with Icinga at Fossasia 2015
Open Source Monitoring with Icinga at Fossasia 2015Open Source Monitoring with Icinga at Fossasia 2015
Open Source Monitoring with Icinga at Fossasia 2015
Icinga
 
Icinga Camp Barcelona - Icinga Web 2
Icinga Camp Barcelona - Icinga Web 2Icinga Camp Barcelona - Icinga Web 2
Icinga Camp Barcelona - Icinga Web 2
Icinga
 
Icinga Web 2 at Icinga Camp Antwerp
Icinga Web 2 at Icinga Camp AntwerpIcinga Web 2 at Icinga Camp Antwerp
Icinga Web 2 at Icinga Camp Antwerp
Icinga
 
Icinga Web 2 is more
Icinga Web 2 is moreIcinga Web 2 is more
Icinga Web 2 is more
Icinga
 
Icinga Camp Bangalore - Icinga and Icinga Director
Icinga Camp Bangalore - Icinga and Icinga Director Icinga Camp Bangalore - Icinga and Icinga Director
Icinga Camp Bangalore - Icinga and Icinga Director
Icinga
 
Icinga Camp Bangalore - Enterprise exceptions
Icinga Camp Bangalore - Enterprise exceptions Icinga Camp Bangalore - Enterprise exceptions
Icinga Camp Bangalore - Enterprise exceptions
Icinga
 
Monitoring OpenNebula with Icinga2
Monitoring OpenNebula with Icinga2Monitoring OpenNebula with Icinga2
Monitoring OpenNebula with Icinga2
Icinga
 

What's hot (20)

Icinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrationsIcinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrations
 
Introduction into Icinga Web 2
Introduction into Icinga Web 2Introduction into Icinga Web 2
Introduction into Icinga Web 2
 
Introduction into Icinga
Introduction into IcingaIntroduction into Icinga
Introduction into Icinga
 
Icinga Camp Amsterdam - Introduction into Icinga Web 2
Icinga Camp Amsterdam - Introduction into Icinga Web 2Icinga Camp Amsterdam - Introduction into Icinga Web 2
Icinga Camp Amsterdam - Introduction into Icinga Web 2
 
Icinga Camp Antwerp - Icinga2 Configuration
Icinga Camp Antwerp - Icinga2 ConfigurationIcinga Camp Antwerp - Icinga2 Configuration
Icinga Camp Antwerp - Icinga2 Configuration
 
Icinga 2010 at CeBIT
Icinga 2010 at CeBITIcinga 2010 at CeBIT
Icinga 2010 at CeBIT
 
Icinga Director
Icinga DirectorIcinga Director
Icinga Director
 
Icinga Camp San Diego 2016 - Icinga Web 2
Icinga Camp San Diego 2016 - Icinga Web 2Icinga Camp San Diego 2016 - Icinga Web 2
Icinga Camp San Diego 2016 - Icinga Web 2
 
Icinga Camp Belgrade - Icinga Web 2
Icinga Camp Belgrade - Icinga Web 2Icinga Camp Belgrade - Icinga Web 2
Icinga Camp Belgrade - Icinga Web 2
 
Icinga Web 2 at Icinga Camp San Francisco
Icinga Web 2 at Icinga Camp San FranciscoIcinga Web 2 at Icinga Camp San Francisco
Icinga Web 2 at Icinga Camp San Francisco
 
Icinga Camp Bangalore - Welcome
Icinga Camp Bangalore - WelcomeIcinga Camp Bangalore - Welcome
Icinga Camp Bangalore - Welcome
 
IcingaCamp Stockholm - Icinga Web2
IcingaCamp Stockholm - Icinga Web2IcingaCamp Stockholm - Icinga Web2
IcingaCamp Stockholm - Icinga Web2
 
Icinga Camp San Diego: Apify them all
Icinga Camp San Diego: Apify them allIcinga Camp San Diego: Apify them all
Icinga Camp San Diego: Apify them all
 
Open Source Monitoring with Icinga at Fossasia 2015
Open Source Monitoring with Icinga at Fossasia 2015Open Source Monitoring with Icinga at Fossasia 2015
Open Source Monitoring with Icinga at Fossasia 2015
 
Icinga Camp Barcelona - Icinga Web 2
Icinga Camp Barcelona - Icinga Web 2Icinga Camp Barcelona - Icinga Web 2
Icinga Camp Barcelona - Icinga Web 2
 
Icinga Web 2 at Icinga Camp Antwerp
Icinga Web 2 at Icinga Camp AntwerpIcinga Web 2 at Icinga Camp Antwerp
Icinga Web 2 at Icinga Camp Antwerp
 
Icinga Web 2 is more
Icinga Web 2 is moreIcinga Web 2 is more
Icinga Web 2 is more
 
Icinga Camp Bangalore - Icinga and Icinga Director
Icinga Camp Bangalore - Icinga and Icinga Director Icinga Camp Bangalore - Icinga and Icinga Director
Icinga Camp Bangalore - Icinga and Icinga Director
 
Icinga Camp Bangalore - Enterprise exceptions
Icinga Camp Bangalore - Enterprise exceptions Icinga Camp Bangalore - Enterprise exceptions
Icinga Camp Bangalore - Enterprise exceptions
 
Monitoring OpenNebula with Icinga2
Monitoring OpenNebula with Icinga2Monitoring OpenNebula with Icinga2
Monitoring OpenNebula with Icinga2
 

Viewers also liked

Icinga 2 and Puppet automate monitoring
Icinga 2 and Puppet  automate monitoringIcinga 2 and Puppet  automate monitoring
Icinga 2 and Puppet automate monitoring
Icinga
 
Icinga2 in the middle of your toolstack
Icinga2 in the middle of your toolstackIcinga2 in the middle of your toolstack
Icinga2 in the middle of your toolstack
Icinga
 
Automating Monitoring with Puppet
Automating Monitoring with PuppetAutomating Monitoring with Puppet
Automating Monitoring with Puppet
Christian Mague
 
Icinga Camp Barcelona - Icinga
Icinga Camp Barcelona - IcingaIcinga Camp Barcelona - Icinga
Icinga Camp Barcelona - Icinga
Icinga
 
Monitoring as Code - Ignite
Monitoring as Code - IgniteMonitoring as Code - Ignite
Monitoring as Code - Ignite
Icinga
 
Puppet Camp Portland: Nagios Management With Puppet (Beginner)
Puppet Camp Portland: Nagios Management With Puppet (Beginner)Puppet Camp Portland: Nagios Management With Puppet (Beginner)
Puppet Camp Portland: Nagios Management With Puppet (Beginner)
Puppet
 
The Unrealized Role of Monitoring & Alerting w/ Jason Hand
The Unrealized Role of Monitoring & Alerting w/ Jason HandThe Unrealized Role of Monitoring & Alerting w/ Jason Hand
The Unrealized Role of Monitoring & Alerting w/ Jason Hand
Sonatype
 
Icinga 2 at Icinga Camp San Francisco
Icinga 2 at Icinga Camp San FranciscoIcinga 2 at Icinga Camp San Francisco
Icinga 2 at Icinga Camp San Francisco
Icinga
 
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
Icinga
 
Icinga 2 @ SIG-NOC Meeting
Icinga 2 @ SIG-NOC MeetingIcinga 2 @ SIG-NOC Meeting
Icinga 2 @ SIG-NOC Meeting
Icinga
 

Viewers also liked (10)

Icinga 2 and Puppet automate monitoring
Icinga 2 and Puppet  automate monitoringIcinga 2 and Puppet  automate monitoring
Icinga 2 and Puppet automate monitoring
 
Icinga2 in the middle of your toolstack
Icinga2 in the middle of your toolstackIcinga2 in the middle of your toolstack
Icinga2 in the middle of your toolstack
 
Automating Monitoring with Puppet
Automating Monitoring with PuppetAutomating Monitoring with Puppet
Automating Monitoring with Puppet
 
Icinga Camp Barcelona - Icinga
Icinga Camp Barcelona - IcingaIcinga Camp Barcelona - Icinga
Icinga Camp Barcelona - Icinga
 
Monitoring as Code - Ignite
Monitoring as Code - IgniteMonitoring as Code - Ignite
Monitoring as Code - Ignite
 
Puppet Camp Portland: Nagios Management With Puppet (Beginner)
Puppet Camp Portland: Nagios Management With Puppet (Beginner)Puppet Camp Portland: Nagios Management With Puppet (Beginner)
Puppet Camp Portland: Nagios Management With Puppet (Beginner)
 
The Unrealized Role of Monitoring & Alerting w/ Jason Hand
The Unrealized Role of Monitoring & Alerting w/ Jason HandThe Unrealized Role of Monitoring & Alerting w/ Jason Hand
The Unrealized Role of Monitoring & Alerting w/ Jason Hand
 
Icinga 2 at Icinga Camp San Francisco
Icinga 2 at Icinga Camp San FranciscoIcinga 2 at Icinga Camp San Francisco
Icinga 2 at Icinga Camp San Francisco
 
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
 
Icinga 2 @ SIG-NOC Meeting
Icinga 2 @ SIG-NOC MeetingIcinga 2 @ SIG-NOC Meeting
Icinga 2 @ SIG-NOC Meeting
 

Similar to Icinga Camp Bangalore - Icinga2 and Ansible

OSMC 2017 | Icinga 2 Multi Zone HA Setup using Ansible by Toshaan Bharvani
OSMC 2017 | Icinga 2 Multi Zone HA Setup using Ansible by Toshaan BharvaniOSMC 2017 | Icinga 2 Multi Zone HA Setup using Ansible by Toshaan Bharvani
OSMC 2017 | Icinga 2 Multi Zone HA Setup using Ansible by Toshaan Bharvani
NETWAYS
 
Cebit 2015 icinga
Cebit 2015 icingaCebit 2015 icinga
Cebit 2015 icingaIcinga
 
Monitoring with Icinga @ SF Bay Area LSPE meetup
Monitoring with Icinga @ SF Bay Area LSPE meetupMonitoring with Icinga @ SF Bay Area LSPE meetup
Monitoring with Icinga @ SF Bay Area LSPE meetupPromet Source
 
OpenStack Glance Project Update
OpenStack Glance Project UpdateOpenStack Glance Project Update
OpenStack Glance Project Update
Brian Rosmaita
 
Icinga Camp Antwerp - Current State of Icinga
Icinga Camp Antwerp - Current State of IcingaIcinga Camp Antwerp - Current State of Icinga
Icinga Camp Antwerp - Current State of Icinga
Icinga
 
Developing ZenPacks the Right Way: Introducing the SDK
Developing ZenPacks the Right Way: Introducing the SDK Developing ZenPacks the Right Way: Introducing the SDK
Developing ZenPacks the Right Way: Introducing the SDK
Zenoss
 
Nagios Conference 2012 - Jason Cook - Nagios and Mod-Gearman
Nagios Conference 2012 - Jason Cook - Nagios and Mod-GearmanNagios Conference 2012 - Jason Cook - Nagios and Mod-Gearman
Nagios Conference 2012 - Jason Cook - Nagios and Mod-Gearman
Nagios
 
Why favor Icinga over Nagios @ DebConf15
Why favor Icinga over Nagios @ DebConf15Why favor Icinga over Nagios @ DebConf15
Why favor Icinga over Nagios @ DebConf15
Icinga
 
Camunda and Apache Cassandra
Camunda and Apache CassandraCamunda and Apache Cassandra
Camunda and Apache Cassandra
camunda services GmbH
 
Icinga at Flossuk 2015 in York
Icinga at Flossuk 2015 in YorkIcinga at Flossuk 2015 in York
Icinga at Flossuk 2015 in York
Icinga
 
OSMC 2017 | Current State of Icinga by Erk Bernd
OSMC 2017 | Current State of Icinga by Erk BerndOSMC 2017 | Current State of Icinga by Erk Bernd
OSMC 2017 | Current State of Icinga by Erk Bernd
NETWAYS
 
21st Century iBGP Route Reflection by Mark Tinka
21st Century iBGP Route Reflection by Mark Tinka21st Century iBGP Route Reflection by Mark Tinka
21st Century iBGP Route Reflection by Mark TinkaMyNOG
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
Jules Pierre-Louis
 
Icinga 2010 at OSMC
Icinga 2010 at OSMCIcinga 2010 at OSMC
Icinga 2010 at OSMC
Icinga
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPrem
Kris Buytaert
 
Lean & agile with MongoDB
Lean & agile with MongoDBLean & agile with MongoDB
Lean & agile with MongoDB
Johannes Brandstetter
 
Building Pistachio with Sencha Touch 2 (introductory)
Building Pistachio with Sencha Touch 2 (introductory)Building Pistachio with Sencha Touch 2 (introductory)
Building Pistachio with Sencha Touch 2 (introductory)
Luis Merino
 
Infrastructure as Data with Ansible for easier Continuous Delivery
Infrastructure as Data with Ansible for easier Continuous DeliveryInfrastructure as Data with Ansible for easier Continuous Delivery
Infrastructure as Data with Ansible for easier Continuous Delivery
Carlo Bonamico
 
Throughwave Day 2015 - Throughwave Next Generation Enterprise IT Infrastructure
Throughwave Day 2015 - Throughwave Next Generation Enterprise IT InfrastructureThroughwave Day 2015 - Throughwave Next Generation Enterprise IT Infrastructure
Throughwave Day 2015 - Throughwave Next Generation Enterprise IT Infrastructure
Aruj Thirawat
 
Accelerated SDN in Azure
Accelerated SDN in AzureAccelerated SDN in Azure
Accelerated SDN in Azure
Open Networking Summit
 

Similar to Icinga Camp Bangalore - Icinga2 and Ansible (20)

OSMC 2017 | Icinga 2 Multi Zone HA Setup using Ansible by Toshaan Bharvani
OSMC 2017 | Icinga 2 Multi Zone HA Setup using Ansible by Toshaan BharvaniOSMC 2017 | Icinga 2 Multi Zone HA Setup using Ansible by Toshaan Bharvani
OSMC 2017 | Icinga 2 Multi Zone HA Setup using Ansible by Toshaan Bharvani
 
Cebit 2015 icinga
Cebit 2015 icingaCebit 2015 icinga
Cebit 2015 icinga
 
Monitoring with Icinga @ SF Bay Area LSPE meetup
Monitoring with Icinga @ SF Bay Area LSPE meetupMonitoring with Icinga @ SF Bay Area LSPE meetup
Monitoring with Icinga @ SF Bay Area LSPE meetup
 
OpenStack Glance Project Update
OpenStack Glance Project UpdateOpenStack Glance Project Update
OpenStack Glance Project Update
 
Icinga Camp Antwerp - Current State of Icinga
Icinga Camp Antwerp - Current State of IcingaIcinga Camp Antwerp - Current State of Icinga
Icinga Camp Antwerp - Current State of Icinga
 
Developing ZenPacks the Right Way: Introducing the SDK
Developing ZenPacks the Right Way: Introducing the SDK Developing ZenPacks the Right Way: Introducing the SDK
Developing ZenPacks the Right Way: Introducing the SDK
 
Nagios Conference 2012 - Jason Cook - Nagios and Mod-Gearman
Nagios Conference 2012 - Jason Cook - Nagios and Mod-GearmanNagios Conference 2012 - Jason Cook - Nagios and Mod-Gearman
Nagios Conference 2012 - Jason Cook - Nagios and Mod-Gearman
 
Why favor Icinga over Nagios @ DebConf15
Why favor Icinga over Nagios @ DebConf15Why favor Icinga over Nagios @ DebConf15
Why favor Icinga over Nagios @ DebConf15
 
Camunda and Apache Cassandra
Camunda and Apache CassandraCamunda and Apache Cassandra
Camunda and Apache Cassandra
 
Icinga at Flossuk 2015 in York
Icinga at Flossuk 2015 in YorkIcinga at Flossuk 2015 in York
Icinga at Flossuk 2015 in York
 
OSMC 2017 | Current State of Icinga by Erk Bernd
OSMC 2017 | Current State of Icinga by Erk BerndOSMC 2017 | Current State of Icinga by Erk Bernd
OSMC 2017 | Current State of Icinga by Erk Bernd
 
21st Century iBGP Route Reflection by Mark Tinka
21st Century iBGP Route Reflection by Mark Tinka21st Century iBGP Route Reflection by Mark Tinka
21st Century iBGP Route Reflection by Mark Tinka
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
 
Icinga 2010 at OSMC
Icinga 2010 at OSMCIcinga 2010 at OSMC
Icinga 2010 at OSMC
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPrem
 
Lean & agile with MongoDB
Lean & agile with MongoDBLean & agile with MongoDB
Lean & agile with MongoDB
 
Building Pistachio with Sencha Touch 2 (introductory)
Building Pistachio with Sencha Touch 2 (introductory)Building Pistachio with Sencha Touch 2 (introductory)
Building Pistachio with Sencha Touch 2 (introductory)
 
Infrastructure as Data with Ansible for easier Continuous Delivery
Infrastructure as Data with Ansible for easier Continuous DeliveryInfrastructure as Data with Ansible for easier Continuous Delivery
Infrastructure as Data with Ansible for easier Continuous Delivery
 
Throughwave Day 2015 - Throughwave Next Generation Enterprise IT Infrastructure
Throughwave Day 2015 - Throughwave Next Generation Enterprise IT InfrastructureThroughwave Day 2015 - Throughwave Next Generation Enterprise IT Infrastructure
Throughwave Day 2015 - Throughwave Next Generation Enterprise IT Infrastructure
 
Accelerated SDN in Azure
Accelerated SDN in AzureAccelerated SDN in Azure
Accelerated SDN in Azure
 

More from Icinga

Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
Icinga
 
Extending Icinga Web with Modules: powerful, smart and easily created - Icing...
Extending Icinga Web with Modules: powerful, smart and easily created - Icing...Extending Icinga Web with Modules: powerful, smart and easily created - Icing...
Extending Icinga Web with Modules: powerful, smart and easily created - Icing...
Icinga
 
Infrastructure Monitoring for Cloud Native Enterprises - Icinga Camp Milan 2023
Infrastructure Monitoring for Cloud Native Enterprises - Icinga Camp Milan 2023Infrastructure Monitoring for Cloud Native Enterprises - Icinga Camp Milan 2023
Infrastructure Monitoring for Cloud Native Enterprises - Icinga Camp Milan 2023
Icinga
 
Incident management: Best industry practices your team should know - Icinga C...
Incident management: Best industry practices your team should know - Icinga C...Incident management: Best industry practices your team should know - Icinga C...
Incident management: Best industry practices your team should know - Icinga C...
Icinga
 
Monitoring Cooling Units in a pharmaceutical GxP regulated environment - Icin...
Monitoring Cooling Units in a pharmaceutical GxP regulated environment - Icin...Monitoring Cooling Units in a pharmaceutical GxP regulated environment - Icin...
Monitoring Cooling Units in a pharmaceutical GxP regulated environment - Icin...
Icinga
 
SNMP Monitoring at scale - Icinga Camp Milan 2023
SNMP Monitoring at scale - Icinga Camp Milan 2023SNMP Monitoring at scale - Icinga Camp Milan 2023
SNMP Monitoring at scale - Icinga Camp Milan 2023
Icinga
 
Monitoring Kubernetes with Icinga - Icinga Camp Milan 2023
Monitoring Kubernetes with Icinga - Icinga Camp Milan 2023Monitoring Kubernetes with Icinga - Icinga Camp Milan 2023
Monitoring Kubernetes with Icinga - Icinga Camp Milan 2023
Icinga
 
Current State of Icinga - Icinga Camp Milan 2023
Current State of Icinga - Icinga Camp Milan 2023Current State of Icinga - Icinga Camp Milan 2023
Current State of Icinga - Icinga Camp Milan 2023
Icinga
 
Efficient IT operations using monitoring systems and standardized tools - Ici...
Efficient IT operations using monitoring systems and standardized tools - Ici...Efficient IT operations using monitoring systems and standardized tools - Ici...
Efficient IT operations using monitoring systems and standardized tools - Ici...
Icinga
 
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019
Icinga
 
Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019
Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019
Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019
Icinga
 
Moving from Icinga 1 to Icinga 2 + Director - Icinga Camp Zurich 2019
Moving from Icinga 1 to Icinga 2 + Director - Icinga Camp Zurich 2019Moving from Icinga 1 to Icinga 2 + Director - Icinga Camp Zurich 2019
Moving from Icinga 1 to Icinga 2 + Director - Icinga Camp Zurich 2019
Icinga
 
Icinga Director and vSphereDB - how they play together - Icinga Camp Zurich 2019
Icinga Director and vSphereDB - how they play together - Icinga Camp Zurich 2019Icinga Director and vSphereDB - how they play together - Icinga Camp Zurich 2019
Icinga Director and vSphereDB - how they play together - Icinga Camp Zurich 2019
Icinga
 
Current State of Icinga - Icinga Camp Zurich 2019
Current State of Icinga - Icinga Camp Zurich 2019Current State of Icinga - Icinga Camp Zurich 2019
Current State of Icinga - Icinga Camp Zurich 2019
Icinga
 
NetEye 4 based on Icinga 2 - Icinga Camp Milan 2019
NetEye 4 based on Icinga 2 - Icinga Camp Milan 2019NetEye 4 based on Icinga 2 - Icinga Camp Milan 2019
NetEye 4 based on Icinga 2 - Icinga Camp Milan 2019
Icinga
 
Integrating Icinga 2 and ntopng - Icinga Camp Milan 2019
Integrating Icinga 2 and ntopng - Icinga Camp Milan 2019Integrating Icinga 2 and ntopng - Icinga Camp Milan 2019
Integrating Icinga 2 and ntopng - Icinga Camp Milan 2019
Icinga
 
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
Icinga
 
Current State of Icinga - Icinga Camp Milan 2019
Current State of Icinga - Icinga Camp Milan 2019Current State of Icinga - Icinga Camp Milan 2019
Current State of Icinga - Icinga Camp Milan 2019
Icinga
 
Best of Icinga Modules - Icinga Camp Milan 2019
Best of Icinga Modules - Icinga Camp Milan 2019Best of Icinga Modules - Icinga Camp Milan 2019
Best of Icinga Modules - Icinga Camp Milan 2019
Icinga
 
hallenges of Monitoring Big Infrastructure - Icinga Camp Milan 2019
hallenges of Monitoring Big Infrastructure - Icinga Camp Milan 2019hallenges of Monitoring Big Infrastructure - Icinga Camp Milan 2019
hallenges of Monitoring Big Infrastructure - Icinga Camp Milan 2019
Icinga
 

More from Icinga (20)

Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
 
Extending Icinga Web with Modules: powerful, smart and easily created - Icing...
Extending Icinga Web with Modules: powerful, smart and easily created - Icing...Extending Icinga Web with Modules: powerful, smart and easily created - Icing...
Extending Icinga Web with Modules: powerful, smart and easily created - Icing...
 
Infrastructure Monitoring for Cloud Native Enterprises - Icinga Camp Milan 2023
Infrastructure Monitoring for Cloud Native Enterprises - Icinga Camp Milan 2023Infrastructure Monitoring for Cloud Native Enterprises - Icinga Camp Milan 2023
Infrastructure Monitoring for Cloud Native Enterprises - Icinga Camp Milan 2023
 
Incident management: Best industry practices your team should know - Icinga C...
Incident management: Best industry practices your team should know - Icinga C...Incident management: Best industry practices your team should know - Icinga C...
Incident management: Best industry practices your team should know - Icinga C...
 
Monitoring Cooling Units in a pharmaceutical GxP regulated environment - Icin...
Monitoring Cooling Units in a pharmaceutical GxP regulated environment - Icin...Monitoring Cooling Units in a pharmaceutical GxP regulated environment - Icin...
Monitoring Cooling Units in a pharmaceutical GxP regulated environment - Icin...
 
SNMP Monitoring at scale - Icinga Camp Milan 2023
SNMP Monitoring at scale - Icinga Camp Milan 2023SNMP Monitoring at scale - Icinga Camp Milan 2023
SNMP Monitoring at scale - Icinga Camp Milan 2023
 
Monitoring Kubernetes with Icinga - Icinga Camp Milan 2023
Monitoring Kubernetes with Icinga - Icinga Camp Milan 2023Monitoring Kubernetes with Icinga - Icinga Camp Milan 2023
Monitoring Kubernetes with Icinga - Icinga Camp Milan 2023
 
Current State of Icinga - Icinga Camp Milan 2023
Current State of Icinga - Icinga Camp Milan 2023Current State of Icinga - Icinga Camp Milan 2023
Current State of Icinga - Icinga Camp Milan 2023
 
Efficient IT operations using monitoring systems and standardized tools - Ici...
Efficient IT operations using monitoring systems and standardized tools - Ici...Efficient IT operations using monitoring systems and standardized tools - Ici...
Efficient IT operations using monitoring systems and standardized tools - Ici...
 
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019
 
Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019
Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019
Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019
 
Moving from Icinga 1 to Icinga 2 + Director - Icinga Camp Zurich 2019
Moving from Icinga 1 to Icinga 2 + Director - Icinga Camp Zurich 2019Moving from Icinga 1 to Icinga 2 + Director - Icinga Camp Zurich 2019
Moving from Icinga 1 to Icinga 2 + Director - Icinga Camp Zurich 2019
 
Icinga Director and vSphereDB - how they play together - Icinga Camp Zurich 2019
Icinga Director and vSphereDB - how they play together - Icinga Camp Zurich 2019Icinga Director and vSphereDB - how they play together - Icinga Camp Zurich 2019
Icinga Director and vSphereDB - how they play together - Icinga Camp Zurich 2019
 
Current State of Icinga - Icinga Camp Zurich 2019
Current State of Icinga - Icinga Camp Zurich 2019Current State of Icinga - Icinga Camp Zurich 2019
Current State of Icinga - Icinga Camp Zurich 2019
 
NetEye 4 based on Icinga 2 - Icinga Camp Milan 2019
NetEye 4 based on Icinga 2 - Icinga Camp Milan 2019NetEye 4 based on Icinga 2 - Icinga Camp Milan 2019
NetEye 4 based on Icinga 2 - Icinga Camp Milan 2019
 
Integrating Icinga 2 and ntopng - Icinga Camp Milan 2019
Integrating Icinga 2 and ntopng - Icinga Camp Milan 2019Integrating Icinga 2 and ntopng - Icinga Camp Milan 2019
Integrating Icinga 2 and ntopng - Icinga Camp Milan 2019
 
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
 
Current State of Icinga - Icinga Camp Milan 2019
Current State of Icinga - Icinga Camp Milan 2019Current State of Icinga - Icinga Camp Milan 2019
Current State of Icinga - Icinga Camp Milan 2019
 
Best of Icinga Modules - Icinga Camp Milan 2019
Best of Icinga Modules - Icinga Camp Milan 2019Best of Icinga Modules - Icinga Camp Milan 2019
Best of Icinga Modules - Icinga Camp Milan 2019
 
hallenges of Monitoring Big Infrastructure - Icinga Camp Milan 2019
hallenges of Monitoring Big Infrastructure - Icinga Camp Milan 2019hallenges of Monitoring Big Infrastructure - Icinga Camp Milan 2019
hallenges of Monitoring Big Infrastructure - Icinga Camp Milan 2019
 

Recently uploaded

SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 

Recently uploaded (20)

SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 

Icinga Camp Bangalore - Icinga2 and Ansible

  • 1. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Deploying Icinga2 through Ansible Monitoring migration through automation Toshaan Bharvani - VanTosh bvba <toshaan@vantosh.com> Icinga Camp Bangalore 2017 13 May 2017 Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 1 / 37
  • 2. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End $ whoami Toshaan Bharvani - VanTosh • From Antwerp, Belgium • Self-employed engineer/trainer (available for hire) http://www.vantosh.com • Involved with Enterprise OS : PEL, RHEL, CentOS, IBM AIX, OpenBSD, FreeBSD, SLES, . . . • Likes to keep everything secure : SELinux, WebSec, . . . • Lives in a virtual world : KVM, Xen, LXC, PowerVM, z/VM, . . . • Likes automation CfgMgmt / DevOps : Ansible, Foreman, Puppet • Works on both hardware and software side • Wants to take over the universe • Twitter : @toshywoshy • Blog : http://www.toshaan.com Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 2 / 37
  • 3. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Table of contents 1 Monitoring 2 Automation Inventory Virtual Machines 3 Icinga2 Icinga2 Masters Icinga2 Clients 4 Conclusion Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 3 / 37
  • 4. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End 1 Monitoring Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 4 / 37
  • 5. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Monitoring Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 5 / 37
  • 6. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Choices • Nagios • Well know, good for smaller install base • Zenoss • Big coupled project without any cohesion • Zabbix • Distributed, all-in-one solution, good • Ganglia • RRD as static, web interface is dated • Icinga • Better web interface with nagios forked backend • OpsView • Fancier web interface which is liked by managers, nagios forked • Shinken • Distributed, modular, good for smal install base • Icinga2 • Distributed, better scalability, better interface, modular and integrations Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
  • 7. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Choices • Nagios • Well know, good for smaller install base • Zenoss • Big coupled project without any cohesion • Zabbix • Distributed, all-in-one solution, good • Ganglia • RRD as static, web interface is dated • Icinga • Better web interface with nagios forked backend • OpsView • Fancier web interface which is liked by managers, nagios forked • Shinken • Distributed, modular, good for smal install base • Icinga2 • Distributed, better scalability, better interface, modular and integrations Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
  • 8. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Choices • Nagios • Well know, good for smaller install base • Zenoss • Big coupled project without any cohesion • Zabbix • Distributed, all-in-one solution, good • Ganglia • RRD as static, web interface is dated • Icinga • Better web interface with nagios forked backend • OpsView • Fancier web interface which is liked by managers, nagios forked • Shinken • Distributed, modular, good for smal install base • Icinga2 • Distributed, better scalability, better interface, modular and integrations Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
  • 9. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Choices • Nagios • Well know, good for smaller install base • Zenoss • Big coupled project without any cohesion • Zabbix • Distributed, all-in-one solution, good • Ganglia • RRD as static, web interface is dated • Icinga • Better web interface with nagios forked backend • OpsView • Fancier web interface which is liked by managers, nagios forked • Shinken • Distributed, modular, good for smal install base • Icinga2 • Distributed, better scalability, better interface, modular and integrations Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
  • 10. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Choices • Nagios • Well know, good for smaller install base • Zenoss • Big coupled project without any cohesion • Zabbix • Distributed, all-in-one solution, good • Ganglia • RRD as static, web interface is dated • Icinga • Better web interface with nagios forked backend • OpsView • Fancier web interface which is liked by managers, nagios forked • Shinken • Distributed, modular, good for smal install base • Icinga2 • Distributed, better scalability, better interface, modular and integrations Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
  • 11. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Choices • Nagios • Well know, good for smaller install base • Zenoss • Big coupled project without any cohesion • Zabbix • Distributed, all-in-one solution, good • Ganglia • RRD as static, web interface is dated • Icinga • Better web interface with nagios forked backend • OpsView • Fancier web interface which is liked by managers, nagios forked • Shinken • Distributed, modular, good for smal install base • Icinga2 • Distributed, better scalability, better interface, modular and integrations Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
  • 12. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Choices • Nagios • Well know, good for smaller install base • Zenoss • Big coupled project without any cohesion • Zabbix • Distributed, all-in-one solution, good • Ganglia • RRD as static, web interface is dated • Icinga • Better web interface with nagios forked backend • OpsView • Fancier web interface which is liked by managers, nagios forked • Shinken • Distributed, modular, good for smal install base • Icinga2 • Distributed, better scalability, better interface, modular and integrations Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
  • 13. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Choices • Nagios • Well know, good for smaller install base • Zenoss • Big coupled project without any cohesion • Zabbix • Distributed, all-in-one solution, good • Ganglia • RRD as static, web interface is dated • Icinga • Better web interface with nagios forked backend • OpsView • Fancier web interface which is liked by managers, nagios forked • Shinken • Distributed, modular, good for smal install base • Icinga2 • Distributed, better scalability, better interface, modular and integrations Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
  • 14. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Choices • Nagios • Well know, good for smaller install base • Zenoss • Big coupled project without any cohesion • Zabbix • Distributed, all-in-one solution, good • Ganglia • RRD as static, web interface is dated • Icinga • Better web interface with nagios forked backend • OpsView • Fancier web interface which is liked by managers, nagios forked • Shinken • Distributed, modular, good for smal install base • Icinga2 • Distributed, better scalability, better interface, modular and integrations Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
  • 15. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Choices • Nagios • Well know, good for smaller install base • Zenoss • Big coupled project without any cohesion • Zabbix • Distributed, all-in-one solution, good • Ganglia • RRD as static, web interface is dated • Icinga • Better web interface with nagios forked backend • OpsView • Fancier web interface which is liked by managers, nagios forked • Shinken • Distributed, modular, good for smal install base • Icinga2 • Distributed, better scalability, better interface, modular and integrations Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
  • 16. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Choices • Nagios • Well know, good for smaller install base • Zenoss • Big coupled project without any cohesion • Zabbix • Distributed, all-in-one solution, good • Ganglia • RRD as static, web interface is dated • Icinga • Better web interface with nagios forked backend • OpsView • Fancier web interface which is liked by managers, nagios forked • Shinken • Distributed, modular, good for smal install base • Icinga2 • Distributed, better scalability, better interface, modular and integrations Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
  • 17. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Choices • Nagios • Well know, good for smaller install base • Zenoss • Big coupled project without any cohesion • Zabbix • Distributed, all-in-one solution, good • Ganglia • RRD as static, web interface is dated • Icinga • Better web interface with nagios forked backend • OpsView • Fancier web interface which is liked by managers, nagios forked • Shinken • Distributed, modular, good for smal install base • Icinga2 • Distributed, better scalability, better interface, modular and integrations Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
  • 18. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Choices • Nagios • Well know, good for smaller install base • Zenoss • Big coupled project without any cohesion • Zabbix • Distributed, all-in-one solution, good • Ganglia • RRD as static, web interface is dated • Icinga • Better web interface with nagios forked backend • OpsView • Fancier web interface which is liked by managers, nagios forked • Shinken • Distributed, modular, good for smal install base • Icinga2 • Distributed, better scalability, better interface, modular and integrations Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
  • 19. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Choices • Nagios • Well know, good for smaller install base • Zenoss • Big coupled project without any cohesion • Zabbix • Distributed, all-in-one solution, good • Ganglia • RRD as static, web interface is dated • Icinga • Better web interface with nagios forked backend • OpsView • Fancier web interface which is liked by managers, nagios forked • Shinken • Distributed, modular, good for smal install base • Icinga2 • Distributed, better scalability, better interface, modular and integrations Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
  • 20. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Choices • Nagios • Well know, good for smaller install base • Zenoss • Big coupled project without any cohesion • Zabbix • Distributed, all-in-one solution, good • Ganglia • RRD as static, web interface is dated • Icinga • Better web interface with nagios forked backend • OpsView • Fancier web interface which is liked by managers, nagios forked • Shinken • Distributed, modular, good for smal install base • Icinga2 • Distributed, better scalability, better interface, modular and integrations Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
  • 21. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Choices • Nagios • Well know, good for smaller install base • Zenoss • Big coupled project without any cohesion • Zabbix • Distributed, all-in-one solution, good • Ganglia • RRD as static, web interface is dated • Icinga • Better web interface with nagios forked backend • OpsView • Fancier web interface which is liked by managers, nagios forked • Shinken • Distributed, modular, good for smal install base • Icinga2 • Distributed, better scalability, better interface, modular and integrations Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 6 / 37
  • 22. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End 2 Automation Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 7 / 37
  • 23. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Ansible “Ansible is a fictional machine capable of instantaneous or superluminal communication. Typically it is depicted as a lunch-box-sized object with some combination of microphone, speaker, keyboard and display. It can send and receive messages to and from a corresponding device over any distance whatsoever with no delay.”1 • Configuration Management Tool • System Orchestration Tool • Remote Execution/Deployment Tool • . . . 1Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 8 / 37
  • 24. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End An overview • Python2 based • Server based, agentless2 • uses SSH protocol (can use accelerated mode uses a daemon and port) • host information in flat files, CMDB, scripts, . . . • executes the task on the host side • Playbook : combination of tasks with meta information • YAML • JSON • Roles : abstract playbook • Tasks • Variables • Handlers • Templates : Jinja2 • works where Python2 works3 2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is not necessary 3Ansible can actually run without Python on the remote host, however it is not fully supported Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
  • 25. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End An overview • Python2 based • Server based, agentless2 • uses SSH protocol (can use accelerated mode uses a daemon and port) • host information in flat files, CMDB, scripts, . . . • executes the task on the host side • Playbook : combination of tasks with meta information • YAML • JSON • Roles : abstract playbook • Tasks • Variables • Handlers • Templates : Jinja2 • works where Python2 works3 2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is not necessary 3Ansible can actually run without Python on the remote host, however it is not fully supported Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
  • 26. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End An overview • Python2 based • Server based, agentless2 • uses SSH protocol (can use accelerated mode uses a daemon and port) • host information in flat files, CMDB, scripts, . . . • executes the task on the host side • Playbook : combination of tasks with meta information • YAML • JSON • Roles : abstract playbook • Tasks • Variables • Handlers • Templates : Jinja2 • works where Python2 works3 2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is not necessary 3Ansible can actually run without Python on the remote host, however it is not fully supported Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
  • 27. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End An overview • Python2 based • Server based, agentless2 • uses SSH protocol (can use accelerated mode uses a daemon and port) • host information in flat files, CMDB, scripts, . . . • executes the task on the host side • Playbook : combination of tasks with meta information • YAML • JSON • Roles : abstract playbook • Tasks • Variables • Handlers • Templates : Jinja2 • works where Python2 works3 2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is not necessary 3Ansible can actually run without Python on the remote host, however it is not fully supported Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
  • 28. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End An overview • Python2 based • Server based, agentless2 • uses SSH protocol (can use accelerated mode uses a daemon and port) • host information in flat files, CMDB, scripts, . . . • executes the task on the host side • Playbook : combination of tasks with meta information • YAML • JSON • Roles : abstract playbook • Tasks • Variables • Handlers • Templates : Jinja2 • works where Python2 works3 2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is not necessary 3Ansible can actually run without Python on the remote host, however it is not fully supported Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
  • 29. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End An overview • Python2 based • Server based, agentless2 • uses SSH protocol (can use accelerated mode uses a daemon and port) • host information in flat files, CMDB, scripts, . . . • executes the task on the host side • Playbook : combination of tasks with meta information • YAML • JSON • Roles : abstract playbook • Tasks • Variables • Handlers • Templates : Jinja2 • works where Python2 works3 2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is not necessary 3Ansible can actually run without Python on the remote host, however it is not fully supported Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
  • 30. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End An overview • Python2 based • Server based, agentless2 • uses SSH protocol (can use accelerated mode uses a daemon and port) • host information in flat files, CMDB, scripts, . . . • executes the task on the host side • Playbook : combination of tasks with meta information • YAML • JSON • Roles : abstract playbook • Tasks • Variables • Handlers • Templates : Jinja2 • works where Python2 works3 2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is not necessary 3Ansible can actually run without Python on the remote host, however it is not fully supported Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
  • 31. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End An overview • Python2 based • Server based, agentless2 • uses SSH protocol (can use accelerated mode uses a daemon and port) • host information in flat files, CMDB, scripts, . . . • executes the task on the host side • Playbook : combination of tasks with meta information • YAML • JSON • Roles : abstract playbook • Tasks • Variables • Handlers • Templates : Jinja2 • works where Python2 works3 2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is not necessary 3Ansible can actually run without Python on the remote host, however it is not fully supported Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
  • 32. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End An overview • Python2 based • Server based, agentless2 • uses SSH protocol (can use accelerated mode uses a daemon and port) • host information in flat files, CMDB, scripts, . . . • executes the task on the host side • Playbook : combination of tasks with meta information • YAML • JSON • Roles : abstract playbook • Tasks • Variables • Handlers • Templates : Jinja2 • works where Python2 works3 2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is not necessary 3Ansible can actually run without Python on the remote host, however it is not fully supported Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
  • 33. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End An overview • Python2 based • Server based, agentless2 • uses SSH protocol (can use accelerated mode uses a daemon and port) • host information in flat files, CMDB, scripts, . . . • executes the task on the host side • Playbook : combination of tasks with meta information • YAML • JSON • Roles : abstract playbook • Tasks • Variables • Handlers • Templates : Jinja2 • works where Python2 works3 2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is not necessary 3Ansible can actually run without Python on the remote host, however it is not fully supported Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
  • 34. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End An overview • Python2 based • Server based, agentless2 • uses SSH protocol (can use accelerated mode uses a daemon and port) • host information in flat files, CMDB, scripts, . . . • executes the task on the host side • Playbook : combination of tasks with meta information • YAML • JSON • Roles : abstract playbook • Tasks • Variables • Handlers • Templates : Jinja2 • works where Python2 works3 2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is not necessary 3Ansible can actually run without Python on the remote host, however it is not fully supported Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
  • 35. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End An overview • Python2 based • Server based, agentless2 • uses SSH protocol (can use accelerated mode uses a daemon and port) • host information in flat files, CMDB, scripts, . . . • executes the task on the host side • Playbook : combination of tasks with meta information • YAML • JSON • Roles : abstract playbook • Tasks • Variables • Handlers • Templates : Jinja2 • works where Python2 works3 2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is not necessary 3Ansible can actually run without Python on the remote host, however it is not fully supported Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
  • 36. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End An overview • Python2 based • Server based, agentless2 • uses SSH protocol (can use accelerated mode uses a daemon and port) • host information in flat files, CMDB, scripts, . . . • executes the task on the host side • Playbook : combination of tasks with meta information • YAML • JSON • Roles : abstract playbook • Tasks • Variables • Handlers • Templates : Jinja2 • works where Python2 works3 2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is not necessary 3Ansible can actually run without Python on the remote host, however it is not fully supported Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
  • 37. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End An overview • Python2 based • Server based, agentless2 • uses SSH protocol (can use accelerated mode uses a daemon and port) • host information in flat files, CMDB, scripts, . . . • executes the task on the host side • Playbook : combination of tasks with meta information • YAML • JSON • Roles : abstract playbook • Tasks • Variables • Handlers • Templates : Jinja2 • works where Python2 works3 2Abstraction of SSH / WinRM to connect with the node and in certain setup an agent might be required, but by default it is not necessary 3Ansible can actually run without Python on the remote host, however it is not fully supported Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 9 / 37
  • 38. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Internal Design Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 10 / 37
  • 39. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Normal Adhoc Mode Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 11 / 37
  • 40. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Delegation Mode Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 12 / 37
  • 41. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Inventory - Hypervisors • hosts file is by default in ini format § ¤ 1 [hypervisors ] 2 hypervisor0 3 hypervisor1 4 hypervisor2 5 hypervisor3 6 7 [ virtualmachines ] 8 vm0 9 vm1 10 vm2 11 vm3 ¦ ¥ Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 13 / 37
  • 42. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Inventory - Hypervisor (0) § ¤ 1 --- 2 distro: powerel7 3 machinearch: ppc64 4 rootpwd: $1$f0pPKH0e$0xrX07Ki9DPmpcmJooede7X . 5 language: en_US 6 keyboard: us 7 timezone: "Europe/Brussels" 8 nics: 9 - { type: bridge , name: br0 , model: virtio , bootproto: dhcp , device: eth0 , onboot: on } 10 hostname: hyp0.vantosh.demo 11 sshdrsakeylength : 8192 12 sshdecdsakeylength : 521 13 users: 14 - { name: supervisor , id: 1000 , ssh: yes , sshpubkey: /home/toshywoshy /. keys/id_hyp0.pub } 15 nrpe: { address: hyp0.vantosh.demo , zone: democenter0 , contact: mrnice } ¦ ¥ Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 14 / 37
  • 43. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Inventory - Hypervisor (1) § ¤ 1 --- 2 distro: powerel7 3 machinearch: ppc64le 4 rootpwd: $1$f0pPKH0e$0xrX07Ki9DPmpcmJooede7X . 5 language: en_US 6 keyboard: us 7 timezone: "Europe/Brussels" 8 nics: 9 - { type: bridge , name: br0 , model: virtio , bootproto: dhcp , device: eth0 , onboot: on } 10 hostname: hyp1.vantosh.demo 11 sshdrsakeylength : 8192 12 sshdecdsakeylength : 521 13 users: 14 - { name: supervisor , id: 1000 , ssh: yes , sshpubkey: /home/toshywoshy /. keys/id_hyp1.pub } 15 nrpe: { address: hyp1.vantosh.demo , zone: democenter1 , contact: mrnotsonice } ¦ ¥ Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 15 / 37
  • 44. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Inventory - Hypervisor (2) § ¤ 1 --- 2 distro: centos7 3 machinearch: x86_64 4 rootpwd: $1$f0pPKH0e$0xrX07Ki9DPmpcmJooede7X . 5 language: en_US 6 keyboard: us 7 timezone: "Europe/Brussels" 8 nics: 9 - { type: bridge , name: br0 , model: virtio , bootproto: dhcp , device: eth0 , onboot: on } 10 hostname: hyp2.vantosh.demo 11 sshdrsakeylength : 8192 12 sshdecdsakeylength : 521 13 users: 14 - { name: supervisor , id: 1000 , ssh: yes , sshpubkey: /home/toshywoshy /. keys/id_hyp2.pub } 15 nrpe: { address: hyp2.vantosh.demo , zone: democenter1 , contact: mrnice } ¦ ¥ Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 16 / 37
  • 45. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Inventory - Virtual Machine (0) § ¤ 1 --- 2 hyper: hypervisor0 3 distro: powerel7 4 machinearch: ppc64 5 virtualcpus: 32 6 virtualsockets : 2 7 virtualcores : 2 8 virtualthreads : 8 9 ramsize: 2048 10 vmwaittime: 15 11 language: en_US 12 keyboard: us 13 timezone: "Europe/Brussels" 14 rootpwd: $1$f0pPKH0e$0xrX07Ki9DPmpcmJooede7X . 15 sshdrsakeylength : 8192 16 sshdecdsakeylength : 521 17 virtualfilespath : /virtual/ 18 disks: 19 - { path: /virtual/vm0 -prep0.qcow2 , size: 10M } 20 - { path: /virtual/vm0 -boot0.qcow2 , size: 512M } 21 - { path: /virtual/vm0 -root0.qcow2 , size: 6G } 22 - { path: /virtual/vm0 -swap0.qcow2 , size: 512M } 23 - { path: /virtual/vm0 -swap1.qcow2 , size: 512M } 24 bootloader: bootloader --location=mbr --driveorder=vda ,vdb ,vdc ,vdd 25 partitions: 26 - part prepboot --ondisk=vda --asprimary --fstype="prepboot" --fsoptions=’ prepboot ’ --size =9 27 - part /boot --ondisk=vdb --asprimary --fstype="xfs" --fsoptions=’defaults , noatime ,discard ’ --grow --size =1 28 - part pv.01 --ondisk=vdc --asprimary --grow --size =1 29 - volgroup VolGroupRoot --pesize =131072 pv.01 30 - logvol / --fstype="xfs" --fsoptions=’defaults ,noatime ,discard ’ --name= LogVolRoot --vgname= VolGroupRoot --grow --size =1 31 - part swap --onpart=vdd --asprimary --fstype="swap" --fsoptions=’defaults , discard ’ --grow --size =1 32 - part swap --onpart=vde --asprimary --fstype="swap" --fsoptions=’defaults , discard ’ --grow --size =1 33 hostname: vm0.vantosh.demo 34 nics: 35 - { type: bridge , name: br0 , model: virtio , bootproto: dhcp , device: eth0 , onboot: on } 36 users: 37 - { name: administrator , id: 1000 , ssh: yes , sshpubkey: /home/toshywoshy /. keys/id_vm0.pub } 38 nrpe: { address: vm0.vantosh.demo , zone: democenter0 , contact: mrnice } ¦ ¥ Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 17 / 37
  • 46. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Inventory - Virtual Machine (1) § ¤ 1 --- 2 hyper: hypervisor0 3 distro: powerel7 4 machinearch: ppc64le 5 virtualcpus: 32 6 virtualsockets : 2 7 virtualcores : 2 8 virtualthreads : 8 9 ramsize: 2048 10 vmwaittime: 15 11 language: en_US 12 keyboard: us 13 timezone: "Europe/Brussels" 14 rootpwd: $1$f0pPKH0e$0xrX07Ki9DPmpcmJooede7X . 15 sshdrsakeylength : 8192 16 sshdecdsakeylength : 521 17 virtualfilespath : /virtual/ 18 disks: 19 - { path: /virtual/vm0 -prep0.qcow2 , size: 10M } 20 - { path: /virtual/vm0 -boot0.qcow2 , size: 512M } 21 - { path: /virtual/vm0 -root0.qcow2 , size: 6G } 22 - { path: /virtual/vm0 -swap0.qcow2 , size: 512M } 23 - { path: /virtual/vm0 -swap1.qcow2 , size: 512M } 24 bootloader: bootloader --location=mbr --driveorder=vda ,vdb ,vdc ,vdd 25 partitions: 26 - part prepboot --ondisk=vda --asprimary --fstype="prepboot" --fsoptions=’ prepboot ’ --size =9 27 - part /boot --ondisk=vdb --asprimary --fstype="xfs" --fsoptions=’defaults , noatime ,discard ’ --grow --size =1 28 - part pv.01 --ondisk=vdc --asprimary --grow --size =1 29 - volgroup VolGroupRoot --pesize =131072 pv.01 30 - logvol / --fstype="xfs" --fsoptions=’defaults ,noatime ,discard ’ --name= LogVolRoot --vgname= VolGroupRoot --grow --size =1 31 - part swap --onpart=vdd --asprimary --fstype="swap" --fsoptions=’defaults , discard ’ --grow --size =1 32 - part swap --onpart=vde --asprimary --fstype="swap" --fsoptions=’defaults , discard ’ --grow --size =1 33 hostname: vm0.vantosh.demo 34 nics: 35 - { type: bridge , name: br0 , model: virtio , bootproto: dhcp , device: eth0 , onboot: on } 36 users: 37 - { name: administrator , id: 1000 , ssh: yes , sshpubkey: /home/toshywoshy /. keys/id_vm0.pub } 38 nrpe: { address: vm0.vantosh.demo , zone: democenter1 , contact: mrnotsonice } ¦ ¥ Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 18 / 37
  • 47. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Inventory - Virtual Machine (2) § ¤ 1 --- 2 hyper: hypervisor0 3 distro: centos7 4 machinearch: x86_64 5 virtualcpus: 32 6 virtualsockets : 2 7 virtualcores : 2 8 virtualthreads : 8 9 ramsize: 2048 10 vmwaittime: 15 11 language: en_US 12 keyboard: us 13 timezone: "Europe/Brussels" 14 rootpwd: $1$f0pPKH0e$0xrX07Ki9DPmpcmJooede7X . 15 sshdrsakeylength : 8192 16 sshdecdsakeylength : 521 17 virtualfilespath : /virtual/ 18 disks: 19 - { path: /virtual/vm0 -boot0.qcow2 , size: 512M } 20 - { path: /virtual/vm0 -root0.qcow2 , size: 6G } 21 - { path: /virtual/vm0 -swap0.qcow2 , size: 512M } 22 - { path: /virtual/vm0 -swap1.qcow2 , size: 512M } 23 bootloader: bootloader --location=mbr --driveorder=vda ,vdb ,vdc ,vdd 24 partitions: 25 - part /boot --ondisk=vda --asprimary --fstype="xfs" --fsoptions=’defaults , noatime ,discard ’ --grow --size =1 26 - part pv.01 --ondisk=vdb --asprimary --grow --size =1 27 - volgroup VolGroupRoot --pesize =131072 pv.01 28 - logvol / --fstype="xfs" --fsoptions=’defaults ,noatime ,discard ’ --name= LogVolRoot --vgname= VolGroupRoot --grow --size =1 29 - part swap --onpart=vdc --asprimary --fstype="swap" --fsoptions=’defaults , discard ’ --grow --size =1 30 - part swap --onpart=vdd --asprimary --fstype="swap" --fsoptions=’defaults , discard ’ --grow --size =1 31 hostname: vm0.vantosh.demo 32 nics: 33 - { type: bridge , name: br0 , model: virtio , bootproto: dhcp , device: eth0 , onboot: on } 34 users: 35 - { name: administrator , id: 1000 , ssh: yes , sshpubkey: /home/toshywoshy /. keys/id_vm0.pub } 36 nrpe: { address: vm0.vantosh.demo , zone: democenter1 , contact: mrnice } ¦ ¥ Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 19 / 37
  • 48. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Playbooks - vminstaller § ¤ 1 - name: set machine arch variables 2 include_vars : "{{ machinearch }}/ console.yml" 3 when: virtconsole is not defined 4 5 - name: set distribution variables 6 include_vars : "{{ distro }}. yml" 7 8 - name: create the qemu disk images 9 action: qemu -img dest ={{ item.path }} size ={{ item.size }} format="qcow2" options=" preallocation =falloc" 10 with_items: "{{ disks }}" 11 delegate_to: "{{ hyper }}" 12 13 ### 14 15 ### PowerEL 7 16 - name: start distribution installation - PEL7 17 include: install -vm -pel7.yml 18 when: templatetype == ’pel7 ’ 19 20 ### EL 7 21 - name: start distribution installation - EL7 22 include: install -vm -el7.yml 23 when: templatetype == ’el7’ 24 25 - name: execute minimum ram hack where required 26 include: minimum -ram -hack.yml 27 when: minram is defined 28 29 30 - name: start the vm 31 action: virt guest ={{ inventory_hostname }} command=start 32 delegate_to: "{{ hyper }}" 33 ignore_errors : yes 34 35 - name: wait for vm to become available 36 local_action : wait_for host ={{ ansible_host }} port ={{ ansible_port }} delay =5 state=started timeout =300 37 become: no 38 39 - name: gather facts 40 action: setup ¦ ¥ Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 20 / 37
  • 49. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Playbooks - pel7 § ¤ 1 - name: create and copy the kickstart file of the machine 2 action: template src="pel7/kickstart.cfg" dest="{{ virtualfilespath }}{{ inventory_hostname }}. cfg" 3 delegate_to: "{{ hyper }}" 4 5 - name: make install script 6 action: template src="common/install -vm.sh" dest="{{ virtualfilespath }}{{ inventory_hostname }}-create -vm.sh" owner=root group=root mode =770 7 delegate_to: "{{ hyper }}" 8 9 - name: execute install script 10 action: raw {{ virtualfilespath }}{{ inventory_hostname }}-create -vm.sh 11 delegate_to: "{{ hyper }}" 12 register: createdvm 13 14 - name: wait for vm to install 15 local_action : pause minutes ={{ vmwaittime }} ¦ ¥ Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 21 / 37
  • 50. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Variables - pel7 § ¤ 1 --- 2 distroname: powerel7 3 distrotype: rhel7 4 templatetype : pel7 5 minram: 2048 6 location: http ://10.59.39.200/ yum/pel /7/{{ machinearch }}/os/ 7 repos: 8 - name: "PowerEL -base" 9 uri: "http ://10.59.39.200/ yum/pel /7/{{ machinearch }}/ base/packages/" 10 cost: 100 11 textrargs: ’text repo ={{ location }} ks=file :/{{ inventory_hostname }}. cfg console=hvc0 ,115200 headless noshell nofirewire rd_NO_PLYMOUTH plymouth.enable =0 biosdevname =0 elevator=noop geoloc =0 nopass kdump_addon =off nopcmia ’ ¦ ¥ Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 22 / 37
  • 51. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End 3 Icinga2 Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 23 / 37
  • 52. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Icinga2 - Main Task § ¤ 1 - name: check whether icinga2 variable are set correctly 2 action: fail msg="Icinga2 variables set incorrectly , please set OR master OR zone , do not set both at the same time." 3 when: icinga2_master is defined and icinga2_zone is defined 4 5 - name: install icinga2 master 6 include: master.yml 7 when: icinga2_master is defined and icinga2_master == true 8 9 - name: install icinga2 zonemaster 10 include: zonemaster.yml 11 when: icinga2_zonemaster is defined and icinga2_zonemaster == true ¦ ¥ Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 24 / 37
  • 53. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Icinga2 - Master§ ¤ 1 - name: install icinga2 packages 2 action: yum name ={{ item }} state=latest 3 with_items: 4 - icinga2 -common 5 - icinga2 -bin 6 - icinga2 -python 7 - icinga2 8 - icinga2 -ido -pgsql 9 - icingaweb2 10 - python -carbon 11 - python -whisper 12 - graphite -web 13 - libXrender 14 - libX11 15 - nrpe 16 - nagios -plugins 17 - nagios -plugins -ping 18 - nagios -plugins -nrpe 19 - nagios -plugins -disk 20 - nagios -plugins -load 21 - nagios -plugins -users 22 - nagios -plugins -procs 23 - nagios -plugins -swap 24 - nagios -plugins -ssh 25 - nagios -plugins -tcp 26 - nagios -plugins -check_rbl 27 - nagios -plugins -by_ssh 28 - nagios -plugins -dig 29 - nagios -plugins -http 30 - nagios -plugins -smtp 31 - nagios -plugins -dns 32 - nagios -plugins -snmp 33 34 - name: copy main icinga2 configuration files 35 action: template src ={{ item }} dest =/ etc/icinga2 /{{ item }} owner=icinga group=icinga mode =550 setype=etc_t 36 with_items: 37 - icinga2.conf 38 - zones.conf 39 - constants.conf 40 41 - name: copy features configuration files into icinga2 feature activation directory 42 action: template src ={{ item }} dest =/ etc/icinga2/features -available /{{ item }} 43 with_items: 44 - api.conf 45 - ido -pgsql.conf 46 - graphite.conf 47 48 - name: activate icinga2 features 49 action: command /usr/sbin/icinga2 feature enable {{ item }} 50 with_items: 51 - ido -pgsql Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 25 / 37
  • 54. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Icinga2 - Zonemaster§ ¤ 1 - name: install icinga2 packages 2 action: yum name ={{ item }} state=latest 3 with_items: 4 - icinga2 -common 5 - icinga2 -bin 6 - icinga2 -python 7 - icinga2 8 - nrpe 9 - nagios -plugins 10 - nagios -plugins -ping 11 - nagios -plugins -nrpe 12 - nagios -plugins -disk 13 - nagios -plugins -load 14 - nagios -plugins -users 15 - nagios -plugins -procs 16 - nagios -plugins -swap 17 - nagios -plugins -ssh 18 - nagios -plugins -tcp 19 - nagios -plugins -check_rbl 20 - nagios -plugins -by_ssh 21 - nagios -plugins -dig 22 - nagios -plugins -http 23 - nagios -plugins -smtp 24 - nagios -plugins -dns 25 - nagios -plugins - check_cups_queue 26 - nagios -plugins -check_sip 27 - nagios -plugins -dhcp 28 - nagios -plugins -snmp 29 30 - name: copy main icinga2 configuration files 31 action: template src ={{ item }} dest =/ etc/icinga2 /{{ item }} owner=icinga group=icinga mode =550 setype=etc_t 32 with_items: 33 - icinga2.conf 34 - zones.conf 35 - constants.conf 36 37 - name: copy features configuration files into icinga2 feature activation directory 38 action: template src ={{ item }} dest =/ etc/icinga2/features -available /{{ item }} 39 with_items: 40 - api.conf 41 42 - name: activate icinga2 features 43 action: command /sbin/icinga2 -enable -feature {{ item }} 44 with_items: 45 - api 46 47 - name: check if a configuration already exists 48 action: stat path =/etc/icinga2/conf.d/templates.conf 49 register: defaultconfig 50 51 - name: remove default configuration Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 26 / 37
  • 55. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Icinga2 - zones.conf § ¤ 1 /* 2 * -------------------------------------------------- 3 * VanTosh Icinga2 Zone Configuration File 4 * (c) copyleft 2014 VanTosh 5 * Author: Toshaan Bharvani <toshaan@vantosh .com > 6 * -------------------------------------------------- 7 * {{ ansible_managed }} 8 */ 9 10 {% for icinga2_zone in icinga2_zones %} 11 object Endpoint "{{ icinga2_zone .nodename }}" { 12 host = "{{ icinga2_zone .hostname }}" 13 port = {{ icinga2_zone .port }} 14 } 15 object Zone "{{ icinga2_zone .zonename }}" { 16 endpoints = [ "{{ icinga2_zone .nodename }}" ] 17 {% if icinga2_zone .parent is defined %} 18 parent = "{{ icinga2_zone .parent }}" 19 {% endif %} 20 } 21 {% endfor %} ¦ ¥ Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 27 / 37
  • 56. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Icinga2 Client (0) § ¤ 1 - name: set variables for nrpe - RedHat 2 include_vars : redhat.yml 3 when: ansible_os_family == ’RedHat ’ 4 5 - name: install nrpe packages and configuration - RedHat 6 include: redhat.yml 7 when: ansible_os_family == ’RedHat ’ 8 9 - name: set variables for nrpe - FreeBSD 10 include_vars : freebsd.yml 11 when: ansible_os_family == ’FreeBSD ’ 12 13 - name: install nrpe packages and configuration - FreeBSD 14 include: freebsd.yml 15 when: ansible_os_family == ’FreeBSD ’ 16 17 - name: add host to monitoring system 18 action: template src=host.conf dest =/ etc/icinga2/zones.d/{{ nrpe.zone }}/{{ inventory_hostname }}.{{ domain }}. conf owner=icinga group=icinga mode =550 setype=etc_t 19 delegate_to: trivikrama 20 notify: reload icinga2 ¦ ¥ Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 28 / 37
  • 57. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Icinga2 Client (1) § ¤ 1 - name: install icinga2 packages and dependencies 2 action: yum pkg ={{ item }} state=latest 3 with_items: 4 - icinga2 5 - nagios -plugins -disk 6 - nagios -plugins -load 7 - nagios -plugins -users 8 - nagios -plugins -procs 9 - nagios -plugins -swap 10 - nagios -plugins - check_iostat 11 - bc 12 - sysstat 13 14 - name: base icinga2 config 15 action: template src=nrpe.cfg dest =/etc/nagios/nrpe.cfg 16 17 - name: nrpe commands 18 action: template src ={{ item }}. cfg dest =/etc/nrpe.d/ 19 with_items: 20 - users 21 - disk 22 - procs 23 - load 24 - swap 25 - iostat 26 27 - name: restart icinga2 daemon 28 action: service name=icinga2 state=restarted enabled=yes ¦ ¥ Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 29 / 37
  • 58. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Icinga2 Client - disk.cfg § ¤ 1 {% for location in ansible_mounts %} 2 {% if location.fstype != ’cifs ’ and location.fstype != ’nfs’ and location. fstype != ’fuse ’ and location.fstype != ’linprocfs ’ and location.fstype != ’ fdescfs ’ and location.fstype != ’swap ’ %} 3 command[check_disk_ {{ location.mount }}]={{ nrpe_checkcmddir }} check_disk -w 15% -c 7% -p {{ location.mount }} 4 {% endif %} 5 {% endfor %} ¦ ¥ Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 30 / 37
  • 59. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Icinga2 Client - memory.cfg § ¤ 1 command[ check_memory ]={{ nrpe_checkcmddir }}pmp -check -unix -memory -w 50 -c 75 ¦ ¥ Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 31 / 37
  • 60. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Icinga2 Client - iostat.cfg § ¤ 1 {% for disk in ansible_devices %} 2 {% if disk != ’sr0’ %} 3 command[ check_iostat_ {{ disk }}]={{ nrpe_checkcmddir }} check_iostat -d {{ disk }} -w 750 -c 1250 4 {% endif %} 5 {% endfor %} ¦ ¥ Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 32 / 37
  • 61. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Icinga2 Client - host.conf§ ¤ 1 /* 2 * -------------------------------------------------- 3 * VanTosh Icinga2 Host File 4 * (c) copyleft 2014 VanTosh 5 * Author: Toshaan Bharvani <toshaan@vantosh .com > 6 * -------------------------------------------------- 7 * {{ ansible_managed }} 8 * -------------------------------------------------- 9 {% if ddns is defined %} 10 * {{ ddns.hostname }}.{{ ddns.domain }} 11 {% else %} 12 * {{ ansible_ssh_host }} 13 {% endif %} 14 * fqdn: {{ ansible_fqdn }} 15 * ansible: {{ inventory_hostname }} 16 * -------------------------------------------------- 17 */ 18 19 20 object Host "{{ inventory_hostname }}" { 21 import "generic -host" 22 display_name = "{{ inventory_hostname }}" 23 address = "{{ nrpe.address }}" 24 {% if ansible_virtualization_role is defined %} 25 {% if hyper is not defined and ansible_virtualization_role == ’host ’ %} 26 {% elif hyper is defined and ansible_virtualization_role == ’guest ’ %} 27 // parent_host_name = "{{ hyper }}.{{ domain }}" 28 {% endif %} 29 {% endif %} 30 vars.sla = "24x7" 31 } 32 33 object Service "ssh" { 34 import "generic -service" 35 host_name = "{{ inventory_hostname }}" 36 display_name = "SSH {{ inventory_hostname }}" 37 check_command = "ssh" 38 vars.ssh_port = {{ ansible_ssh_port }} 39 } 40 41 object Service " current_users " { 42 import "generic -service" 43 host_name = "{{ inventory_hostname }}" 44 display_name = "Current Users" 45 check_command = "nrpe" 46 vars. nrpe_command = " check_users " 47 {% if nrpe.port is defined %} 48 vars.nrpe_port = {{ nrpe.port }} 49 {% else %} 50 vars.nrpe_port = 5666 51 {% endif %} 52 {% if nrpe_ssl is defined and nrpe_ssl == false %} 53 vars. nrpe_no_ssl = trueDeploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 33 / 37
  • 62. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End 4 Conclusion Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 34 / 37
  • 63. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End Conclusion Automation MUST [RFC2119] be easy Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 35 / 37
  • 64. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End More information • Icinga : http://www.icinga.org • Ansible : http://www.ansible.com/ • Ansible Roles Install VM : https: //github.com/toshywoshy/ansible-roles-vminstall • Ansible Roles Icinga2 : https://github.com/toshywoshy/ansible-roles-icinga2 • Ansible Roles NRPE : https://github.com/toshywoshy/ansible-roles-nrpe • Ansible Roles NCSA-ng : https://github.com/toshywoshy/ansible-roles-ncsang Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 36 / 37
  • 65. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End More information • Icinga : http://www.icinga.org • Ansible : http://www.ansible.com/ • Ansible Roles Install VM : https: //github.com/toshywoshy/ansible-roles-vminstall • Ansible Roles Icinga2 : https://github.com/toshywoshy/ansible-roles-icinga2 • Ansible Roles NRPE : https://github.com/toshywoshy/ansible-roles-nrpe • Ansible Roles NCSA-ng : https://github.com/toshywoshy/ansible-roles-ncsang Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 36 / 37
  • 66. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End More information • Icinga : http://www.icinga.org • Ansible : http://www.ansible.com/ • Ansible Roles Install VM : https: //github.com/toshywoshy/ansible-roles-vminstall • Ansible Roles Icinga2 : https://github.com/toshywoshy/ansible-roles-icinga2 • Ansible Roles NRPE : https://github.com/toshywoshy/ansible-roles-nrpe • Ansible Roles NCSA-ng : https://github.com/toshywoshy/ansible-roles-ncsang Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 36 / 37
  • 67. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End More information • Icinga : http://www.icinga.org • Ansible : http://www.ansible.com/ • Ansible Roles Install VM : https: //github.com/toshywoshy/ansible-roles-vminstall • Ansible Roles Icinga2 : https://github.com/toshywoshy/ansible-roles-icinga2 • Ansible Roles NRPE : https://github.com/toshywoshy/ansible-roles-nrpe • Ansible Roles NCSA-ng : https://github.com/toshywoshy/ansible-roles-ncsang Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 36 / 37
  • 68. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End More information • Icinga : http://www.icinga.org • Ansible : http://www.ansible.com/ • Ansible Roles Install VM : https: //github.com/toshywoshy/ansible-roles-vminstall • Ansible Roles Icinga2 : https://github.com/toshywoshy/ansible-roles-icinga2 • Ansible Roles NRPE : https://github.com/toshywoshy/ansible-roles-nrpe • Ansible Roles NCSA-ng : https://github.com/toshywoshy/ansible-roles-ncsang Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 36 / 37
  • 69. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End More information • Icinga : http://www.icinga.org • Ansible : http://www.ansible.com/ • Ansible Roles Install VM : https: //github.com/toshywoshy/ansible-roles-vminstall • Ansible Roles Icinga2 : https://github.com/toshywoshy/ansible-roles-icinga2 • Ansible Roles NRPE : https://github.com/toshywoshy/ansible-roles-nrpe • Ansible Roles NCSA-ng : https://github.com/toshywoshy/ansible-roles-ncsang Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 36 / 37
  • 70. Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba Monitoring Automation Inventory Virtual Machines Icinga2 Icinga2 Masters Icinga2 Clients Conclusion The End The End Thank You Toshaan Bharvani - VanTosh bvba <toshaan@vantosh.com> http://www.vantosh.com/ Made with Beamer LATEX a TEXbased Presentation program Deploying Icinga2 through Ansible Toshaan Bharvani - VanTosh bvba () 37 / 37