SlideShare una empresa de Scribd logo
1 de 64
Descargar para leer sin conexión
OCCI Monitoring Extension
OCCI Monitoring Extension
4th ZWAH summer school in Cloud Computing
Augusto Ciuffoletti
University of Pisa
July, 2016
OCCI Monitoring Extension
Monitoring cloud resources: admin and user
perspective
• Infrastructure monitoring traditionally associated to
administrator
• Gather data from sensors, store and process to generate
alarms
• Keep data in databases for incident diagnosis and later
analysis
• Pervasive coverage: every resource is potentially probed
• Cloud services introduce the same need on the user side
• The NIST definition explicitly mentions this as a property of
a cloud service
• The user is in fact the admin of a virtual infrastructure
• Wants to understand when a problem arises, and why
• Wants to verify that the service meets the expectations
• A single approach may address both, but kept separate
OCCI Monitoring Extension
Nagios as a practical solution
• Nagios has long been an excellent solution for
infrastructure monitoring
• modular software design
• remote probe deployment and control
• highly adaptable using plugins (possibly user-defined)
• separates the collection and the management of data
• But it does not scale sufficiently well
• difficult to modularize the monitoring infrastructure
• Awkward to dinamically configure
• it is based on a configuration file
OCCI Monitoring Extension
Beyond Nagios: new requirements
• De-compose the monitoring infrastructure in subsystems
• Big-data aware: consider the presence of aggregation
steps in the data path
• Allow the presence of separate planes and data paths for
the user and the admin
• On-demand configuration on both planes
• Address a multi-provider (federated) environment
OCCI Monitoring Extension
Cloud monitoring
A cloud user wants to have a functional feedback from cloud
sourced resources:
• not only to verify service quality, but also to:
• control a scalable resource,
• provide feedback to the users,
• trigger compensating actions
• NIST indicates monitoring as one of the distinctive features
of cloud computing
OCCI Monitoring Extension
Our option: on demand monitoring
• Provide monitoring as part of the service
• Give the user wide possibilities to configure a monitoring
infrastructure
• Which metrics are captured and how data are
preprocessed and retrieved
• Scale from simple to complex infrastructures
• Do not overkill the problem when the use case is simple
• Cope with complex infrastructures
• Resource agnostic
• Basic functionalities plus unlimited pluggable extensions
OCCI Monitoring Extension
Summarizing: a IaaS provisioning
• IaaS is just for the example: could be PaaS or anything
else
OCCI Monitoring Extension
A monitoring infrastructure
• Adding a monitoring infrastructure:
• probes that collect monitoring data (collectors)
• a device that processes monitoring data (sensor)
OCCI Monitoring Extension
A cloud interface
• we need an interface
• an open, extensible standard exists: OCCI
OCCI Monitoring Extension
The OCCI framework
• There is an interface between the user of a cloud service
and the cloud service itself
• Data entities that describe the service traverse this
interface during its provisioning
• The protocol used during this conversation follows the
REST paradigm:
• the user plays the role of the client
• the conversation follows the HTTP protocol
• responses are cacheable, as far as possible
• OCCI proposes a minimalistic conceptual framework (or
ontology) for the entities used to describe the service
OCCI Monitoring Extension
The OCCI core concepts
• Anything is an entity, and it is identified with an URI
• A relationship between entities is an entity
• We distinguish resource entities and link entities
(relationship)
• There are many kinds of entities, with distinguishing
attributes
• An entity of a certain kind can be integrated with mixins
that carry more attributes or bind existing ones to values
OCCI Monitoring Extension
Basic monitoring operation
• Monitoring is made of three basic activities:
• extract operational parameters from a Resource
• gather performance parameters and compute the metric of
interest
• deliver the measurement to the relevant party
• The last two steps consist of the aggregation and
rendering of data
• this makes a candidate for a Resource
• The first step entails the collaboration among resources
• this makes a candidate for a Link
• The resource is named Sensor, and the link Collector
• and this is bare minimum to compose a monitoring
infrastructure from standard building blocks
OCCI Monitoring Extension
A Sensor
• It is a distiguished activity that needs the provision of cloud
resources
• Tightly integrated in cloud infrastructure
• Under control of the provider
• Tuned using user requests
• The user that wants to exert monitoring instantiates (and
pays for) a Sensor
• OCCI role in that is the description of the monitoring
infrastructure
OCCI Monitoring Extension
Describing a Sensor
• Any Sensor has a few generic features
• ...they can be included in a standard definition of a Sensor
• When the sensor operates
• How frequently the sensor produces a new measurement
• They are timing attributes
• Other features are specific for the provider
• ...they are defined as mixins for the sensor
• How data are filtered (low pass, patterns etc.)
• How data are rendered (archive, email, streaming etc.)
• There is no limit to the semantics of the mixins
• however the hooks to connect a Sensor to a Collector must
be defined
OCCI Monitoring Extension
A Collector
• Represents a flow of measurements between a OCCI
Resource and a Sensor
• ... yes, the source can be a Sensor in its turn
• The provider has control on the available measurements
• The user has control on the selection and the configuration
of the Collectors
• Cross provider measurements can be implemented
• ... to accomodate the utilization of several providers with a
unique dashboard Sensor
OCCI Monitoring Extension
Describing a Collector
• As in the case of the Sensor there are generic attributes of
a collector:
• The sampling period
• The accuracy of the sampling period
• ... again, just timing
• Other attributes are defined by provider-specific mixins
with an arbitrary semantic
• ...the metric that is measured (throughput, free space,
temperature etc.)
OCCI Monitoring Extension
The overall picture (kinds)
• Two entity kinds
• Sensor aggregates and delivers measurements
• Collector produces measurements
OCCI Monitoring Extension
The overall picture (mixins)
• Three mixin types
• Aggregator mixins describe the aggregation activity of a
Sensor
• Publisher mixins describe the rendering activity of a Sensor
• Metric mixins describe the measurement activity of a
Collector
• The two Kinds have a http://schemas.ogf.org/occi/monitoring
schema associated
• ...they are standard entities
• The three Mixins may be associated with a provider
specific schema
• ...but we do not exclude that some of them may be part of
another standard
OCCI Monitoring Extension
Hold them together: input and output hooks
• The designer needs the tools to assemble a monitoring
infrastructure
• we introduce input and output attributes for the Mixins
• This specification falls outside the capabilities of the OCCI
standard
• The provider needs to be able to specify an interface for
the building blocks
• We describe two types of channel attributes for a mixin:
• Input attributes
• Output attributes
• the value of a channel attribute is a label
• Input and Output attributes with matching labels are
connected
• this is useful to describe a flow of data among them
• The scope of a label is limited to a sensor and its adjacent
collectors
OCCI Monitoring Extension
Step by step design of a monitoring infrastructure
An example:
• One sensor collects measurementes from two resources
• Results are rendered through two different channels (e.g.,
streaming and database)
• Two distinct meters are applied to each of the two
resources (total four meters)
• We combine a metric from both resources (e.g., average
load)
OCCI Monitoring Extension
Step by step design of a monitoring infrastructure
The resources we want to monitor
OCCI Monitoring Extension
Step by step design of a monitoring infrastructure
Create one Sensor resource
OCCI Monitoring Extension
Step by step design of a monitoring infrastructure
Use two collectors to define the measurement activiy
OCCI Monitoring Extension
Step by step design of a monitoring infrastructure
Associate two metric mixins to the Collector X
OCCI Monitoring Extension
Step by step design of a monitoring infrastructure
And another two metric mixins to the Collector Y
OCCI Monitoring Extension
Step by step design of a monitoring infrastructure
Associate two aggregator mixins to the Sensor
OCCI Monitoring Extension
Step by step design of a monitoring infrastructure
One publisher is going to use raw data from the collector
OCCI Monitoring Extension
Step by step design of a monitoring infrastructure
Another is going to receive measurements from the
aggregators
OCCI Monitoring Extension
Step by step design of a monitoring infrastructure
A frame for Collector X and its mixins
OCCI Monitoring Extension
Step by step design of a monitoring infrastructure
... one for Collector Y...
OCCI Monitoring Extension
Step by step design of a monitoring infrastructure
... one for the sensor
OCCI Monitoring Extension
Step by step design of a monitoring infrastructure
The scope of the Sensor (for metric streams ids)
OCCI Monitoring Extension
Step by step design of a monitoring infrastructure
Feeding the aggregators: a,b,d are measurement stream ids
OCCI Monitoring Extension
Step by step design of a monitoring infrastructure
Feeding publisher 2: aggregated (f,g) and raw data (e)
OCCI Monitoring Extension
Step by step design of a monitoring infrastructure
Feeding publisher 1: measurement stream b is multicast
OCCI Monitoring Extension
Now, let’s take stock
• To describe a cloud provisioning, we need to describe also
a way to monitor its operation
• this is demonstrated by the monitoring options offered by
many providers
• A standard, aligned with the Open Cloud Computing
Interface
• Two basic concepts:
• Sensor aggregates and delivers monitoring data
• Collector produces monitoring data
• Finalized using mixins defined by the provider or by other
documents
• Can be combined to form complex infrastructures
• Next step: let’s implement an engine
OCCI Monitoring Extension
How do we do that?
• We want to study the big arrow in the figure
How do we implement a monitoring infrastructure starting from
its OCCI specification
• ROcMon is a "proof of concept" prototype
OCCI Monitoring Extension
ROcMon: from OCCI to a monitoring infrastructure
ROcMon is (R)uby (Oc)ci (Mon)itoring
• ROcMon is an abstract architecture and a prototype
• simplicity and effectiveness is the goal
• The architecture is based on a specialized resource, the
Sensor
• receives monitoring data from other resources
• aggregates, processes the data
• delivers the data to other resources
• The monitoring activity is modeled with a link between
resources, the Collector
• On one edge is a probe that extracts data from one
component
• On the other there is the destination Sensor
• A collector may link two Sensors
• Adopts Nagios "separation of concern"
• Introduces multi-stage data processing
• Allows multi-tenancy, federation
• Localizes where data is processed and aggregated
OCCI Monitoring Extension
Why ROcMon has an OCCI interface?
• To allow dynamic configuration we need to provide an
interface
• A dashboard GUI is not a solution
• An API gives full flexibility:
• Software defined monitoring infrastructure
• User transparent when needed
• Automatic control based on feedback
• OCCI-monitoring provides an effective model for the API:
• simple, customizable and expandable
• based on an adopted standard
• A Sensor is a resource entity
• A Collector is a link entity
OCCI Monitoring Extension
Architecture of ROcMon: analysis
• Monitoring is by nature split into small components
(remember Nagios)
• monitoring probes are small components, possibly
embedded
• monitoring data crosses a pipe of processors
(anonymization, aggregation etc)
• data is finally published using an endpoint reachable from
the outside (database, web service)
• Each component is supported by a specific technology
• e.g., network monitoring vs storage monitoring
• The on demand nature requires agility in deployment
• the cloud user that obtains a new resource may want to
monitor it
There is a match between
microservices and on demand monitoring
OCCI Monitoring Extension
Ex cursus about microservices
• A design paradigm for distributed system
• a book in O’Reilly "animal series" by S Newman
• Principles:
• each component (hosted by a container) in the system is
designed to provide one small, well defined service
• each component is a stand alone entity that interacts with
others across a network with a well defined interface
OCCI Monitoring Extension
Reasons to adopt the microservices paradigm
• simplifies maintenance
• e.g., upgrade one single container
• agility in deployment
• e.g., to scale up or down
• each container may use a different technology
• e.g., for technical or performance reasons
• simplifies development
• e.g., each container configured by a distinct team
• robustness
• e.g., if one container fails there is a chance that the system
still works
OCCI Monitoring Extension
Architecture of ROcMon: sensors as containers
• A sensor represents an autonomous activity
• It is implemented by an autonomous Docker container
• configured with required computing capabilities
• easy to instantiate/destroy on the fly
• allows the implementation of security measures
• interacts with standard Internet protocols
• OCCI attributes for a Sensor.
• only timing and timing accuracy
• specific operation configured with mixins
OCCI Monitoring Extension
OCCI monitoring remind
• A Sensor is a subtype of the Resource type
• A Collector is a subtype of the Link type
• Add Mixins to specify the type of activity
• Legenda:
• the sensor (red) is an OCCI resource
• the collectors (blue) are OCCI links
• computing boxes and the network are OCCI resources too
OCCI Monitoring Extension
Architecture of ROcMon: sensor mixins
• Mixins are one of the tools provided by OCCI for
expandibility
• A mixin is a feature that is dynamically added to an entity
(e.g. a sensor)
• A mixin can be provided by the service provider
• the provider has control on the functions added to the
sensor
• The provider may allow the user to add new mixins
• however the operation is still controlled by the provider
• Two kinds of mixin for the Sensor
• Aggregator – takes data from a collector and processes the
data
• can be used for anonymization, compression, filtering etc.
• Publisher – delivers the results to the outside with given
format and protocol
• can be used for logging, storage, visualization, triggering,
and forwarding to another sensor
OCCI Monitoring Extension
Architecture of ROcMon: mixins as threads
• A Sensor mixin is a defined activity (not a passive resource
feature)
• In ROcMon a sensor mixin is represented as a thread that
implements a functionality
• A Sensor may host several mixins, that may be instantiated
on the fly
• Using Ruby reflection mechanisms it is possible to
instantiate a new thread based on a request received
across the API
OCCI Monitoring Extension
Architecture of ROcMon: channels as WebSockets
• Monitoring consists of:
• the measurement of a number of metrics
• their processing along a pipe of functions that extract
relevant information (sensors)
• the final delivery or utilization
Relevant paper: NISTIR 8063: Primitives and Elements of
Internet of Things Trustworthiness
• The provisioning of communication along the pipe is part of
the monitoring service
• ROcMon uses WebSockets for this:
• Standard protocol
• Uses the same server (sinatra) used for REST configuration
• Encrypted communication is immediate (https)
OCCI Monitoring Extension
Architecture of ROcMon: probes as collector mixins
• In the OCCI monitoring document:
• The Collector link represents the communication of
measurements between a probe and a sensor
• The measured metrics are represented as Collector mixins
• One collector edge is a probe
• The probe is implemented as a thread hosting single
measurement tools as sub-threads
• Communication is based on WebSockets:
• The probe end opens a WebSocket with the Sensor
• The WebSocket on Sensor side routes incoming data to
aggregators and publishers
OCCI Monitoring Extension
ROcMon sandbox
• The VirtualBox VM is our private cloud provider
• Exposes a very basic OCCI interface
• remember: it is designed for testing and educational
purposes
• Two kinds of resources available as Docker images:
• generic: a generic compute resource
• sensor: the sensor resource we know
• One kind of links available:
• collector: the collector link we know
OCCI Monitoring Extension
Docker image construction
• The basic Docker image is shipped in the VirtualBox VM
• It needs to be specialized in
• an image for the generic resource
• an image for the sensor resource
• The build.sh script (re)builds the two Docker images
• if you want to modify the code you need this feature
• for instance, to introduce new mixins
OCCI Monitoring Extension
ROcMon sandbox operation
• The OCCI-server implements a simplified OCCI server
• accepts POST and GET requests on OCCI entities
• instantiates resources as running Dockers and configures
them (using their REST interfaces)
• The run.sh wrapper simplifies your life:
• you prepare a directory with files containing the OCCI
documents
• call run.sh passing the directory name as a parameter
• see the demo0 directory for a working example (call with
./run.sh demo0)
OCCI Monitoring Extension
Demo0 layout
• A demo infrastructure with one generic resource with a
CPU load and connectivity monitoring
OCCI Monitoring Extension
Demo0 directory: content
• Contents:
• an additional run.sh: displays some info and starts a UDP
socket to receive monitoring results
• 01g.json the generic computing resource
• 02s.json this sensor: computes the moving average of the
measurements and sends to the UDP socket above
• 03c.json the collector: collects two metrics from the generic
resource: CPU load and google pings.
• Conventions:
• The prefix digits are used to enforce an ordering in
activation
• The json prefix is mandatory for the documents to be
uploaded to the OCCI server
OCCI Monitoring Extension
Demo0 files: the generic computing resource 01g
{
" id " : " 01g" ,
" kind " : " http : / / schemas . ogf . org / occi / docker#generic " ,
" a t t r i b u t e s " : {
" occi " : {
" generic " : {
" speed " : 2 ,
"memory" : 4 ,
" cores " : 2 }
}
} ,
" l i n k s " : [ " 03c " ]
}
• the id must match the filename (redundant)
• the kind drives the processing of the document by the
OCCI-server
• the attributes are in fact unused in our sandbox
• the links are a reference to another document
OCCI Monitoring Extension
Demo0 files: the sensor resource 02s
{
" id " : " 02s " ,
" kind " : " http : / / schemas . ogf . org / occi / monitoring#sensor " ,
" mixins " : [
" http : / / example .com/ occi / monitoring / publisher #SendUDP" ,
" http : / / example .com/ occi / monitoring / aggregator#EWMA" ,
" http : / / example .com/ occi / monitoring / publisher #Log "
] ,
" a t t r i b u t e s " : {
" occi " : { " sensor " : { " period " : 3 } } ,
"com" : { " example " : { " occi " : { " monitoring " : {
"SendUDP" : { " hostname " : " localhost " , " port " : " 8888 " , " input " : " c " } ,
"EWMA" : { " gain " : 16 , " instream " : "a" , " outstream " : " c " } ,
" Log " : { " filename " : " / tmp/02 s . log " , " in_msg " : "b" }
} } } } } ,
" l i n k s " : [ ]
}
• the sensor features three mixins: SendUDP, EWMA and Log
• they are defined in a private namespace
• the attributes introduced by the mixins are defined below
• the input, instream, outstream and in_msg attributes define
channels
• hostname, port, gain and filename are functional parameters
OCCI Monitoring Extension
Demo0 files: the collector resource 03c
{
" id " : " 03c " ,
" kind " : " http : / / schemas . ogf . org / occi / monitoring# c o l l e c t o r " ,
" mixins " : [
" http : / / example .com/ occi / monitoring / metric#CPUPercent " ,
" http : / / example .com/ occi / monitoring / metric#IsReachable "
] ,
" a t t r i b u t e s " : {
" occi " : { " c o l l e c t o r " : { " period " : 3 } } ,
"com" : { " example " : { " occi " : { " monitoring " : {
" CPUPercent " : { " out " : "a" } ,
" IsReachable " : { " hostname " : " 172.217.16.4 " , " maxdelay " : 1000, " out " : "b" }
} } } } } ,
" actions " : [ ] ,
" target " : " 02s " ,
" source " : " 01g"
}
• the collectors features two mixins: CPULoad, and IsReachable
• they are defined in a private namespace
• the attributes introduced by the mixins are defined below
• the out and in attributes define channels
• hostname, maxdelay are functional parameters
OCCI Monitoring Extension
ROcMon: code organization (I)
• The VM provided contains the ROcMon source tree (see
Desktop/rocmon/build)
• The directory contains three subdirectories, one for each
OCCI entity: generic, sensor, collector.
• Each of them contains the code embedded in the docker
image of a OCCI resource:
• generic and collector are loaded into the occi_generic image
(a generic compute resource)
• sensor is loaded into the occi_sensor image
• look into the Dockerfiles to see what I mean
OCCI Monitoring Extension
ROcMon: code organization (II)
• the generic directory contains
• the REST server for configuration
• a directory containing the metric mixins
• the collector contains
• the implementation of the metric container
• the sensor contains
• the REST server for configuration
• the implementation of the sensor
• two directories containing the aggregator and publisher
mixins
OCCI Monitoring Extension
ROcMon: mixins commons
• They finalize the definition of abstract methods of the class
corresponding to the mixin tag
• A hash with the operational parameters is an instance
@variable
• Input is received through channels
• Hash entries correspond to mixin parameters
• Output is
• returned to the caller (metric)
• forwarded through a channel (aggregator and publisher)
OCCI Monitoring Extension
Example: CPU load
require " . / Metric "
class CPUPercent < Metric
require " open3 "
def measurement ( )
out , err , st = Open3 . capture3 ( ’w | head −1 ’ )
i f st . e x i t s t a t u s == 0
perc=out . s p l i t ( " load average : " ) [ 1 ] . s p l i t ( " , " ) [ 0 ] . gsub ( " , " , " . " ) . to_f ∗100
else
perc= n i l
end
return JSON. generate (Hash [ @metric_hash [ : out ] => perc ] )
end
end
• CPUPercent is a subclass of Metric (a tag)
• measurement is the name of the parameterless method
• only one attribute defined named out
• return value is a JSON object
• object labels correspond to mixin attributes
OCCI Monitoring Extension
Example: EWMA (I)
require " . / Aggregator "
class EWMA < Aggregator
def i n i t i a l i z e ( sensor_hash , aggregator_hash , syncChannels )
super
begin
addChannel ( @aggregator_hash [ : instream ] . to_sym )
addChannel ( @aggregator_hash [ : outstream ] . to_sym )
rescue Exception => e
puts " Problems adding a channel : #{e . message } "
puts e . backtrace . inspect
end
end
• EWMA is a subclass of Aggregator (a tag)
• first execute superclass initialize to fill instance variables
• the initialize method uses channel labels to create
internal queues
• note that instream and outstream are the channel attributes
names
OCCI Monitoring Extension
Example: EWMA (II)
def run ( )
output= n i l
begin
gain=@aggregator_hash [ : gain ]
inChannel=getChannelByName ( " instream " )
outChannel=getChannelByName ( " outstream " )
loop do
data=inChannel . pop
puts "EWMA:  tnew data in (#{ data } ) "
output | | = data
output = ( ( output ∗ ( gain −1))+data ) / gain
outChannel . push ( output )
puts "EWMA:  tdata out (#{ output } ) "
end
rescue Exception => e
puts " Problems during the run of a publisher : #{e . message } "
puts e . backtrace . inspect
end
end
• the gain parameter is retrieved from the instance hash
• as soon as data is available, it is popped out of the input
channel
• data is processed, and pushed in the output channel
OCCI Monitoring Extension
Example: SendUDP (I)
class SendUDP < Publisher
def i n i t i a l i z e ( sensor_hash , publisher_hash , syncChannels )
super
begin
addChannel ( @publisher_hash [ : input ] . to_sym )
puts " Input channel f o r SendUDP added "
rescue Exception => e
puts " Problems adding a channel : #{e . message }  n"
puts e . backtrace . inspect
end
end
def run ( )
• This is analogous to the previous one
• input is the name of the ingress channel
OCCI Monitoring Extension
Example: SendUDP (II)
begin
socket = UDPSocket . new
inChannel=getChannelByName ( : input )
loop do
data=inChannel . pop
puts "UDPSOCKET:  tnew data received (#{ data } ) "
begin
socket . send ( " data="+data . to_s+"  n" ,0 ,
@publisher_hash [ : hostname ] ,
@publisher_hash [ : port ]
)
rescue Exception => e
puts " Problems sending with UDP( 2 ) : #{e . message } "
puts e . backtrace . inspect
end
puts "UDPSOCKET:  tdata sent to socket (#{ data } ) "
end
rescue Exception => e
puts " Problems sending with UDP: #{e . message } "
puts e . backtrace . inspect
end
end
• Slightly more complex than the previous: need to manage
a UDP socket!

