Nagios Conference 2014 - Paloma Galan - Monitoring Financial Protocols With Nagios
Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick...
Transcript of Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick...
![Page 1: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/1.jpg)
(Almost) Instant monitoring
Ansible deploying Nagios+PMP
Daniel Guzman Burgos (Percona)2015-04-14
![Page 2: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/2.jpg)
Agenda
• Monitoring and Nagios quick review• Percona Nagios Plugins• Ansible Insights• Vagrant in 120 seconds• Monitoring deployment: Auto
![Page 3: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/3.jpg)
• Daniel Guzmán Burgos• daniel.guzman.burgos(at)percona.com• Consultant at Percona
Introductions
![Page 4: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/4.jpg)
Link to the Repo
• https://github.com/nethalo/instant-monitoring• Homepage for this session• git clone <above_link>
• plays/• All the playbooks that lead to happiness
![Page 5: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/5.jpg)
Before we begin...
• If you get lost or cannot see something:• check out the repo!
• detailed instructions • complete files
![Page 6: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/6.jpg)
Nagios Review
Two major problems that are issued by monitoring: • Alerting • Trending
![Page 7: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/7.jpg)
Nagios Review
• Alerting: Notify a responsible person about some major event, example: Replication broken
• Trending: Track the change of something over time, example: Replication lag
![Page 8: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/8.jpg)
Nagios Review
What to monitor?How to know which services are more important than others?
![Page 9: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/9.jpg)
Nagios Review
It depends.
...but is very related to the SLA (and out of scope of this session)
![Page 10: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/10.jpg)
Percona Nagios Plugins
• Group of scripts created by MySQL experts
• With good documentation, • Support for the newest versions of
MySQL and InnoDB• Great integration with other Percona
software, such as Percona Server and Percona Toolkit.
![Page 11: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/11.jpg)
Percona Nagios Plugins
And the best: Easy to install and configure!
http://www.percona.com/doc/percona-monitoring-plugins/1.1/nagios/index•
![Page 12: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/12.jpg)
Ansible Insights - About
• Automation tool• Written in python• Agentless (plain SSH or python)• Idempotent• Easy to learn• Relatively new (2012)• Supports *NIX primarily (Windows: >1.7)
![Page 13: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/13.jpg)
• Management Workstation• *NIX machine• Some extra requirements
• Managed Node• Where the magic happens!
Ansible Insights - Terminology
![Page 14: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/14.jpg)
Ansible Insights - Terminology
• Inventory• Definition of host groups
• Common settings for hosts
• Can be extended and/or dynamically generated
![Page 15: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/15.jpg)
• Playbook• Top level “plan”
• Tasks that run against a group of hosts
• Sort of instructions
Ansible Insights - Terminology
![Page 16: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/16.jpg)
Ansible Insights - Terminology
• Tasks• The actual steps that execute
• Execute sequentially
• Idempotent
• Can use “facts” to make smart decisions
• Leverage modules to get the job done
![Page 17: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/17.jpg)
• Modules• Basic building blocks of Ansible
• Execute actions
• Programmable
• Most likely to be written in Python
Ansible Insights - Terminology
![Page 18: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/18.jpg)
• SSH• OpenSSH or Paramiko
• Access, permissions
• Deploy user vs. Operating user
Ansible Insights - Requirements
![Page 19: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/19.jpg)
Ansible Insights - Requirements
• Python• Already installed most of the time (LSB)• Management Workstation (>2.6)• Managed Hosts (>2.4)• python-simplejson (python 2.4)
![Page 20: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/20.jpg)
Vagrant
• Software for creating and configuring virtual development environments.
• Can be seen as a wrapper around virtualization software such as VirtualBox
![Page 21: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/21.jpg)
Vagrantfile
# -*- mode: ruby -*-# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64" config.vm.box_check_update = false
config.vm.define "uno" do |uno| uno.vm.hostname = "nodo-uno" uno.vm.network "private_network", ip: "172.28.128.3" end
config.vm.define "nagioscentral" do |nagioscentral| nagioscentral.vm.hostname = "nagios-central" nagioscentral.vm.network "forwarded_port", guest: 80, host: 1234 nagioscentral.vm.network "private_network", ip: "172.28.128.7" end
config.vm.provider "virtualbox" do |vb| vb.memory = "512" endend
![Page 22: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/22.jpg)
• Start all VMs• vagrant up
• Check status of VMs• vagrant status
Start up VMs
![Page 23: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/23.jpg)
(Almost) Instant monitoring
• git clone http://bit.ly/1DVxiHo• cd instant-monitoring/• vagrant up• ansible-playbook plays/set-keys.yml
--ask-pass -e "username=XXXX"• ansible-playbook site.yml
![Page 24: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/24.jpg)
What is inside?
Templates{% for host in groups['small-nodes'] %} define host{
use generic-percona-hosthost_name {{ hostvars[host]['ansible_hostname'] }}alias {{ hostvars[host]['ansible_eth1']['ipv4']['address'] }}address {{ hostvars[host]['ansible_eth1']['ipv4']['address'] }}
}{% endfor %}
define hostgroup { hostgroup_name mysql-servers alias mysql-servers
members {% set comma = joiner(",") %}{%- for host in groups['small-nodes'] -%} {{ comma() }}{{ hostvars[host]['ansible_hostname'] }}
{%- endfor %}
}
![Page 25: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/25.jpg)
What is inside?
Playbooks---- hosts: small-nodes sudo: yes tasks: - name: Add Percona Repo Key apt_key: keyserver=keys.gnupg.net id=1C4CBDCDCD2EFD2A state=present - name: Add Percona Repo Source apt_repository: repo='{{ item }}' state=present with_items: - "deb http://repo.percona.com/apt trusty main" - "deb-src http://repo.percona.com/apt trusty main"
![Page 26: Ansible deploying Nagios+PMP (Almost) Instant monitoring · Agenda • Monitoring and Nagios quick review • Percona Nagios Plugins • Ansible Insights • Vagrant in 120 seconds](https://reader031.fdocuments.net/reader031/viewer/2022020402/5be7138a09d3f247448e10a3/html5/thumbnails/26.jpg)
Questions?
• ???• If there’s no time, i can answer questions via email