GARR Cloud monitoring Claudio Pisa - GARR EAPConnect Workshop II 2019-11-22 Rome Monitoring - day 0 (one year ago) ● Different monitoring systems: ○ Nagios ■ OpenStack services ○ Zabbix ■ Ceph ■ Hardware sensors ● Some systems not monitored Claudio Pisa // EAPConnect Workshop II 2019 - Rome // 2019-11-22 2 Architecture - day 0 Cloud Nagios Nagios Web Infrastructural interface services Cloud Zabbix Web Infrastructure Zabbix interface + Ceph Claudio Pisa // EAPConnect Workshop II 2019 - Rome // 2019-11-22 3 Architecture - day 0 Cloud Nagios Nagios Web Infrastructural interface services Cloud Zabbix Web Infrastructure Zabbix interface + Ceph Dell Chassis Web Bare Metal Dell tools interface GINS GINS Web Network (SNMP) interface Claudio Pisa // EAPConnect Workshop II 2019 - Rome // 2019-11-22 4 Objective Objective: State of the art: build a unified Grafana comprehensive dashboard Claudio Pisa // OpenInfra Days 2019 - Rome // 2019-10-03 5 Considerations ● Existing monitoring systems seem to be doing their job well ○ the right tool for the right job ● What is missing is just a single viewpoint ● Grafana seems to have what we need Claudio Pisa // EAPConnect Workshop II 2019 - Rome // 2019-11-22 6 Grafana ● Grafana is a platform for data visualization, querying and alerting ● Several pluggable data sources: ○ Zabbix ○ PNP (Nagios) ○ Prometheus ○ Gnocchi ○ Monasca ○ JSON (general purpose) ○ MySQL / PostgreSQL (general purpose) ● Data from heterogeneous sources can be mixed in the same dashboard Claudio Pisa // EAPConnect Workshop II 2019 - Rome // 2019-11-22 7 Proposed Architecture Cloud PNP Infrastructural Nagios (RRD) services Cloud Infrastructure Zabbix + Ceph Bare Metal Dell tools Grafana GINS Network (SNMP) Claudio Pisa // EAPConnect Workshop II 2019 - Rome // 2019-11-22 8 Zabbix → Grafana ● Zabbix ○ “batteries included” free and open source monitoring tool ○ auto discovery ○ XML based templates ○ remote agents ○ Good Ceph integration ○ Good multiuser support ● Straightforward integration with Grafana ○ Grafana’s Zabbix datasource Claudio Pisa // EAPConnect Workshop II 2019 - Rome // 2019-11-22 9 Nagios ● Nagios is a free and open source monitoring tool ○ plugins - scripts to check and report ○ Nagios remote plugin executor (NRPE) - for remote hosts ○ known especially for alerting ○ FAQ: how do you pronounce Nagios? ■ the author pronounces it as “nah-ghee-ose” ■ but “you can pronounce it however the heck you'd like” ■ even “nachos” Claudio Pisa // EAPConnect Workshop II 2019 - Rome // 2019-11-22 11 Nagios ● Nagios is very well integrated in Juju ○ Nagios charm ○ NRPE charm ○ Canonical OpenStack charms come with handy Nagios configuration options Claudio Pisa // EAPConnect Workshop II 2019 - Rome // 2019-11-22 12 PNP my Nagios ● PNP is an addon to Nagios which analyzes performance data provided by Nagios plugins and stores them automatically into Round Robin Databases (RRD) ○ and there is a PNP Grafana datasource Claudio Pisa // EAPConnect Workshop II 2019 - Rome // 2019-11-22 13 OpenStack → Nagios ● The Nagios Charm monitors the OpenStack services ○ but not what is happening inside OpenStack ● Simple idea: write a set of Nagios plugins which collect metrics from the OpenStack API ○ number of projects ○ number of servers ○ floating IP address usage ○ volume usage ○ OpenStack APIs reachability ○ … Claudio Pisa // EAPConnect Workshop II 2019 - Rome // 2019-11-22 14 Kubernetes → Prometheus → Grafana ● A new kid on the block: Kubernetes ○ container platform ○ inspired by Google Borg ● Prometheus ○ open source monitoring tool ○ inspired by the Google Borg Monitor ○ powerful query language (PromQL) ○ alerting ○ white-box monitoring ● Kubernetes supports Prometheus natively ● Grafana supports Prometheus natively Claudio Pisa // EAPConnect Workshop II 2019 - Rome // 2019-11-22 17 Proposed Architecture - updated Kubernetes Prometheus Cloud Infrastructural Nagios PNP services + (RRD) OpenStack Cloud Infrastructure Zabbix + Ceph Bare Metal Dell tools Grafana GINS Network (SNMP) Claudio Pisa // EAPConnect Workshop II 2019 - Rome // 2019-11-22 18 OpenStack Virtual Networks Monitoring ● The OpenStack tenants can create virtual networks, connected to virtual routers ● How to monitor if their network/virtual router is working? Claudio Pisa // EAPConnect Workshop II 2019 - Rome // 2019-11-22 20 OpenStack Virtual Networks Monitoring 1. Create a new project, with a VM inside 2. Add all the networks from all the tenants to the project 3. For each network, add a virtual NIC to the VM 4. From inside the VM, try to ping from each NIC a public address 5. Report the results to Nagios VM tenant 1 VM monitoring VM tenant tenant 2 Internet Claudio Pisa // EAPConnect Workshop II 2019 - Rome // 2019-11-22 OpenStack Virtual Networks Monitoring ● Caveats ○ OpenStack VMs support a limited number of virtual NICs ■ A KVM limitation ■ In general we will need more than one VM ● and an algorithm to distribute the networks among the VMs ○ How to ping choosing a different interface and routing without changing the IP address assignment mechanism? ■ policy routing ■ network namespaces <------ Claudio Pisa // EAPConnect Workshop II 2019 - Rome // 2019-11-22 22 Considerations / Takeaways ● Nagios (vs. Prometheus) ○ Nagios has no query language ■ but it is very easy to develop new plugins ○ Nagios (+PNP) uses RRD based storage ■ not suitable for highly dynamic environments ● e.g. cloud-native applications ■ but suitable for infrastructure monitoring ● Grafana performance (time to render graphs) ○ very good with Nagios+PNP ○ OK with Zabbix ○ can be slow with Prometheus Claudio Pisa // EAPConnect Workshop II 2019 - Rome // 2019-11-22 25 Future Work ● Self healing ○ react to well known bugs ○ with well known recipes ○ with some hysteresis / guard time ● AIOps - Artificial Intelligence for Operations ○ collect many many metrics ○ annotate incidents/events ○ train an AI using the collected data ○ profit! Claudio Pisa // EAPConnect Workshop II 2019 - Rome // 2019-11-22 26 Thank you Claudio Pisa - GARR - Distributed Computing and Storage Department [email protected].
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages27 Page
-
File Size-