Thank you Javier for sharing this info, when you say GeoEvent Datastore Proxy is responsible for updating tokens do you mean re-generating new tokens for external ArcGIS Servers? Or bouncing the keep-alive tokens stored within GeoEvent Processor?
I am not convinced the tokens are expiring, using the same token as entered previously to register the ArcGIS Server is still allowing a connection and showing a valid token has been entered. Our Operations team regularly runs security patching on this server about once a month taking a full reboot after the patching is complete. Sorry I do not have enough details to determine the cause of the 'Invalid Token' message at this time.
K DeVogelaere,
If you're regularly having to update tokens because they're expiring, you may consider introducing the GeoEvent Datastore Proxy into your environment. It's a Java WebApplication designed to act as the endpoint GeoEvent communicates with, but is responsible for updating tokens when connecting to a system that requires username/password for authentication to either the WebTier or GIS Tier.
You can view the project here Esri/geoevent-datastore-proxy · GitHub and download the first release here Release Initial Release of GeoEvent DataStore Proxy · Esri/geoevent-datastore-proxy · GitHub .
If the proxy looks like something you'd be interested in, you could submit a Tech Support incident if you need some help configuring the proxy for your environment.
-Javier
I have run into a similar issue in GeoEvent Processor 10.2.2,
Machine: Windows Server 2008 R2
ArcGIS Server: 10.2.2
AGS Security: Windows for Users and Roles with the 'Web' (Web Adapter) used for the Authentication Tier and Mode
Map Services Permissions: Folder level - set to 'Private'.
Our DataStore connections to secured ArcGIS Servers have a 365 token expiration and often several days after registering the connection it will show 'Invalid Token' and the services are in 'Error' state. I am unsure what is triggering the issue, but we've resolved this by editing the Datastore connection and re-entering the same token ID, saving the edit, and clicking 'Validate All'.
Invalid Token java.lang.Exception: Invalid Token at com.esri.ges.datastore.agsconnection.DefaultArcGISServerConnection.defaultValidate(DefaultArcGISServerConnection.java:571)[226:com.esri.ges.framework.datastore.agsconnection-datastore:10.2.2] at com.esri.ges.datastore.agsconnection.DefaultArcGISServerConnection.validate(DefaultArcGISServerConnection.java:589)[226:com.esri.ges.framework.datastore.agsconnection-datastore:10.2.2] at com.esri.ges.datastore.agsconnection.DefaultArcGISServerConnection.isUseable(DefaultArcGISServerConnection.java:2376)[226:com.esri.ges.framework.datastore.agsconnection-datastore:10.2.2] at com.esri.ges.transport.featureService.FeatureServiceInboundTransport.isArcGISConnectionConfigurationValid(FeatureServiceInboundTransport.java:401)[251:com.esri.ges.framework.transport.featureservice-transport:10.2.2] at com.esri.ges.transport.featureService.FeatureServiceInboundTransport.onArcGISServerConnectionStatusChange(FeatureServiceInboundTransport.java:422)[251:com.esri.ges.framework.transport.featureservice-transport:10.2.2] at com.esri.ges.manager.datastore.agsconnection.internal.ArcGISServerConnectionManagerImpl$1.run(ArcGISServerConnectionManagerImpl.java:236)[318:com.esri.ges.manager.internal-agsconnectionmanager:10.2.2] at java.lang.Thread.run(Unknown Source)[:1.7.0_51]
So why is it that the geoevent Extension stops after 4-6 hours?
There was an issue we observed, primarily with updating feature services hosted via ArcGIS Online in the 10.3 release. A few users also observed the issue using local feature services they had published to their on-premises Server. The symptom was that GeoEvent would appear to be receiving and processing data (its event counters would increment), but updates to features through a feature service would stop after a variable length of time. We usually found messages in the karaf.log with the text Error: null response or Error Posting to URL ... java.io.IOException: null respons when this specific issue would manifest. The issue was addressed with the 10.3 Patch 1 for GeoEvent, available here from Esri Support.
I am not sure if the issue was actually present in earlier releases (10.2.x). In any case, I'd encourage you to upgrade to the 10.3.1 release which should be publicly available in just a couple of weeks (13-May 2015). The focus for 10.3.1 was on improving the product's stability, however, we did complete a product enhancement with regard to registering an ArcGIS Server connection as a GeoEvent Data Store. You can now specify whether you want to use a token for authentication or if you want to use web-tier authentication and provide a username / password when registering a GeoEvent Data Store. This is new at the 10.3.1 release.
If we connect to server 2 with the directy URL then we the error below: properly due a certificate error. Invalid URL: Please provide a valid url for example: http://<hostname>:<port>/arcgis
If we connect to server 2 with the directy URL then we the error below: properly due a certificate error.
Invalid URL: Please provide a valid url for example: http://<hostname>:<port>/arcgis
There were enhancements in the area of security certificates introduced in both the 10.3 and 10.3.1 releases. GeoEvent should trust the ArcGIS Server certificate presented by the local server on which it was installed at the 10.3 release (rather than relying on a GeoEvent self-signed certificate). With the 10.3.1 release GeoEvent will also trust any SSL certificates you have imported using the ArcGIS Server Administrator Directory.
After you've upgraded to the latest release, if you find that, after working for a period of time, feature updates stop working, you see log messages you believe are security or SSL certificate related, or need advice on configuring your enterprise's reverse proxy or web-tier authentication ... please go ahead and open new GeoNet discussion threads for the separate issues. Questions on enterprise system architecture and security configuration I will probably have to refer to Esri Tech Support. I'm better positioned to offer advice on questions concerning GeoEvent product functionality.
Best Regards -
RJ
Andreas,
I found Version 10.2.2 a little more stable. I experienced a similar problem with the extension just stopping after random amounts of time when using a Web Socket "listening" connection as the input. The inputs seem to be more reliable if they poll the data source rather than waiting (listening) for the data source to send the input data.
DG
Hi RJ,
Thanks for getting back - Much appreciated.
A little background information about our setup i might provide some insight why we asked the question.
We are using one ArcGIS for Server with GeoEvent Extension - Lets called this server for Server 1. We have another ArcGIS for Server holding feature services (FS) and map services (MS) (Server 2). The GeoEvent Extension outputs to a FS on server 2. From what I heard from UC and what one of my colleagues was told in Palm Spring this is best practice.
Server 2 make MS and FS available both internally and externally. Some of the applications require to have security enabled. One of them is a service that the GeoEvent Extension updates.
Sometime in the future we would like to add more ArcGIS For Server to Server 2 and create a cluster still holding all FS and MS. We have prepared for this are using the web adaptor in front of the ArcGIS Server holding FS and MS as a load balancer but in the future we might use a physical load balancer. We have followed the architecture described in ArcGIS Help (10.2, 10.2.1, and 10.2.2).
Server 1 is not accessible from outside our domain and only run GeoEvent Extension.
We raised the initially question when we had problems updating FS with Security enabled on server 2 (GIS-Tier with users LDAP). The update would run about 4-6 hours and then stop.
The Geoevent Extension would say everything was still alright. The data store could still be vailidated but the Feature class being updated did not receive any updates. The only thing that caught my attention in the log was was:
'https://<Web adaptor URL>/arcgistest/admin/data/findItems?f=json&token=xyz&types=egdb: GET Request failed(HTTP/1.1 403 Forbidden).'
- Andreas
Andreas -
Some feedback specifically on your question: "Why is the GEP trying to access an admin URL?"
https://<Web adaptor URL>/arcgistest/admin/data/findItems?f=json&token=xyz&types=egdb: GET Request failed(HTTP/1.1 403 Forbidden).
The GeoEvent Extension is using the admin API to determine if a managed geodatabase has been registered with ArcGIS Server. If there is a managed geodatabase, when configuring a new 'Send Features to a Stream Service' output and selecting to publish a Stream Service, you will have the option to check the 'Store Latest' checkbox and publish a "buddy" feature service which will cache the most recent observation for each received TRACK_ID. If you do not have a managed geodatabase registered with ArcGIS Server, the 'Store Latest' option is not available.
- RJ
Hello Andreas -
My apologies that no one has gotten back with you in response to your question.
GeoEvent was designed to rely on GIS-tier communications with an ArcGIS Server site using Server generated tokens. Support for web-tier authentication and authorization using SAML and IWA is being developed, but is limited, and is being introduced beginning with the 10.3.1 product release.
I need to clarify your question. Are we working with two different GIS Server machines, both with ArcGIS Server installed, which are participating in different ArcGIS Server sites? I ask because you mentioned the term "cluster" and I want to make sure that the GIS Servers we are considering are not part of a single ArcGIS Server site cluster.
If the two GIS Servers were participating in the same ArcGIS Server site cluster with the GeoEvent Extension installed on one GIS Server but not on the other we would be working with an unsupported configuration. All of the GIS Servers in a site's cluster must be provisioned exactly the same - this is important when using the GeoEvent Extension.
Next question - is it an option for your first ArcGIS Server, the one which has the GeoEvent Extension installed, to reach the second ArcGIS Server without going through the Web Adapter? Design assumptions built-in to the GeoEvent 10.3 release (and previous releases) assume that GeoEvent will be able to discover services using the ArcGIS REST Services Directory and that the directory will be accessed through either the open REST endpoint http://server‑name.domain:6080/arcgis or the secure endpoint https://server‑name.domain:6443/arcgis. The preference would be that GeoEvent not attempt to go through the web adapter to discover a server's services.
Some support for IWA was implemented in the 10.3.1 product release for registering ArcGIS Server connections as GeoEvent Data Stores. For example, you can specify that GeoEvent should use a token to access the data store and specify the secure endpoint (https://server‑name.domain:6443/arcgis) as the URI to be used. When the token expires, you will have to refresh your Data Store configuration with a new token in order to continue using the data store. You can also, beginning with the 10.3.1 release, select to use web-tier authentication and supply a recognized IWA username and password when registering a data store.
My understanding is that, even when using web-tier authentication, that access must still be made through fully-qualified server-name / port URI ... either the http://server‑name.domain:6080/arcgis endpoint or the secure endpoint https://server‑name.domain:6443/arcgis. I will try to get someone to confirm this.
Hope this information helps -
Hi Javier,
There is one thing i do not understand when adding a data store with a token.
We have a setup with a server holding GEP and ArcGIS Server installed and wanting to register a data store on another server with ArcGIS Server containing feature services.. In order to be able to cluster the server with feature services. We are registering the data store the server with feature services via another server with the web adaptor installed as shown below.
The web adaptor gives access to the arcgis server with feature services to outside our internal network. Therefore we have disabled administrative access on the Web adaptor for security reasons.
The data stores is successfully added but from the log I can see that a call is being made to
Why is the GEP trying to access an admin URL?
Regards
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.