Más contenido relacionado

Similar a ZHAW 2016 - OCCI for monitoring

ADDO Open Source Observability Tools
ADDO Open Source Observability Tools ADDO Open Source Observability Tools
ADDO Open Source Observability Tools Mickey Boxell
 
O monitoramento da infraestrutura facilitado, da ingestão ao insight
O monitoramento da infraestrutura facilitado, da ingestão ao insightO monitoramento da infraestrutura facilitado, da ingestão ao insight
O monitoramento da infraestrutura facilitado, da ingestão ao insightElasticsearch
 
Monitoring Containerized Micro-Services In Azure
Monitoring Containerized Micro-Services In AzureMonitoring Containerized Micro-Services In Azure
Monitoring Containerized Micro-Services In AzureAlex Bulankou
 
Le monitoring d'infrastructure de l'ingestion aux données : un jeu d'enfants !
Le monitoring d'infrastructure de l'ingestion aux données : un jeu d'enfants !Le monitoring d'infrastructure de l'ingestion aux données : un jeu d'enfants !
Le monitoring d'infrastructure de l'ingestion aux données : un jeu d'enfants !Elasticsearch
 
Infrastructure monitoring made easy, from ingest to insight
Infrastructure monitoring made easy, from ingest to insightInfrastructure monitoring made easy, from ingest to insight
Infrastructure monitoring made easy, from ingest to insightElasticsearch
 
