Page tree
Skip to end of metadata
Go to start of metadata

This section provides general information related to writing applications for the SmartServer IoT.

Singleton Enforcement

Any application running on the SmartServer that can only run as a single instance must enforce the singleton pattern by detecting any violation and restarting the system.

Services in the SmartServer use the folder indicated with the APOLLO_LOCKDIR environment variable for lockfiles. Any service that fails to obtain its lock, or detects a violation of the singleton requirement through different means, considers this a fatal error and must reboot the system.

Accumulating Datapoints

The process of accumulating can be customized by tuning the file. There are two properties related to this process namely and The former defines how often datapoints will be persisted to the database from cache, while the latter defines how many datapoints will be processed in one go. The persistence rate defaults to 17 seconds for the SmartServer.

Localized Diagnostics

IAP supports localized diagnostics: error or warning messages in the operator’s language. By default, all IAP components supply diagnostics in English (US English). Methods are defined which allow adding “language packs” to edge servers, and to select one of several available languages.

IAP does not support localization of data.  Datapoint values are transmitted as structured JSON data and are not localized within IAP.  Front-end tools may render data presentations fit for the locale.

Default Language Selection

Edge servers report the set of available languages with their About object as a list of ISO 639-2 language codes, with added country codes as necessary.  For example, "en" for English, "en-gb" for Great Britain, "fr" for French, and "fr-ca" for Canada.

The CMS can select one of the available languages through the segment configuration object.  The language selection affects diagnostics transmitted through the logging and event reporting tools (see Events). Every diagnostic reported these tools carries the ISO 639-2 language identifier and country code.

When a language other than English is selected, some diagnostics may still use English, allowing for incomplete translations. The CMS considers the language selection a recommendation, but cannot rely on it.

SmartServer Alarm Conditions

The alarm service creates alarms for resource monitoring when the system starts.  All resource monitoring alarms can be updated and deleted using standard IAP methods available for alarms (see Alarm).

The following table lists the default alarm conditions for system resource monitoring.

System Resource           Topic                                                                                            Description
CPU Temperaturegt(\"glp/0/./=alarm/system/cpu/temperature\", 120)

If the temperature of the CPU exceeds this threshold, the alarm is triggered.

The default threshold is 120 degrees celsius.

Current CPU Loadgt(\"glp/0/./=alarm/system/cpu/load_current\", 0.95)

If the current CPU load of the system exceeds this threshold, the alarm is triggered.

The default threshold is 0.95

Average CPU Loadgt(\"glp/0/./=alarm/system/cpu/load_average\", 0.95)

If the average CPU load of the system exceeds this threshold, the alarm is triggered. The range of the average cpu load is 0-1.

The default threshold is 0.95

Available Memory on SmartServer IoTlt(\"glp/0/./=alarm/system/memory/available\", 100000)

If the available memory is less than the defined threshold, the alarm is triggered. This is the minimum memory that must be available in the system, not including buffers or cache memory.

The default threshold is 100,000 bytes.

File System Usage
(/var/apollo partition)
gt(\"glp/0/./=alarm/system/fs/var_usage\", 0.9)

If the file system exceeds this threshold, the alarm is triggered. The file system usage is calculated for the file system mounted at "/var".

The default threshold is 0.9

File System Available
(/var/apollo partition)
lt(\"glp/0/./=alarm/system/fs/var_available\", 10000)

If the available space in the file system is less than the threshold, the alarm is triggered. The available space is calculated for the file system mounted at "/var".

The default threshold is 10,000 bytes.

  • No labels