public:smart2b:home

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
public:smart2b:home [2024/01/25 12:04]
jsanchez_odins.es
public:smart2b:home [2024/10/09 08:53] (current)
Line 163: Line 163:
 - Note the `ABL-.*` at the end of the URL. As a consequence, this authorization token will be valid only to perform the `PATCH` operation to those entities. If the developer wishes to perform PATCH operations against entities that have a different prefix (e.g. `ARA-`), then the authorization token must be adjusted. - Note the `ABL-.*` at the end of the URL. As a consequence, this authorization token will be valid only to perform the `PATCH` operation to those entities. If the developer wishes to perform PATCH operations against entities that have a different prefix (e.g. `ARA-`), then the authorization token must be adjusted.
  
 +### Verification of Context Source Registrations
  
 +After registering the Context Source it can be checked if the registrations process was successful --- i.e. the integrating partner software component that receives the messages from the NGSI-LD Broker in WP3 Smart2B Platform is supposed to be registered before actuation can carry over from the WP3 Smart2B platform all the way down to the building equipment.
 +
 +The following POSTMAN collection can be employed in order to verify if the Context Source Registration took place successfully.
 +
 +{{:public:smart2b:smart2b-security-partners-allcontextproviders.postman_collection.json.zip}}
 +
 +**IMPORTANT**
 +
 +There is a limitation of `1000` items per query, specified as an URL option like this:
 +
 +```
 +https://smart2b.odins.es:1027/ngsi-ld/v1/csourceRegistrations/?limit=1000&offset=0
 +```
 +
 +In order to request the following 1000 items, the `offset` variable must be set like this:
 +
 +```
 +https://smart2b.odins.es:1027/ngsi-ld/v1/csourceRegistrations/?limit=1000&offset=1000
 +```
 +
 +- For more information about the high-level architecture and flow of Actuation, please refer to [Low level interaction for actuation with NGSI-LD Broker](#low_level_interaction_for_actuation_with_ngsi-ld_broker)
  
 ## Smart2B platform resource monitoring processes ## Smart2B platform resource monitoring processes
Line 420: Line 442:
 - Check that the query is using the right attribute --- Column `J` in the spreadsheet. - Check that the query is using the right attribute --- Column `J` in the spreadsheet.
 - Check the status of the **Context Source registration** - **TODO** - Check the status of the **Context Source registration** - **TODO**
 +    - E.g. Query with a GET request the same ACTUATOR entity and look at the `command` attributes and their info.
 +    - Query the broker itself to get relevant information about the Context Source registration for its entities --- should get the partner IP address and TCP port.
 +- Check that a Context Source Registration exists for the particular entity in the Broker. For this, follow [these instructions](#verification_of_context_source_registrations) --- otherwise no actuation will happen when the command reaches the broker.
 - If the context source registration is not propertly done --- get in contact with the relevant pilot owner. (For SCML it would be EDP SEL, for AOC its either ODINS or EB, for ABL its Martin Kaufman, for CJC is EB, for ARA is EDP Miguel) - If the context source registration is not propertly done --- get in contact with the relevant pilot owner. (For SCML it would be EDP SEL, for AOC its either ODINS or EB, for ABL its Martin Kaufman, for CJC is EB, for ARA is EDP Miguel)
 - If the context source is successfully registered, when the commands are not reaching the building equipment, get in contact with the relevant pilot owner. - If the context source is successfully registered, when the commands are not reaching the building equipment, get in contact with the relevant pilot owner.
 +
 +
 +## Get a complete list of Smart2B platform entities by type
 +
 +Below is attached a JSON file that contains a Postman collection with the necessary requests to recover all the information corresponding to the entities of each type that are registered on the Smart2B platform:
 +
 +{{:public:smart2b:smart2b-security-partners-allentities.postman_collection.zip}}
 +
 +To import a collection of requests into Postman we must go to our Workspace, press the "Import" button and then select the corresponding JSON file.
 +
 +This Postman collection contains the requests necessary to request an authentication token, an authorization token, and then retrieve the information for all entities of a specific type. To launch these last requests, we must always keep the "limit" header with a value of "1000", and vary the value of the "offset" header to recover the entities in packages of 1000 units. That is, the "offset" header must take the values "0", "1000", "2000", ... until no more entities are recovered.
 +
 +
 +## Healthcheck and Gotify monitoring
 +
 +{{:public:smart2b:healthcheck_gotify.svg}}
 +
 +Due to the recent issues due to services being down in pilot tests, we will integrate a simple watchdog mechanism.
 +
 +The intention of this mechanism is to have a common notification platform (Gotify.odins.es) where all the relevant partners (specially the pilot owners) will be notified within minutes if a component is down due to some unknown reason.
 +
 +### Steps to follow by non-technical partners (Project coordination or Pilot Leaders)
 +
 +- Gotify is the chosen tool to notify relevant partners (coordination, pilot leaders, etc) that a service might be down or malfunctioning. When this happens, experiments or pilot visits must be discussed with the relevant technical partners to assess if it makes sense to cancel the visit/experiment ahead of time.
 +
 +- In your favourite device, go to https://gotify.odins.es and use the following credentials.
 +
 +- user: `smart2b`
 +- pass: `52MTf4hxcYnNJCrM`
 +
 +Alternatively you might install the official Gotify SmartPhone Tools
 +
 +- https://play.google.com/store/apps/details?id=com.github.gotify&hl=en_US
 +
 +Check periodically this notification web when an experiment is near. If there are recent notifications, chances are that there is something not working as expected. Try to get in contact with the relevant partner ASAP and assess the situation in case that visits to the pilot sites are scheduled.
 +
 +### Steps to implement by Integrating/Technical Partners
 +
 +#### Gotify.odins.es
 +
 +- Gotify is the chosen tool to notify other partners (coordination, pilot leaders, etc) that a service might be down or malfunctioning.
 +
 +- ODINS is running our own instance of Gotify at https://gotify.odins.es
 +
 +- Got there and use the following credentials:
 +
 +- user: `smart2b`
 +- pass: `52MTf4hxcYnNJCrM`
 +
 +- Next, create your own APP at the top titled after your partner --- here we have relative freedom to pick anything that makes sense to you, do not constrain yourself with the details.
 +
 +{{:public:smart2b:20240228-152605.png}}
 +
 +- **NOTE** you might disregard the `Priority`, it is something that has not been discussed yet at a technical level and do whatever. For us all notifications are to be attended so priority is not a criteria to pick which one to attend.
 +
 +- Choose your created APP and get your authorization token:
 +
 +{{:public:smart2b:20240228-152829.png}}
 +
 +- This token is the one that must be employed by the next section.
 +
 +- Besides, the gotify procedure might be employed in case that something is going wrong or an issue has been detected proactively.
 +
 +- https://gotify.net/docs/more-pushmsg contains the instructions that you might employ in case you can go around `healthchecks.io`
 +
 +
 +
 +
 +#### Healtchecks.io
 +
 +- Each partner must create their own account in the free service https://healthchecks.io/
 +
 +- Next create a project within the application
 +
 +{{:public:smart2b:20240228-150847.png}}
 +
 +- Next create a check with the most frequency possible, adapted to your needs, but we are talking a matter of minutes.
 +
 +{{:public:smart2b:20240228-151016.png}}
 +
 +- Click the three-dot menu to setup the check
 +
 +{{:public:smart2b:20240228-151106.png}}
 +
 +- Click on the Use examples in order to know what queries must be run from the watched component towards healthcheck
 +
 +{{:public:smart2b:20240228-151220.png}}
 +
 +**NOTE** that many different languages/apps are available in order to perform the regular query. Pick whichever option you prefer.
 +
 +- Next, click the `INTEGRATIONS` tab and choose your preferred methods, among them email is suggested.
 +
 +- Next, click the `Gotify` integration, which is the notification portal that will be employed within **Smart2B**.
 +
 +- In the `Gotify Server URL` type `https://gotify.odins.es`
 +
 +- In the `Application Token` paste the APP token that you grabbed from `gotify.odins.es`.
 +
 +{{:public:smart2b:20240228-151638.png}}
 +
 +It should look like this.
 +
 +{{:public:smart2b:20240228-151738.png}}
 +
 +- It is recommended that you try to test the integration and see if the notification reaches Gotify
 +
 +{{:public:smart2b:20240228-151958.png}}
 +
 +- Henceforth, the monitored component must ping the `healthchecks.io` server within the specified period of time. Otherwise, it will post a notification towards Gotify, so that all the partners are aware that maybe something is wrong and can react accordingly.
 +
 +
  
  
  • public/smart2b/home.1706180649.txt.gz
  • Last modified: 2024/10/09 08:35
  • (external edit)