General Programming Information

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


For SmartServer 4.0 and higher, most log data is in /var/log/syslog. Use smartserverctl to access SmartServer services.

For SmartServer 3.6 and prior releases, log data is distributed into specific log files, such as logs in /var/log/supervisor. Use supervisorctl to access SmartServer services.

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.

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 SmartServerlt(\"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
Space
(/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.