Monitoring-Docker-Container-and-Dockerized-Applications
Monitoring-Docker-Container-and-Dockerized-ApplicationsMonitoring-Docker-Container-and-Dockerized-Applications
Monitoring-Docker-Container-and-Dockerized-ApplicationsSatya Sanjibani Routray
 
Monitoring docker-container-and-dockerized-applications
Monitoring docker-container-and-dockerized-applicationsMonitoring docker-container-and-dockerized-applications
Monitoring docker-container-and-dockerized-applicationsSatya Sanjibani Routray
 
Monitoreo sencillo de la infraestructura, de la ingesta a la visualización
Monitoreo sencillo de la infraestructura, de la ingesta a la visualizaciónMonitoreo sencillo de la infraestructura, de la ingesta a la visualización
Monitoreo sencillo de la infraestructura, de la ingesta a la visualizaciónElasticsearch
 
Naming, Search and Discovery in IoT: Issues and proposed solutions in the FP7...
Naming, Search and Discovery in IoT: Issues and proposed solutions in the FP7...Naming, Search and Discovery in IoT: Issues and proposed solutions in the FP7...
Naming, Search and Discovery in IoT: Issues and proposed solutions in the FP7...iotest
 
Achieving Semantic Interoperability in the Internet of Things
Achieving Semantic Interoperability in the Internet of ThingsAchieving Semantic Interoperability in the Internet of Things
Achieving Semantic Interoperability in the Internet of Thingsiotest
 
