GeoHealthCheck: A Quality of Service Monitor for Geospatial Web Services

1 views

Formal Metadata

Title
GeoHealthCheck: A Quality of Service Monitor for Geospatial Web Services
Alternative Title
GeoHealthCheck: QoS Monitor for Geospatial Web Services
Title of Series
Author
Kralidis, Tom
Broecke, Just van
Contributors
C3VOC
License
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.
Identifiers
Publisher
FOSS4G, Open Source Geospatial Foundation (OSGeo)
Release Date
2019
Language
English

Content Metadata

Subject Area
Abstract
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
Loading...
Trail Web service Block (periodic table)
Installation art Mapping Expression Projective plane Table (information) Tessellation Architecture Content (media) Computer configuration Web service Statement (computer science) Right angle Extension (kinesiology) Plug-in (computing)
Context awareness Demo (music) Mereology Quality of service Medical imaging Web service Dependent and independent variables Exception handling Physical system Process (computing) Mapping Moment (mathematics) Electronic mailing list Propositional formula Motion capture Instance (computer science) Demoscene Tessellation Latent heat Fluid statics Internetworking Self-organization File viewer Physical system Sinc function Point (geometry) Presentation of a group Computer file Robot Computer-generated imagery Geometry Letterpress printing Generic programming Number Causality Database Energy level Message passing Traffic reporting YouTube Units of measurement Self-organization Context awareness Surface Projective plane System call Word Uniform resource locator Error message Web service Revision control
Point (geometry) Statistics Computer file Connectivity (graph theory) Demo (music) Numeral (linguistics) Web 2.0 Uniform resource locator Architecture Web service Average Linker (computing) Term (mathematics) Database Core dump Cuboid Energy level Software testing Normal (geometry) Subtraction Exception handling Home page Default (computer science) Email Graph (mathematics) Myspace Mapping Information Key (cryptography) Server (computing) Electronic mailing list Login Correlation and dependence Bit Price index Set (mathematics) Inclusion map Fluid Word Frequency Well-formed formula Visualization (computer graphics) Web service Password Configuration space Data type Resultant
Standard deviation Scheduling (computing) Greatest element Boolean algebra Scientific modelling Demo (music) Range (statistics) Coma Berenices Mereology Quality of service Data model Uniform resource locator Medical imaging Web service Human migration Linker (computing) Core dump Dependent and independent variables Square number Abstraction Email Link (knot theory) Touchscreen Process (computing) Open source Shared memory Point cloud Cloud computing Bit Mereology Instance (computer science) Translation (relic) Checklist Testbed Data model Content (media) Computer configuration Database Volumenvisualisierung Configuration space Software testing Quicksort Remote procedure call Figurate number Data type Data management Task (computing) Resultant Online chat Point (geometry) Domain name Pay television Divisor Presentation of a group Robot Disintegration Regular graph Architecture Data management Mixture model Term (mathematics) Database Web application Energy level Software testing Configuration space Presentation of a group Traffic reporting Plug-in (computing) Computer architecture Task (computing) Authentication Plug-in (computing) Pay television Standard deviation Demo (music) Information Online help Prisoner's dilemma Projective plane Physical law Scheduling (computing) Set (mathematics) Local Group Human migration Explosion Web service Dependent and independent variables Abstraction Domain name Traffic reporting Renewal theory
Computer Right angle Plug-in (computing)
Complex (psychology) Randomization Numbering scheme Code 40 (number) Scientific modelling Online help Mass Parameter (computer programming) Open set Programmer (hardware) Web service Energy level Software testing Plug-in (computing) Form (programming) Area Information Element (mathematics) Content (media) Interactive television Bit Instance (computer science) Line (geometry) Functional (mathematics) Flow separation JSON Order (biology) Website Quicksort Game theory Bounded variation Communications protocol Row (database)
the.
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.
Loading...
Feedback

Timings

  514 ms - page object

Version

AV-Portal 3.11.0 (be3ed8ed057d0e90118571ff94e9ca84ad5a2265)
hidden