information and monitoring
DESCRIPTION
Information and Monitoring. The European DataGrid Project Team http://www.eu-datagrid.org. Contents. Grid Information Systems GMA and R-GMA Tools and APIs. Features of a grid information system. Provides information on both: The Grid itself Mainly for the middleware packages - PowerPoint PPT PresentationTRANSCRIPT
-
Information and MonitoringThe European DataGrid Project Teamhttp://www.eu-datagrid.org
EU DataGrid: Information and Monitoring
-
ContentsGrid Information SystemsGMA and R-GMATools and APIs
EU DataGrid: Information and Monitoring
-
Features of a grid information systemProvides information on both:The Grid itselfMainly for the middleware packagesThe user may query it to understand the status of the GridGrid applicationsFor usersFlexible infrastructure Able to cope with nodes in a distributed environment with an unreliable networkDynamic addition and deletion of information producersSecurity system able to address the access to information at a fine level of granularityAllow new data types to be definedScaleableGood performanceStandards based
EU DataGrid: Information and Monitoring
-
GMAFrom GGFVery simple modelDoes not define:Data modelData transfer mechanismRegistry implementationProducerConsumerRegistryStore locationLookup locationexecute or stream
EU DataGrid: Information and Monitoring
-
R-GMAUse the GMA from GGFA relational implementationPowerful data model and query languageAll data modelled as tablesSQL can express most queries in one expressionApplied to both information and monitoringCreates impression that you have one RDBMS per VOProducerConsumerRegistryStore locationLookup locationexecute or stream
EU DataGrid: Information and Monitoring
-
Relational Data Model in R-GMANot a general distributed RDBMS system, but a way to use the relational model in a distributed environment where global consistency is not importantProducers announce:SQL CREATE TABLE publish:SQL INSERTConsumers collect:SQL SELECT Some producers, the Registry and Schema make use of RDBMS as appropriate but what is central is the relational modelAll R-GMA tuples are time-stamped
EU DataGrid: Information and Monitoring
-
Example: 2 tablesService
ServiceStatus
URIVARCHAR(255)URI to contact the serviceVOVARCHAR(50)Where info should be published or an empty string to indicate alltypeVARCHAR(50)Type of serviceemailContactVARCHAR(50)The e-mail of a human being to complain tositeVARCHAR(50)Domain name of site hosting the servicesecureVARCHAR(1)y or n - indicates whether or not this is a secure servicemajorVersionINTVersion of protocol not implementationminorVersionINTVersion of protocol not implementationpatchVersionINTVersion of protocol not implementation
URIVARCHAR(255)URI to contact the servicestatusINTstatus code. 0 means the service is up.messageVARCHAR(255)Message corresponding to status code
EU DataGrid: Information and Monitoring
-
SQL example 1SELECT DISTINCT type FROM Service
+--------------------------------------+| type |+--------------------------------------+| GridFTP || GRIS || RFIO |
| R-GMA.ResilientStreamProducerService || R-GMA.ArchiverService || R-GMA.StreamProducerService || R-GMA.CanonicalProducerService || R-GMA.DBProducerService || R-GMA.LatestProducerService || GIN || R-GMA.RegistryService || R-GMA.SchemaService || R-GMA.BrowserService || GOUT || edg-netmon || edg-iperf || edg-udpmon || myproxy || edg-pinger |+--------------------------------------+25 Rows in set
EU DataGrid: Information and Monitoring
-
SQL Example 2 SELECT Service.site, ServiceStatus.status, ServiceStatus.message, Service.URI FROM Service,ServiceStatus WHERE Service.URI = ServiceStatus.URI AND ServiceStatus.status 0 AND Service.Type = 'GIN'+-----------+--------+----------------+----------------------------+| site | status | message | URI |+-----------+--------+----------------+----------------------------+| nikhef.nl | 2 | Gin is stopped | http://tbn03.nikhef.nl/GIN || nikhef.nl | 2 | Gin is stopped | http://tbn09.nikhef.nl/GIN || nikhef.nl | 2 | Gin is stopped | http://tbn16.nikhef.nl/GIN |+-----------+--------+----------------+----------------------------+3 Rows in set
EU DataGrid: Information and Monitoring
-
Data Transfer: Producer ConsumerConsumer can issue one-off queriesSimilar to normal database queryConsumer can also start a continuous queryRequests all data published which matches the queryAs new data matching the query is produced it is streamed to the ConsumerCan be seen as an alert mechanismRemember that all tuples carry a time-stamp
EU DataGrid: Information and Monitoring
-
3 Kinds of QueryTupleTupleTupleTupleTupleStreamProducerDataBaseProducerLatestProducerTupleTupleTupleTupleTupleTupleTupleTupleTupleTupleTupleTupleTupleTupleTupleTupleTupleTupleTupleTupleTupleContinuous QueriesHistory QueryLatest Queriesinsertselect
EU DataGrid: Information and Monitoring
-
ProducersStreamProducer Supports Continuous QueriesIn memory data structureCan define minimum retention periodDataBaseProducer Supports History QueriesInformation not lostSupports joins Clean up strategy LatestProducer Supports Latest QueriesAs DataBaseProducer butJust holds the latest information for any primaryish keyCanonicalProducer Supports anythingOffers anything as relationsUser has to write code to handle SQL etc.
EU DataGrid: Information and Monitoring
-
Registry and SchemaRegistry has two main tables:ProducerTable name PredicateLocationConsumerQueryLocationSchema holds description of tablesColumn names and types of each tableRegistry predicate defines subset of global table
ProducerConsumerRegistry
Store locationLookup locationexecute or streamSchema
Store table description
EU DataGrid: Information and Monitoring
-
Contributions to the global tableWHERE country = UK AND site = RAL
WHERE country = CH AND site = CERN
CPULoad (Global Schema)CountrySite FacilityLoadTimestamp
CPULoad (Producer 3)CHCERNATLAS1.619055611022002CHCERNCDF0.619055511022002
CPULoad (Producer 1)UKRALCDF0.319055711022002UKRALATLAS1.619055611022002
CPULoad (Producer 2)UKGLACDF0.419055811022002UKGLAALICE0.519055611022002
CPULoad (Global Schema)CountrySite FacilityLoadTimestampUKRALCDF0.319055711022002UKRALATLAS1.619055611022002
CPULoad (Global Schema)CountrySite FacilityLoadTimestampUKRALCDF0.319055711022002UKRALATLAS1.619055611022002UKGLACDF0.419055811022002UKGLAALICE0.519055611022002
CPULoad (Global Schema)CountrySite FacilityLoadTimestampUKRALCDF0.319055711022002UKRALATLAS1.619055611022002UKGLACDF0.419055811022002UKGLAALICE0.519055611022002CHCERNALICE0.919055611022002CHCERNCDF0.619055511022002
EU DataGrid: Information and Monitoring
-
MediatorQueries posed against a virtual data baseThe Mediator must:find the right Producerscombine information from themHidden component but vital to R-GMAWill eventually support full distributed queries but for now will only merge information: from multiple producers for queries on one table or over multiple tables from one producer
EU DataGrid: Information and Monitoring
-
Queries over global table merging streamsMediator handles merging information from multiple producers for queries on one tableSELECT * from CPULoad WHERE country = UK
CPULoad (Consumer)CountrySite FacilityLoadTimestamp
CPULoad (Producer 3)CHCERNATLAS1.619055611022002CHCERNCDF0.619055511022002
CPULoad (Producer 1)UKRALCDF0.319055711022002UKRALATLAS1.619055611022002
CPULoad (Producer 2)UKGLACDF0.419055811022002UKGLAALICE0.519055611022002
CPULoad (Consumer)CountrySite FacilityLoadTimestampUKRALCDF0.319055711022002UKRALATLAS1.619055611022002
CPULoad (Consumer)CountrySite FacilityLoadTimestampUKRALCDF0.319055711022002UKRALATLAS1.619055611022002UKGLACDF0.419055811022002UKGLAALICE0.519055611022002
EU DataGrid: Information and Monitoring
-
Queries over global table joining tablesService/ServiceStatus (Latest Producer)SELECT Service.URI Service.emailContact from Service S, ServiceStatus SS WHERE (S.URI= SS.URI and SS.up=n)
ServiceURIVOtypeemailContactsitesecuremajorVersionminorVersionpatchVersiongppse01aliceSEsysad@[email protected]@rl.ac.ukRALlxshare0404aliceSEsysad@[email protected]
ServiceStatusURIupmessagegppse01ySE is runninggppse02nSE ERROR 101lxshare0404ySE is running
Service/ServiceStatus (Consumer)URIemailContact
Service/ServiceStatus (Consumer)URIemailContact [email protected]
gppse02n
EU DataGrid: Information and Monitoring
-
Archiver (Re-publisher)It is a combined Consumer-ProducerFollows the GMA concept but packaged for ease of useYou just have to tell it what to collect and it does so on your behalfRe-publishes to any kind of Insertable (i.e. not to the CanonicalProducer)Can support joins if archiving to a DataBaseProducer or a LatestProducer
EU DataGrid: Information and Monitoring
-
TopologiesNormally publish via SPArchivers instantiated with a Producer and a PredicateOften no predicateMust avoid cycles in the graph
A DBPA SPA HPSPSPSPSP
EU DataGrid: Information and Monitoring
-
GIN and GOUT (Gadget IN and Gadget OUT)GLUESchema
EU DataGrid: Information and Monitoring
-
RangliaR-GMA meets GangliaA CanonicalProducer is used to interface GangliaAllows R-GMA queries to be made to GangliaNot yet released
EU DataGrid: Information and Monitoring
-
R-GMA ToolsR-GMA BrowserApplication dynamically generating web pagesSupports pre-defined and user-defined queriesR-GMA CLI (edg-rgma)Command Line Interface (similar to MySQL)Supports single query and interactive modesCan perform simple operations with Consumers, Producers and ArchiversR-GMA packaged SQL (edg-rgma-util)e.g. edg-rgma-util contacts:Command: SELECT siteName, sysAdminContact, userSupportContact, siteSecurityContact FROM SiteInfo
EU DataGrid: Information and Monitoring
-
EU DataGrid: Information and Monitoring
-
edg-rgmashow tablesdescribe ServiceStatusshow producers of ServiceStatuslatest select * from ServiceStatusold continuous select * from ServiceStatus
EU DataGrid: Information and Monitoring
-
edg-rgma Example$> edg-rgmargma> stream declare userTable rgma> stream minret 0.2rgma> stream INSERT into userTable (userId, aString, aReal, anInt) values ('fisher', 'hello', 3.162, 21)rgma> timeout 0.3rgma> old continuous SELECT * from userTable +--------+---------+-------+-------+-----------------+-----------------+| userId | aString | aReal | anInt | MeasurementDate | MeasurementTime |+--------+---------+-------+-------+-----------------+-----------------+| fisher | hello | 3.162 | 21 | 2003-11-11 | 11:06:01 |+--------+---------+-------+-------+-----------------+-----------------+1 Rows in set
EU DataGrid: Information and Monitoring
-
APIsExist in Java, C++, C, Python and PerlC, Python and Perl follow an object based style reflecting the Java and C++ APIsJava myProducer = new StreamProducer(); C++ myProducer= new edg::info::StreamProducer(); C myProducer = StreamProducer_new(); Perl $myProducer = edg_rgma_perl::StreamProducer_new(); Python myProducer = edg_rgma_python.StreamProducer_new() or myProducer = rgma.StreamProducer()
EU DataGrid: Information and Monitoring
-
Some TimesTerminationIntervalPeriod by which the producer must re-announce its existenceIf it fails to do so it will be removed from the registryDefault is 20 minutesDont set it too shortDont set it too longRetentionPeriodPeriod for which the published data will remain available, even after the Producer has been closedDefault is 0
EU DataGrid: Information and Monitoring
- C++ Producer - Example#include #include "info/StreamProducer.hh"int main(int argc, char* args[]) {if (argc != 2) { std::cout
-
C++ Consumer - Example
#include #include "info/Consumer.hh"#include "info/ResultSet.hh"
int main(){try { edg::info::Consumer myConsumer("SELECT * FROM userTable, edg::info::Consumer::LATEST); edg::info::TimeInterval Timeout(60); myConsumer.start(Timeout); while(myConsumer.isExecuting()){ sleep(1); } if(myConsumer.hasAborted()){ std::printf("Consumer query timed-out\n"); } edg::info::ResultSet resultSet = myConsumer.popIfPossible(); if (resultSet) { std::printf("ResultSet: %s\n", resultSet.toString().c_str()); } } catch (edg::info::RGMAException& e) { std::printf("Exception: %s\n", e.what()); }}
EU DataGrid: Information and Monitoring
-
SummaryR-GMAis suitable for Information and Monitoringis a relational implementation of the GGFs GMAhas different Producer typesmediator creates the impression of a single RDBMShas authentication using grid certificateshas been integrated with Gangliahas an API available in multiple languages
EU DataGrid: Information and Monitoring
-
Further InformationInformation and Monitoring Serviceshttp://hepunx.rl.ac.uk/edg/wp3/
R-GMAhttp://www.r-gma.org/
EU DataGrid: Information and Monitoring