Under the Trenchcoat: Neutron Agent Extensions
Under the Trenchcoat: Neutron Agent ExtensionsUnder the Trenchcoat: Neutron Agent Extensions
Under the Trenchcoat: Neutron Agent ExtensionsMargaret Frances
 
Cisco Application Centric Infrastructure
Cisco Application Centric InfrastructureCisco Application Centric Infrastructure
Cisco Application Centric Infrastructureislam Salah
 
Avanttic tech dates - de la monitorización a la 'observabilidad'
Avanttic tech dates - de la monitorización a la 'observabilidad'Avanttic tech dates - de la monitorización a la 'observabilidad'
Avanttic tech dates - de la monitorización a la 'observabilidad'avanttic Consultoría Tecnológica
 
Iot unit i present by JAVVAJI VENKATRAO SVEC,TIRUPATI
Iot unit i present by JAVVAJI VENKATRAO SVEC,TIRUPATIIot unit i present by JAVVAJI VENKATRAO SVEC,TIRUPATI
Iot unit i present by JAVVAJI VENKATRAO SVEC,TIRUPATIVenkatRaoJ
 

Similar a ZHAW 2016 - OCCI for monitoring (20)

ADDO Open Source Observability Tools
ADDO Open Source Observability Tools ADDO Open Source Observability Tools
ADDO Open Source Observability Tools
 
O monitoramento da infraestrutura facilitado, da ingestão ao insight
O monitoramento da infraestrutura facilitado, da ingestão ao insightO monitoramento da infraestrutura facilitado, da ingestão ao insight
O monitoramento da infraestrutura facilitado, da ingestão ao insight
 
Monitoring Containerized Micro-Services In Azure
Monitoring Containerized Micro-Services In AzureMonitoring Containerized Micro-Services In Azure
Monitoring Containerized Micro-Services In Azure
 
Le monitoring d'infrastructure de l'ingestion aux données : un jeu d'enfants !
Le monitoring d'infrastructure de l'ingestion aux données : un jeu d'enfants !Le monitoring d'infrastructure de l'ingestion aux données : un jeu d'enfants !
Le monitoring d'infrastructure de l'ingestion aux données : un jeu d'enfants !
 
Monitor Cloud Resources using Alerts & Insights
Monitor Cloud Resources using Alerts & InsightsMonitor Cloud Resources using Alerts & Insights
Monitor Cloud Resources using Alerts & Insights
 
Infrastructure monitoring made easy, from ingest to insight
Infrastructure monitoring made easy, from ingest to insightInfrastructure monitoring made easy, from ingest to insight
Infrastructure monitoring made easy, from ingest to insight
 
Monitoring-Docker-Container-and-Dockerized-Applications
Monitoring-Docker-Container-and-Dockerized-ApplicationsMonitoring-Docker-Container-and-Dockerized-Applications
Monitoring-Docker-Container-and-Dockerized-Applications
 
Monitoring docker-container-and-dockerized-applications
Monitoring docker-container-and-dockerized-applicationsMonitoring docker-container-and-dockerized-applications
Monitoring docker-container-and-dockerized-applications
 
Monitoreo sencillo de la infraestructura, de la ingesta a la visualización
Monitoreo sencillo de la infraestructura, de la ingesta a la visualizaciónMonitoreo sencillo de la infraestructura, de la ingesta a la visualización
Monitoreo sencillo de la infraestructura, de la ingesta a la visualización
 
Naming, Search and Discovery in IoT: Issues and proposed solutions in the FP7...
Naming, Search and Discovery in IoT: Issues and proposed solutions in the FP7...Naming, Search and Discovery in IoT: Issues and proposed solutions in the FP7...
Naming, Search and Discovery in IoT: Issues and proposed solutions in the FP7...
 
Achieving Semantic Interoperability in the Internet of Things
Achieving Semantic Interoperability in the Internet of ThingsAchieving Semantic Interoperability in the Internet of Things
Achieving Semantic Interoperability in the Internet of Things
 
unit3.ppt
unit3.pptunit3.ppt
unit3.ppt
 
IoT.pptx
IoT.pptxIoT.pptx
IoT.pptx
 
Under the Trenchcoat: Neutron Agent Extensions
Under the Trenchcoat: Neutron Agent ExtensionsUnder the Trenchcoat: Neutron Agent Extensions
Under the Trenchcoat: Neutron Agent Extensions
 
Cisco Application Centric Infrastructure
Cisco Application Centric InfrastructureCisco Application Centric Infrastructure
Cisco Application Centric Infrastructure
 
