Logo TIB AV-Portal Logo TIB AV-Portal

GeoHealthCheck: A Quality of Service Monitor for Geospatial Web Services

Video in TIB AV-Portal: GeoHealthCheck: A Quality of Service Monitor for Geospatial Web Services

Formal Metadata

GeoHealthCheck: A Quality of Service Monitor for Geospatial Web Services
Alternative Title
GeoHealthCheck: QoS Monitor for Geospatial Web Services
Title of Series
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date

Content Metadata

Subject Area
Keeping geospatial web services operational is best paired with monitoring. Downtime is a key performance indicator, however so are service functionality and performance. The OGC has created a Quality of Service and Experience Domain Working Group to research and provide best practices, illustrating the importance of this topic. There are many HTTP monitoring tools that track general status and uptime. However, OGC web services often have custom reporting errors which are usually not considered. Examples include custom errors or null results based on database issues. In these cases a generic uptime checker will assume the service is functioning correctly though the response says otherwise. These issues illustrate the value of OGC-aware service monitoring and have been missing from the FOSS4G ecosystem. Until now. GeoHealthCheck (GHC) is an OGC web services monitoring framework. GHC is written in Python as part of the GeoPython GitHub Organization. GHC is a monitoring engine that executes “health checks” and a web application which reports on key performance indicators. GHC also supports a plugin framework for specific requirements. This presentation will provide an overview of GHC as well as upcoming features and future plans.
Keywords General

Related Material

