Introducing Thola
Stephan Schmidt, Tobias Berdin
A tool for monitoring and provisioning network devices
A tool for monitoring and provisioning
network devices
Overview
generic request
generic response
Server
Juniper speci
fi
c request
Juniper speci
fi
c response
Cisco speci
fi
c response
Cisco speci
fi
c request
Juniper Switch
Cisco Switch
Thola
Overview
gather facts
facts
Ansible
Juniper speci
fi
c request
Juniper speci
fi
c response
Cisco speci
fi
c response
Cisco speci
fi
c request
Juniper Switch
Cisco Switch
generic request
generic response
Server Thola
Why is Thola that awesome?
• uni
fi
ed interface for communication with devices from
Cisco, Juniper, Huawei, Nokia/ISAM and many more


• support for various devices like switches, routers,
directional radio, UPS…


• easy way for adding additional device types
Why is Thola that awesome?
• usage of different protocols including SNMP, HTTP…


• low resource needs
open source
Modes of operation
• Command Line Interface


• Monitoring Check Plugin


• REST API


• Ansible Module
Getting started with Thola
./thola identify
Automatically identify a device
./thola read interfaces
Read out special interface information
• thola check output per default in check plugin format


• can be used in monitoring tools (e.g. Nagios, Icinga)
./thola check
./thola check cpu-load
Check CPU usage
./thola api
Start and con
fi
gure the API
./thola-client
Let the API do the work
Device classes
Device class content
• conditions for assigning a device to this class


• available operations for the device
Device class hierarchy
generic
junos ios
ceraos edgeos fortigate
ip10 ECS3528
ECS3510
…
…
Device classes in .yaml
• entire logic in .yaml con
fi
guration
fi
les


• easy to write


• not bound to a programming language


• embedded in binary


• can be extended with code
Example condition (ios)
Example model identification (ios)
Live Demo
Using Thola with Ansible
Using Thola with Ansible
• gather facts of your hosts


• read out identify information


• perform checks


• embedded in playbooks
Why?
Gathering identify facts
Identify hosts and display their properties
Gathering identify facts
Identify hosts and display their properties
Gathering cpu load facts
Read cpu load of your hosts
Gathering cpu load facts
Read cpu load of your hosts
Why using Thola with Ansible?
• one module for all vendors and device types


• variety of check and read modes


• easy way for adding new manufacturers
Thanks for your attention 🎉
thola.io


github.com/inexio/thola


galaxy.ansible.com/inexio/thola


reddit.com/r/thola

OSMC 2021 | Thola – A tool for monitoring and provisioning network devices