Cloud and OpenStack
Cloud and OpenStackCloud and OpenStack
Cloud and OpenStack
 
Openstack: starter level
Openstack: starter levelOpenstack: starter level
Openstack: starter level
 
Chapter - 1.pptx
Chapter - 1.pptxChapter - 1.pptx
Chapter - 1.pptx
 
Avanttic tech dates - de la monitorización a la 'observabilidad'
Avanttic tech dates - de la monitorización a la 'observabilidad'Avanttic tech dates - de la monitorización a la 'observabilidad'
Avanttic tech dates - de la monitorización a la 'observabilidad'
 
Iot unit i present by JAVVAJI VENKATRAO SVEC,TIRUPATI
Iot unit i present by JAVVAJI VENKATRAO SVEC,TIRUPATIIot unit i present by JAVVAJI VENKATRAO SVEC,TIRUPATI
Iot unit i present by JAVVAJI VENKATRAO SVEC,TIRUPATI
 

Más de Augusto Ciuffoletti

An open-source testbed for IoT systems
An open-source testbed for IoT systemsAn open-source testbed for IoT systems
An open-source testbed for IoT systemsAugusto Ciuffoletti
 
Design and implementation of a low-cost modular sensor
Design and implementation of a low-cost modular sensorDesign and implementation of a low-cost modular sensor
Design and implementation of a low-cost modular sensorAugusto Ciuffoletti
 
Automated deployment of a microservice based monitoring architecture
Automated deployment of a microservice based monitoring architectureAutomated deployment of a microservice based monitoring architecture
Automated deployment of a microservice based monitoring architectureAugusto Ciuffoletti
 
OCCI Monitoring at OGF42 - Concepts and demo
OCCI Monitoring at OGF42 - Concepts and demoOCCI Monitoring at OGF42 - Concepts and demo
OCCI Monitoring at OGF42 - Concepts and demoAugusto Ciuffoletti
 
Extending the OCCI API with monitoring capabilities
Extending the OCCI API with monitoring capabilitiesExtending the OCCI API with monitoring capabilities
Extending the OCCI API with monitoring capabilitiesAugusto Ciuffoletti
 
Monitoring a virtual network infrastructure - An IaaS perspective
Monitoring a virtual network infrastructure - An IaaS perspectiveMonitoring a virtual network infrastructure - An IaaS perspective
Monitoring a virtual network infrastructure - An IaaS perspectiveAugusto Ciuffoletti
 
Collision avoidance using a wandering token in the PTP protocol
Collision avoidance using a wandering token in the PTP protocolCollision avoidance using a wandering token in the PTP protocol
Collision avoidance using a wandering token in the PTP protocolAugusto Ciuffoletti
 
TIP: a course about IP convergence technology
TIP: a course about IP convergence technologyTIP: a course about IP convergence technology
TIP: a course about IP convergence technologyAugusto Ciuffoletti
 
Design of a secure "Token Passing" protocol
Design of a secure "Token Passing" protocolDesign of a secure "Token Passing" protocol
Design of a secure "Token Passing" protocolAugusto Ciuffoletti
 
Network Monitoring in the age of the Cloud
Network Monitoring in the age of the CloudNetwork Monitoring in the age of the Cloud
Network Monitoring in the age of the CloudAugusto Ciuffoletti
 
Grid Infrastructure Architecture A Modular Approach from CoreGRID
Grid Infrastructure Architecture A Modular Approach from CoreGRIDGrid Infrastructure Architecture A Modular Approach from CoreGRID
Grid Infrastructure Architecture A Modular Approach from CoreGRIDAugusto Ciuffoletti
 
Scalable concurrency control in a dynamic membership
Scalable concurrency control  in a dynamic membershipScalable concurrency control  in a dynamic membership
Scalable concurrency control in a dynamic membershipAugusto Ciuffoletti
 
Prototype Implementation of a Demand Driven Network Monitoring Architecture
Prototype Implementation of a Demand Driven Network Monitoring ArchitecturePrototype Implementation of a Demand Driven Network Monitoring Architecture
Prototype Implementation of a Demand Driven Network Monitoring ArchitectureAugusto Ciuffoletti
 
IEEE1588 - Collision avoidance for Delay_Req messages in broadcast media
IEEE1588  - Collision avoidance for Delay_Req messages in broadcast mediaIEEE1588  - Collision avoidance for Delay_Req messages in broadcast media
IEEE1588 - Collision avoidance for Delay_Req messages in broadcast mediaAugusto Ciuffoletti
 

Más de Augusto Ciuffoletti (20)

An open-source testbed for IoT systems
An open-source testbed for IoT systemsAn open-source testbed for IoT systems
An open-source testbed for IoT systems
 
0 basic
0 basic0 basic
0 basic
 
Thingspeak: integrazione
Thingspeak: integrazioneThingspeak: integrazione
Thingspeak: integrazione
 
Thingspeak: fondamenti
Thingspeak: fondamentiThingspeak: fondamenti
Thingspeak: fondamenti
 
Design and implementation of a low-cost modular sensor
Design and implementation of a low-cost modular sensorDesign and implementation of a low-cost modular sensor
Design and implementation of a low-cost modular sensor
 
Open Cloud Computing Interface
Open Cloud Computing InterfaceOpen Cloud Computing Interface
Open Cloud Computing Interface
 
Automated deployment of a microservice based monitoring architecture
Automated deployment of a microservice based monitoring architectureAutomated deployment of a microservice based monitoring architecture
Automated deployment of a microservice based monitoring architecture
 
OCCI Monitoring at OGF42 - Concepts and demo
OCCI Monitoring at OGF42 - Concepts and demoOCCI Monitoring at OGF42 - Concepts and demo
OCCI Monitoring at OGF42 - Concepts and demo
 
Extending the OCCI API with monitoring capabilities
Extending the OCCI API with monitoring capabilitiesExtending the OCCI API with monitoring capabilities
Extending the OCCI API with monitoring capabilities
 
2013 03 occi-monitoring
2013 03 occi-monitoring2013 03 occi-monitoring
2013 03 occi-monitoring
 
Monitoring a virtual network infrastructure - An IaaS perspective
Monitoring a virtual network infrastructure - An IaaS perspectiveMonitoring a virtual network infrastructure - An IaaS perspective
Monitoring a virtual network infrastructure - An IaaS perspective
 
Collision avoidance using a wandering token in the PTP protocol
Collision avoidance using a wandering token in the PTP protocolCollision avoidance using a wandering token in the PTP protocol
Collision avoidance using a wandering token in the PTP protocol
 
TIP: a course about IP convergence technology
TIP: a course about IP convergence technologyTIP: a course about IP convergence technology
TIP: a course about IP convergence technology
 
Design of a secure "Token Passing" protocol
Design of a secure "Token Passing" protocolDesign of a secure "Token Passing" protocol
Design of a secure "Token Passing" protocol
 
The wandering token
The wandering tokenThe wandering token
The wandering token
 
Network Monitoring in the age of the Cloud
Network Monitoring in the age of the CloudNetwork Monitoring in the age of the Cloud
Network Monitoring in the age of the Cloud
 
Grid Infrastructure Architecture A Modular Approach from CoreGRID
Grid Infrastructure Architecture A Modular Approach from CoreGRIDGrid Infrastructure Architecture A Modular Approach from CoreGRID
Grid Infrastructure Architecture A Modular Approach from CoreGRID
 
Scalable concurrency control in a dynamic membership
Scalable concurrency control  in a dynamic membershipScalable concurrency control  in a dynamic membership
Scalable concurrency control in a dynamic membership
 
Prototype Implementation of a Demand Driven Network Monitoring Architecture
Prototype Implementation of a Demand Driven Network Monitoring ArchitecturePrototype Implementation of a Demand Driven Network Monitoring Architecture
Prototype Implementation of a Demand Driven Network Monitoring Architecture
 