Video is cited by the following resource
track service Blocks time
Installer table mapping Tiled expressive project contents architecture configuration service statements Right extent plugin
presentation Context time demo unit quality of service part image service exception systems mapping moment The list proposition capture instance Demo specific processes static internet organization viewer systems since geometric point files response images print generic number causal Robot level message-based report YouTube organization Context Tiled surface project Databases system call words Location errors case service versions
time demo sets web Location service different core box exception email mapping The list Menu bits indicators Types fluid period formula configuration result point web pages statistics links files component numerous architecture Average terms level testing normal default MySpace Graph information key servers sign in statistical correlations Databases inclusion words visualisation case service password
standards schedule groups bottom presentation and Listings time demo Ranges sets Databases coma part quality of service structured data Location image service migration core square model Abstract Cloud sources presentation email links screens share cloud platforms bits part instance translation Checklist Types Testbed structured data processes configuration Render configuration testing sort figure Remote tasks result Chat point subscriptions factorization links response Integrationen contents regular domain architecture mixture CRM terms Robot web applications level testing configuration report plugin architecture tasks domain authenticated plugin subscriptions standards response information demo help Prisoner's Dilemma project law Databases migration report case service CRM schedule Abstract report renewal process
time Right plugin computational
complex functionality randomization code forty time schemes help argument Mass open subsets elements programme service level testing model plugin form area information contents interactive bits lines instance several JSON orders website Games sort protocols variations record
i think we can get going so thanks again for joining us for this last session of this block. and for this stock going to talk about keeping track of the up time of your judicial services with them credit this and used to fund then broke it.
sole owner to do.
ok thanks daniel. so basically edges and i will walk through what the project is all about problem statement will give you an overview of the tool and how it's put together how easy it is to install aam options for extensive delivery and plugins as well as what the future holds. i. so what will first take you through some of the colt you see o.-w. us monitoring the challenge us so. as anyone a few avert this expression i see pink tiles. rights yeah ok so you all know what this means i'm we expect something like a like a map being this plate but instead this is what we see why it's a surfer suddenly sending pink tiles two.
day or two. probably you know the answer it is somehow the surfers failing and it's sending some of the well for him to exception report for instance and in that case this was open layers and it doesn't you know you can even configure it must be pink or any other. call are so. i'm trying to make a point here i'm presenting actually so i'm from got challenges even problems we have running total u.s. service because in another as hard as this is a w m s a request but you can also configured its instead of the well for him to accept report you can have and in image air or. so why i'm a showing this. aaliyah images could be blank. why you have today. when database which is filled by free nights and it shows may be shown over late but it's a the a.t.l. process fails show you have an empty database but still fell into images loader white transparent the point i'm trying to make his you want to be aware or notified. of such failure she and in many cases there are what you could call h.t.t.p. monitor worst like maybe you heard of paying them have a time robots or any other. the scene isn't are also the other a presentation that's h.t.t.p. is basically use as a channel so with ben and many of these notably s. services you will get a two hundred which means an ok coat so regular of time on it over never detected situations i've just show. but will never detecting tiles or exception report. it goes further than the ideal yes serves usually have something like its capabilities and it may be ok in some of time service ticket them a check for get capabilities maybe even for some key words in there and but that doesn't guarantee that any of the more detail service will actually work.
like if the w. misfit five hundred layers and layers moment three units that ninety seven is failing how would you detect it. because i've seen also case where the capabilities file is actually a static file or generated fire as a martyr made a data system so. for some time based o.t.c. services like s.o.s.. sense of things a.p.i. you may have this is a viewer for instance you may have gaps in your date of because maybe use answer is failing or some something in the entire pipeline. i'm he wouldn't be as a noticed unless you look at the crops all day but you would like to be notified when when this is happening so. like i said to cut all you can run public up time services or or internally but they usually only check on h.t.t.p.. i'm. so what we actually need at least what i needed and that was one of the reason i joined this project is an old ws aware surface monitoring and. more detail torah sets a quality of service checking and since things may fail and then come back up you also need history culture. and i think this is where some will take over and lead us through shield health check. thanks to his. so an overview of the project on. i was the late on my way to foster he two thousand and fourteen is the cause print and it started somewhere on that on that flight path so good things happen in the year that the lease for me so it's part of the geo python community of projects if you go to geo python dot youtube dot i owe is a slew of projects. many of which are being talked about to be part of that the swede of projects. so quick to or aam you can go on a damn about health check the organ any time which provides you have a live demonstration. so here we see the dashboard of us have basically you know a number of services you can you can see a you know very high level how many services are operational how many are broken and so on you see little map of the locations of the actual services as well you that you have a list of services you.
in physical is with the search box you can get a dump of the list that any time in days honor see its be it shows a very high level information around the last time the service was checked what was a was a result some a average some basic statistics and overall reliability a liability indicator. you can see on the left hand side we have various resource types of different types of a of all the services and and and other things as well as key words in and settings and so on. so here we filter by by web maps service even look at only that the m s's in euro in your deployment of the g eight c.. and once you click into a given resource aura in this case of the us gives you a deep is started drilling and tells you a little bit about the service all the all the high level information then you can see a graph below which shows a no red is obviously when it was when the czechs failed and green is. when they passed and as well how long it took to do a to do the given checks. if you wanted to add a service you can just basically walk in you have to create a username and password and register after you do that then you log in and you can i'm there's a as a resource is an ad but not at the top of the u.i. and it gives you a bunch of different things a resource times you want to. and so if you wanted to add a ws for example. you add that of the mess in the euro had reserves so very straightforward kind of wizard to way to add some thirty eight c.. at this point i'm we have a concept called probes which are once you add a service into your health check is a there's a of various level of granularity of the kinds of checks you can do so there's that the fall check where it just doesn't get capabilities almost like a smoke test if you will. there's a bunch of other checks which if you want you can you can choose to add them and then there's actually extra checks been done.
there is another example of iowa for example some of the default values the you can set when now when interacting with his when doing the testing is the service. you can also do it you can also configure checks to whether you want to test every single layer on that service or you just want to test certainly years against a service that's the nice thing about what we have here and your health check that you can configure it to do very specific things against the service so if you know that. what specifically there is powered by a database and you want to see how that layer is performing you can do it the thing is just that we're and making sure it actually does what it's supposed to do. so more examples here of preqin figuring how you wanted to test the service. and then when services fail we get an e-mail the configuration is unusual configuration component in the in the in the two also so we get an e-mail its does look this service failed and years wife failed and then you click the details link and that takes you to a. a page like this i think there's some debate giving information here yeah that tells you why why the service failed in this case we can see from the service exception that some file was missing. and then when a service is fixed yet another e-mail that tells you it's fix was very much if you've ever use travis that send e-mails failed fix still failing and so on it falls that same kind of spirit. was moved over the juice now. just think your term. and by the way also have a visually.
but the mail you may also go figure weapon.
we're quite open and i will lead to get to the heart on high level architecture so to actually three parts in the jiu al check there's a dashboard its which is a regular parts and by prison in fla screen just soul.
but the in the back there's something we call the hell tech run our which. what runs the hell checks actually and it's as we can see. totally built with slogans for all the show the ropes that we just so and there's a database and well it's a simple high level architecture where they are related to this way so you can figure everything to your tap and the run our will take that information. into the how checks so the dashboard it's just soul. fla square perhaps you can do stand apart in the us to eat which she is all also calls or run it with engine excess apache to jail unicorn standard points and. so to help check run our own style checks and it's driven by a schedule or because. you can also conficker how often you want to do the same health checks and some you may want to do every ten minutes and. so this process this is basically a backhand process or you can choose also to run both the hell check runner and the dashboard in a single process. i'm and it takes care for reporting when it's have put down or and can even get a daily status a report which also sometimes and the and we have different ways of notifying so there's an e-mail but also you can configure where pokes to the other are monitoring. in a remote monitoring implications so the hell check model is really. yeah be built in so much abstraction here so what we call resources basically your your and points identified by you're also the fences w. mess and points and then the pro is really the. the thing that's been initiated to check it fires requests only and points but doesn't interpret them because that's another aspect those are the checks so you can go figure pro person for each probe you can configure one or more checks. and for each resource you can configure one or more probes. so. let's see the show to progress and checks each check a value it's a single results so for instance if what comes back his h.t.t.p.. eric o two to four hundred to five hundred range that's typically about to check could do or if w. mess response is really an image of type imich i'm so i finally and it's a step wishes say run reports. and each broke or check his is a book in social problem because there's no answer really to what type of hell checks you would want to do so. it's built of bookings from from from the bottom but basically. the. now on the database will basically as a data model i think it's shown in the year. with all the entities that are involved it's not very complex and because we also have user sure there is also usually fall because users can be adults a by configuration or you can configure that's any user like omar demo sides can do can venture starve themselves but there are cases where. of course you wouldn't want that the. and i think tom will take us. three installation. the. so i'd say as standard def python set up with them set up and management tasks you can also use dr which allows you to easily install them. as you can imagine there is a i look at some of the core settings and basically a python fallen you said each of those guys you wish. and i won't talk too much about this given the time we have left but basically we mention the fact that there's plugins i'm so you're allowed to create your own types of checks and probes within those checks so if you have some sort of. the p.-i which isn't even geospatial you can you even write a plug in to a you can write a plug in to do the test that you want and do the pros that you once was fully extensible and you can define those a in your python coal and then a u.i. shows up in renders it also fully flexible in terms of adding new types of services. a p eyes on into the a into they'll start. a road map. it's always fun to think about the future i guess i'm so you health check his is looking at doing arrest a.p.i. for the actual on things that need to talk to the back end so that we can have a really thin front and right now it's a little bit of a mixture so were looking at re factoring that we're looking of u g s. in terms of updating the e.u. why i'm were almost done the python to just three migration is just like we have heard some of the other python private projects we were looking at integrating it with other more mainstream monitoring tools and then in addition at at the o.t.c. level there's also something called the. quality of service and experience a domain working group so were loosely involved without looking at how they're working on particular the a q o s things and i know that your house has been used in some of the a test bed in the sea so whatever work is coming out of the o.t.c. it's important for i think it's important for us to look at that work and try to support it. i am as much as we can. and you can help so i know you've all for the project now and there's there's lots of issues in his lot of enhancements lot of work in the law to help can be with the documentation or testing so we're certainly open to a contributions. you have some move over to use at this point it. so in case the show must work here. you don't want to go to the well it's not so much trouble of installing it's what maybe it's nice to have something which is really outside of your infrastructure and we have also run a let's say you call it the cloud services subscription services colts the geo. conch dot com and. then basic the day. you get what you get is really as you help check your own g well check instance and then you can configure whatever you your resources one day you can also shield its it's a with the authentication so yeah. i think robots a year are all the links to the to the project to show the main link is really to al check the or this presentation is also online we can also because i wasn't quite some detail still on plug in the fell up months and. for israel to a great contribution from the june notes community and i think it was your solutions that has a a probe for a deal notes back and because you know the also provides. i can extra lots of old of the ashes and that to to do that all manually so that's the kind of contributions that that we really welcome. the. and thank you. if the i think all three also share taught my honest it's honest loiter is also a he was here in the last yet he is.
and there's more computers of course for the world the some of the plug ins and so thank you. think too much at them and used we have a few minutes the right on time so we have a few minutes left for a few questions let's start here.
sorry is possible to perform a some besiktas while clothing there because if you have a hundreds of all just see her services to check it would be useful tool of them with may be. as a checks a in order to start the best performance tests. but so are just are checking know the get the probabilities for example. that's a good question we we did have some functionality in the back which allows you to book a logo we can we can bring that a little bit further to a like basically let you run a command line to know low these a hundred services kind of thing and low them and let them be tested kind of think so. if you're free to open an issue because it just needs a little bit work is not to think there's actually an issue open for that now understand this is its for book loading conflagration no services and so if you have a doubly m t s and it's their functionality to. test each room level. good question. m w. we have something for t.m.s. it but i don't think we have yet for w. m.p.'s also because it's a little bits complex protocol but that is typically a a a contribution we would see the welcome and. so basically you have to do new my game and yeah but you could use the existing and because there's of their friends and probe which allows you to do any h.t.t.p. request so that could be. a request to w m t s. but not yet in a sense that we have forty year mess and for w m s w a fresh even double your first three or. she featured a p i a. you are so high and one i want to not i'm not a programmer that i need to will make somme personalize prowls for instance to know if the a doubly amass has every but amateur completed like the name the content the information on that sort of thing is it. it really had to do on do i need to know biden tools to be able to do it all from their a u.i. i can do it. it. you know what your the question is really the more about scoring forms should love sounds like yeah and probably. and there's something called sites tests from o.t.c. which is more suited for that you don't have to program them nor shelf have to mean almost more on it probably have to write some python like what i'm hearing is you want to look for specific elements and yes as their and what's in there and everything because we are thinking. about implementing day hail health check to be able to know if they'd have real mass has every element day national as the eye requires and we don't want to use as many many so we're all our other. yes without we don't want to his house several ways to to take it if we can do it all in the hell health check just so you can use i mean i would you can use a dozen record on but having said that the code that to help check uses underneath interact with all those things. is a tool called all the us live so most of that functionality to read that content model is there so all you have to do is write a few lines on the checks her and so your it's almost you're halfway there i need such outright python and and the parameters i need our the in the old she's the documentation. one or in the league should be in the lives our younger think you may be on the erm suggestion is to use experimental partial you can call and and to ski my phone variation it comes to exist the scheme out from want to see with its good one who know. if you do a health check on the w m s do you then always get like the saying tile or do you random and move between. also good question. actually we have a. the structured way off of testing the ws like to get map and but that will always do the same area but there is also the it's a little with the experimental what works with its quality e.w. ms drill down and that does this kind of random behaviour. which some time so yes but that could be improved to be to show the uk you can see it in plug in service called ws drill down. but that will take random areas and. the finn ran them for months but that's usually fails because w. mess as well as supports these hundred four months not and i try we tried one and of the random on so yeah. the proper yeah it takes some random whatever the ws said that supports we take some random months.