IEEE1588 - Collision avoidance for Delay_Req messages in broadcast media
IEEE1588  - Collision avoidance for Delay_Req messages in broadcast mediaIEEE1588  - Collision avoidance for Delay_Req messages in broadcast media
IEEE1588 - Collision avoidance for Delay_Req messages in broadcast media
 

Último

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Último (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

ZHAW 2016 - OCCI for monitoring

  • 1. OCCI Monitoring Extension OCCI Monitoring Extension 4th ZWAH summer school in Cloud Computing Augusto Ciuffoletti University of Pisa July, 2016
  • 2. OCCI Monitoring Extension Monitoring cloud resources: admin and user perspective • Infrastructure monitoring traditionally associated to administrator • Gather data from sensors, store and process to generate alarms • Keep data in databases for incident diagnosis and later analysis • Pervasive coverage: every resource is potentially probed • Cloud services introduce the same need on the user side • The NIST definition explicitly mentions this as a property of a cloud service • The user is in fact the admin of a virtual infrastructure • Wants to understand when a problem arises, and why • Wants to verify that the service meets the expectations • A single approach may address both, but kept separate
  • 3. OCCI Monitoring Extension Nagios as a practical solution • Nagios has long been an excellent solution for infrastructure monitoring • modular software design • remote probe deployment and control • highly adaptable using plugins (possibly user-defined) • separates the collection and the management of data • But it does not scale sufficiently well • difficult to modularize the monitoring infrastructure • Awkward to dinamically configure • it is based on a configuration file
  • 4. OCCI Monitoring Extension Beyond Nagios: new requirements • De-compose the monitoring infrastructure in subsystems • Big-data aware: consider the presence of aggregation steps in the data path • Allow the presence of separate planes and data paths for the user and the admin • On-demand configuration on both planes • Address a multi-provider (federated) environment
  • 5. OCCI Monitoring Extension Cloud monitoring A cloud user wants to have a functional feedback from cloud sourced resources: • not only to verify service quality, but also to: • control a scalable resource, • provide feedback to the users, • trigger compensating actions • NIST indicates monitoring as one of the distinctive features of cloud computing
  • 6. OCCI Monitoring Extension Our option: on demand monitoring • Provide monitoring as part of the service • Give the user wide possibilities to configure a monitoring infrastructure • Which metrics are captured and how data are preprocessed and retrieved • Scale from simple to complex infrastructures • Do not overkill the problem when the use case is simple • Cope with complex infrastructures • Resource agnostic • Basic functionalities plus unlimited pluggable extensions
  • 7. OCCI Monitoring Extension Summarizing: a IaaS provisioning • IaaS is just for the example: could be PaaS or anything else
  • 8. OCCI Monitoring Extension A monitoring infrastructure • Adding a monitoring infrastructure: • probes that collect monitoring data (collectors) • a device that processes monitoring data (sensor)
  • 9. OCCI Monitoring Extension A cloud interface • we need an interface • an open, extensible standard exists: OCCI
  • 10. OCCI Monitoring Extension The OCCI framework • There is an interface between the user of a cloud service and the cloud service itself • Data entities that describe the service traverse this interface during its provisioning • The protocol used during this conversation follows the REST paradigm: • the user plays the role of the client • the conversation follows the HTTP protocol • responses are cacheable, as far as possible • OCCI proposes a minimalistic conceptual framework (or ontology) for the entities used to describe the service
  • 11. OCCI Monitoring Extension The OCCI core concepts • Anything is an entity, and it is identified with an URI • A relationship between entities is an entity • We distinguish resource entities and link entities (relationship) • There are many kinds of entities, with distinguishing attributes • An entity of a certain kind can be integrated with mixins that carry more attributes or bind existing ones to values
  • 12. OCCI Monitoring Extension Basic monitoring operation • Monitoring is made of three basic activities: • extract operational parameters from a Resource • gather performance parameters and compute the metric of interest • deliver the measurement to the relevant party • The last two steps consist of the aggregation and rendering of data • this makes a candidate for a Resource • The first step entails the collaboration among resources • this makes a candidate for a Link • The resource is named Sensor, and the link Collector • and this is bare minimum to compose a monitoring infrastructure from standard building blocks
  • 13. OCCI Monitoring Extension A Sensor • It is a distiguished activity that needs the provision of cloud resources • Tightly integrated in cloud infrastructure • Under control of the provider • Tuned using user requests • The user that wants to exert monitoring instantiates (and pays for) a Sensor • OCCI role in that is the description of the monitoring infrastructure
  • 14. OCCI Monitoring Extension Describing a Sensor • Any Sensor has a few generic features • ...they can be included in a standard definition of a Sensor • When the sensor operates • How frequently the sensor produces a new measurement • They are timing attributes • Other features are specific for the provider • ...they are defined as mixins for the sensor • How data are filtered (low pass, patterns etc.) • How data are rendered (archive, email, streaming etc.) • There is no limit to the semantics of the mixins • however the hooks to connect a Sensor to a Collector must be defined
  • 15. OCCI Monitoring Extension A Collector • Represents a flow of measurements between a OCCI Resource and a Sensor • ... yes, the source can be a Sensor in its turn • The provider has control on the available measurements • The user has control on the selection and the configuration of the Collectors • Cross provider measurements can be implemented • ... to accomodate the utilization of several providers with a unique dashboard Sensor
  • 16. OCCI Monitoring Extension Describing a Collector • As in the case of the Sensor there are generic attributes of a collector: • The sampling period • The accuracy of the sampling period • ... again, just timing • Other attributes are defined by provider-specific mixins with an arbitrary semantic • ...the metric that is measured (throughput, free space, temperature etc.)
  • 17. OCCI Monitoring Extension The overall picture (kinds) • Two entity kinds • Sensor aggregates and delivers measurements • Collector produces measurements
  • 18. OCCI Monitoring Extension The overall picture (mixins) • Three mixin types • Aggregator mixins describe the aggregation activity of a Sensor • Publisher mixins describe the rendering activity of a Sensor • Metric mixins describe the measurement activity of a Collector • The two Kinds have a http://schemas.ogf.org/occi/monitoring schema associated • ...they are standard entities • The three Mixins may be associated with a provider specific schema • ...but we do not exclude that some of them may be part of another standard
  • 19. OCCI Monitoring Extension Hold them together: input and output hooks • The designer needs the tools to assemble a monitoring infrastructure • we introduce input and output attributes for the Mixins • This specification falls outside the capabilities of the OCCI standard • The provider needs to be able to specify an interface for the building blocks • We describe two types of channel attributes for a mixin: • Input attributes • Output attributes • the value of a channel attribute is a label • Input and Output attributes with matching labels are connected • this is useful to describe a flow of data among them • The scope of a label is limited to a sensor and its adjacent collectors
  • 20. OCCI Monitoring Extension Step by step design of a monitoring infrastructure An example: • One sensor collects measurementes from two resources • Results are rendered through two different channels (e.g., streaming and database) • Two distinct meters are applied to each of the two resources (total four meters) • We combine a metric from both resources (e.g., average load)
  • 21. OCCI Monitoring Extension Step by step design of a monitoring infrastructure The resources we want to monitor
  • 22. OCCI Monitoring Extension Step by step design of a monitoring infrastructure Create one Sensor resource
  • 23. OCCI Monitoring Extension Step by step design of a monitoring infrastructure Use two collectors to define the measurement activiy
  • 24. OCCI Monitoring Extension Step by step design of a monitoring infrastructure Associate two metric mixins to the Collector X
  • 25. OCCI Monitoring Extension Step by step design of a monitoring infrastructure And another two metric mixins to the Collector Y
  • 26. OCCI Monitoring Extension Step by step design of a monitoring infrastructure Associate two aggregator mixins to the Sensor
  • 27. OCCI Monitoring Extension Step by step design of a monitoring infrastructure One publisher is going to use raw data from the collector
  • 28. OCCI Monitoring Extension Step by step design of a monitoring infrastructure Another is going to receive measurements from the aggregators
  • 29. OCCI Monitoring Extension Step by step design of a monitoring infrastructure A frame for Collector X and its mixins
  • 30. OCCI Monitoring Extension Step by step design of a monitoring infrastructure ... one for Collector Y...
  • 31. OCCI Monitoring Extension Step by step design of a monitoring infrastructure ... one for the sensor
  • 32. OCCI Monitoring Extension Step by step design of a monitoring infrastructure The scope of the Sensor (for metric streams ids)
  • 33. OCCI Monitoring Extension Step by step design of a monitoring infrastructure Feeding the aggregators: a,b,d are measurement stream ids
  • 34. OCCI Monitoring Extension Step by step design of a monitoring infrastructure Feeding publisher 2: aggregated (f,g) and raw data (e)
  • 35. OCCI Monitoring Extension Step by step design of a monitoring infrastructure Feeding publisher 1: measurement stream b is multicast
  • 36. OCCI Monitoring Extension Now, let’s take stock • To describe a cloud provisioning, we need to describe also a way to monitor its operation • this is demonstrated by the monitoring options offered by many providers • A standard, aligned with the Open Cloud Computing Interface • Two basic concepts: • Sensor aggregates and delivers monitoring data • Collector produces monitoring data • Finalized using mixins defined by the provider or by other documents • Can be combined to form complex infrastructures • Next step: let’s implement an engine
  • 37. OCCI Monitoring Extension How do we do that? • We want to study the big arrow in the figure How do we implement a monitoring infrastructure starting from its OCCI specification • ROcMon is a "proof of concept" prototype
  • 38. OCCI Monitoring Extension ROcMon: from OCCI to a monitoring infrastructure ROcMon is (R)uby (Oc)ci (Mon)itoring • ROcMon is an abstract architecture and a prototype • simplicity and effectiveness is the goal • The architecture is based on a specialized resource, the Sensor • receives monitoring data from other resources • aggregates, processes the data • delivers the data to other resources • The monitoring activity is modeled with a link between resources, the Collector • On one edge is a probe that extracts data from one component • On the other there is the destination Sensor • A collector may link two Sensors • Adopts Nagios "separation of concern" • Introduces multi-stage data processing • Allows multi-tenancy, federation • Localizes where data is processed and aggregated
  • 39. OCCI Monitoring Extension Why ROcMon has an OCCI interface? • To allow dynamic configuration we need to provide an interface • A dashboard GUI is not a solution • An API gives full flexibility: • Software defined monitoring infrastructure • User transparent when needed • Automatic control based on feedback • OCCI-monitoring provides an effective model for the API: • simple, customizable and expandable • based on an adopted standard • A Sensor is a resource entity • A Collector is a link entity
  • 40. OCCI Monitoring Extension Architecture of ROcMon: analysis • Monitoring is by nature split into small components (remember Nagios) • monitoring probes are small components, possibly embedded • monitoring data crosses a pipe of processors (anonymization, aggregation etc) • data is finally published using an endpoint reachable from the outside (database, web service) • Each component is supported by a specific technology • e.g., network monitoring vs storage monitoring • The on demand nature requires agility in deployment • the cloud user that obtains a new resource may want to monitor it There is a match between microservices and on demand monitoring
  • 41. OCCI Monitoring Extension Ex cursus about microservices • A design paradigm for distributed system • a book in O’Reilly "animal series" by S Newman • Principles: • each component (hosted by a container) in the system is designed to provide one small, well defined service • each component is a stand alone entity that interacts with others across a network with a well defined interface
  • 42. OCCI Monitoring Extension Reasons to adopt the microservices paradigm • simplifies maintenance • e.g., upgrade one single container • agility in deployment • e.g., to scale up or down • each container may use a different technology • e.g., for technical or performance reasons • simplifies development • e.g., each container configured by a distinct team • robustness • e.g., if one container fails there is a chance that the system still works
  • 43. OCCI Monitoring Extension Architecture of ROcMon: sensors as containers • A sensor represents an autonomous activity • It is implemented by an autonomous Docker container • configured with required computing capabilities • easy to instantiate/destroy on the fly • allows the implementation of security measures • interacts with standard Internet protocols • OCCI attributes for a Sensor. • only timing and timing accuracy • specific operation configured with mixins
  • 44. OCCI Monitoring Extension OCCI monitoring remind • A Sensor is a subtype of the Resource type • A Collector is a subtype of the Link type • Add Mixins to specify the type of activity • Legenda: • the sensor (red) is an OCCI resource • the collectors (blue) are OCCI links • computing boxes and the network are OCCI resources too
  • 45. OCCI Monitoring Extension Architecture of ROcMon: sensor mixins • Mixins are one of the tools provided by OCCI for expandibility • A mixin is a feature that is dynamically added to an entity (e.g. a sensor) • A mixin can be provided by the service provider • the provider has control on the functions added to the sensor • The provider may allow the user to add new mixins • however the operation is still controlled by the provider • Two kinds of mixin for the Sensor • Aggregator – takes data from a collector and processes the data • can be used for anonymization, compression, filtering etc. • Publisher – delivers the results to the outside with given format and protocol • can be used for logging, storage, visualization, triggering, and forwarding to another sensor
  • 46. OCCI Monitoring Extension Architecture of ROcMon: mixins as threads • A Sensor mixin is a defined activity (not a passive resource feature) • In ROcMon a sensor mixin is represented as a thread that implements a functionality • A Sensor may host several mixins, that may be instantiated on the fly • Using Ruby reflection mechanisms it is possible to instantiate a new thread based on a request received across the API
  • 47. OCCI Monitoring Extension Architecture of ROcMon: channels as WebSockets • Monitoring consists of: • the measurement of a number of metrics • their processing along a pipe of functions that extract relevant information (sensors) • the final delivery or utilization Relevant paper: NISTIR 8063: Primitives and Elements of Internet of Things Trustworthiness • The provisioning of communication along the pipe is part of the monitoring service • ROcMon uses WebSockets for this: • Standard protocol • Uses the same server (sinatra) used for REST configuration • Encrypted communication is immediate (https)
  • 48. OCCI Monitoring Extension Architecture of ROcMon: probes as collector mixins • In the OCCI monitoring document: • The Collector link represents the communication of measurements between a probe and a sensor • The measured metrics are represented as Collector mixins • One collector edge is a probe • The probe is implemented as a thread hosting single measurement tools as sub-threads • Communication is based on WebSockets: • The probe end opens a WebSocket with the Sensor • The WebSocket on Sensor side routes incoming data to aggregators and publishers
  • 49. OCCI Monitoring Extension ROcMon sandbox • The VirtualBox VM is our private cloud provider • Exposes a very basic OCCI interface • remember: it is designed for testing and educational purposes • Two kinds of resources available as Docker images: • generic: a generic compute resource • sensor: the sensor resource we know • One kind of links available: • collector: the collector link we know
  • 50. OCCI Monitoring Extension Docker image construction • The basic Docker image is shipped in the VirtualBox VM • It needs to be specialized in • an image for the generic resource • an image for the sensor resource • The build.sh script (re)builds the two Docker images • if you want to modify the code you need this feature • for instance, to introduce new mixins
  • 51. OCCI Monitoring Extension ROcMon sandbox operation • The OCCI-server implements a simplified OCCI server • accepts POST and GET requests on OCCI entities • instantiates resources as running Dockers and configures them (using their REST interfaces) • The run.sh wrapper simplifies your life: • you prepare a directory with files containing the OCCI documents • call run.sh passing the directory name as a parameter • see the demo0 directory for a working example (call with ./run.sh demo0)
  • 52. OCCI Monitoring Extension Demo0 layout • A demo infrastructure with one generic resource with a CPU load and connectivity monitoring
  • 53. OCCI Monitoring Extension Demo0 directory: content • Contents: • an additional run.sh: displays some info and starts a UDP socket to receive monitoring results • 01g.json the generic computing resource • 02s.json this sensor: computes the moving average of the measurements and sends to the UDP socket above • 03c.json the collector: collects two metrics from the generic resource: CPU load and google pings. • Conventions: • The prefix digits are used to enforce an ordering in activation • The json prefix is mandatory for the documents to be uploaded to the OCCI server
  • 54. OCCI Monitoring Extension Demo0 files: the generic computing resource 01g { " id " : " 01g" , " kind " : " http : / / schemas . ogf . org / occi / docker#generic " , " a t t r i b u t e s " : { " occi " : { " generic " : { " speed " : 2 , "memory" : 4 , " cores " : 2 } } } , " l i n k s " : [ " 03c " ] } • the id must match the filename (redundant) • the kind drives the processing of the document by the OCCI-server • the attributes are in fact unused in our sandbox • the links are a reference to another document
  • 55. OCCI Monitoring Extension Demo0 files: the sensor resource 02s { " id " : " 02s " , " kind " : " http : / / schemas . ogf . org / occi / monitoring#sensor " , " mixins " : [ " http : / / example .com/ occi / monitoring / publisher #SendUDP" , " http : / / example .com/ occi / monitoring / aggregator#EWMA" , " http : / / example .com/ occi / monitoring / publisher #Log " ] , " a t t r i b u t e s " : { " occi " : { " sensor " : { " period " : 3 } } , "com" : { " example " : { " occi " : { " monitoring " : { "SendUDP" : { " hostname " : " localhost " , " port " : " 8888 " , " input " : " c " } , "EWMA" : { " gain " : 16 , " instream " : "a" , " outstream " : " c " } , " Log " : { " filename " : " / tmp/02 s . log " , " in_msg " : "b" } } } } } } , " l i n k s " : [ ] } • the sensor features three mixins: SendUDP, EWMA and Log • they are defined in a private namespace • the attributes introduced by the mixins are defined below • the input, instream, outstream and in_msg attributes define channels • hostname, port, gain and filename are functional parameters
  • 56. OCCI Monitoring Extension Demo0 files: the collector resource 03c { " id " : " 03c " , " kind " : " http : / / schemas . ogf . org / occi / monitoring# c o l l e c t o r " , " mixins " : [ " http : / / example .com/ occi / monitoring / metric#CPUPercent " , " http : / / example .com/ occi / monitoring / metric#IsReachable " ] , " a t t r i b u t e s " : { " occi " : { " c o l l e c t o r " : { " period " : 3 } } , "com" : { " example " : { " occi " : { " monitoring " : { " CPUPercent " : { " out " : "a" } , " IsReachable " : { " hostname " : " 172.217.16.4 " , " maxdelay " : 1000, " out " : "b" } } } } } } , " actions " : [ ] , " target " : " 02s " , " source " : " 01g" } • the collectors features two mixins: CPULoad, and IsReachable • they are defined in a private namespace • the attributes introduced by the mixins are defined below • the out and in attributes define channels • hostname, maxdelay are functional parameters
  • 57. OCCI Monitoring Extension ROcMon: code organization (I) • The VM provided contains the ROcMon source tree (see Desktop/rocmon/build) • The directory contains three subdirectories, one for each OCCI entity: generic, sensor, collector. • Each of them contains the code embedded in the docker image of a OCCI resource: • generic and collector are loaded into the occi_generic image (a generic compute resource) • sensor is loaded into the occi_sensor image • look into the Dockerfiles to see what I mean
  • 58. OCCI Monitoring Extension ROcMon: code organization (II) • the generic directory contains • the REST server for configuration • a directory containing the metric mixins • the collector contains • the implementation of the metric container • the sensor contains • the REST server for configuration • the implementation of the sensor • two directories containing the aggregator and publisher mixins
  • 59. OCCI Monitoring Extension ROcMon: mixins commons • They finalize the definition of abstract methods of the class corresponding to the mixin tag • A hash with the operational parameters is an instance @variable • Input is received through channels • Hash entries correspond to mixin parameters • Output is • returned to the caller (metric) • forwarded through a channel (aggregator and publisher)
  • 60. OCCI Monitoring Extension Example: CPU load require " . / Metric " class CPUPercent < Metric require " open3 " def measurement ( ) out , err , st = Open3 . capture3 ( ’w | head −1 ’ ) i f st . e x i t s t a t u s == 0 perc=out . s p l i t ( " load average : " ) [ 1 ] . s p l i t ( " , " ) [ 0 ] . gsub ( " , " , " . " ) . to_f ∗100 else perc= n i l end return JSON. generate (Hash [ @metric_hash [ : out ] => perc ] ) end end • CPUPercent is a subclass of Metric (a tag) • measurement is the name of the parameterless method • only one attribute defined named out • return value is a JSON object • object labels correspond to mixin attributes
  • 61. OCCI Monitoring Extension Example: EWMA (I) require " . / Aggregator " class EWMA < Aggregator def i n i t i a l i z e ( sensor_hash , aggregator_hash , syncChannels ) super begin addChannel ( @aggregator_hash [ : instream ] . to_sym ) addChannel ( @aggregator_hash [ : outstream ] . to_sym ) rescue Exception => e puts " Problems adding a channel : #{e . message } " puts e . backtrace . inspect end end • EWMA is a subclass of Aggregator (a tag) • first execute superclass initialize to fill instance variables • the initialize method uses channel labels to create internal queues • note that instream and outstream are the channel attributes names
  • 62. OCCI Monitoring Extension Example: EWMA (II) def run ( ) output= n i l begin gain=@aggregator_hash [ : gain ] inChannel=getChannelByName ( " instream " ) outChannel=getChannelByName ( " outstream " ) loop do data=inChannel . pop puts "EWMA: tnew data in (#{ data } ) " output | | = data output = ( ( output ∗ ( gain −1))+data ) / gain outChannel . push ( output ) puts "EWMA: tdata out (#{ output } ) " end rescue Exception => e puts " Problems during the run of a publisher : #{e . message } " puts e . backtrace . inspect end end • the gain parameter is retrieved from the instance hash • as soon as data is available, it is popped out of the input channel • data is processed, and pushed in the output channel
  • 63. OCCI Monitoring Extension Example: SendUDP (I) class SendUDP < Publisher def i n i t i a l i z e ( sensor_hash , publisher_hash , syncChannels ) super begin addChannel ( @publisher_hash [ : input ] . to_sym ) puts " Input channel f o r SendUDP added " rescue Exception => e puts " Problems adding a channel : #{e . message } n" puts e . backtrace . inspect end end def run ( ) • This is analogous to the previous one • input is the name of the ingress channel
  • 64. OCCI Monitoring Extension Example: SendUDP (II) begin socket = UDPSocket . new inChannel=getChannelByName ( : input ) loop do data=inChannel . pop puts "UDPSOCKET: tnew data received (#{ data } ) " begin socket . send ( " data="+data . to_s+" n" ,0 , @publisher_hash [ : hostname ] , @publisher_hash [ : port ] ) rescue Exception => e puts " Problems sending with UDP( 2 ) : #{e . message } " puts e . backtrace . inspect end puts "UDPSOCKET: tdata sent to socket (#{ data } ) " end rescue Exception => e puts " Problems sending with UDP: #{e . message } " puts e . backtrace . inspect end end • Slightly more complex than the previous: need to manage a UDP socket!