Page tree

SAYMON документация

Skip to end of metadata
Go to start of metadata

You can configure some elements of a SAYMON web interface in a configuration file  $SAYMON_ROOT/target/client/client-config.js ( $SAYMON_ROOT is a SAYMON installation directory). This article contains a description of all fields of this file along with configuration examples for each of these fields.

Configuring a header for tabs and the web interface

SAYMON is a default title displayed in tabs' headers. The same title is shown in the left-upper corner of the web interface. If you need to change this title, you can set a new one in a corresponding field:

title: "SAYMON"

Comet

Along with HTTP, SAYMON utilizes Comet to exchange data between the client and the server. You can set the following fields in the configuration file:

comet: {
    port: 8091
}
pollInterval: 5000
pollIntervalSocket: 60000

The  port field is a port number that the Comet server listens. If a connection between the client and the Comet server is available, data is requested from the server every  pollIntervalSocket milliseconds. Otherwise, data is requested from the REST server every  pollInterval milliseconds.

Grid View

In the configuration file, you may set parameters for the Grid View:

gridView: {
    cols: 6,
    colWidth: 240,
    rowHeight: 90,
    gutterSize: 5
}

The  cols parameter corresponds to the number of objects placed in one row of a grid. If the value of this parameter is greater than 0, then the number of objects in each row will the equal to this number. The width of the objects will be changed automatically. If the value is equal to 0, then the width of all objects will be a fixed number equal to colWidth. The  rowHeight parameter corresponds to the height of an object, gutterSize– the size of an ident between the objects.

Geo Map

SAYMON allows binding objects to their geographical location and browsing them of a map. You can configure the following fields in a configuration file:

geoMap: {
    serverName: undefined,
    initialPosition: [30.341306, 59.930089],
    initialZoom: 8
}

The  serverName filed is the name of a server used to display a map. By default, openstreetmap.org is used. You may also use a local OSM server. The  initialPosition field sets an initial position on a map in the format [longitude, latitude]. The default value corresponds to Saint Petersburg, Russia. The  initialZoom field sets an initial zoom of a map.

Displaying empty objects

When you choose some object, by default SAYMON shows detailed information about this object. The same rule applies when you choose an object without nested entities. In the configuration file, you can set a list of class ids for which SAYMON will display the standard view if a chosen object is empty:

forceEmptyStandardView: [
    1,  # Root
    3,  # Host
    13, # Node
    43  # Dashboard
]

Data history

In the  history section, you can configure how data is displayed on plots and activate some additional elements used for plotting:

history: {
    slider: false,
    downsampling: [
        [[1, 'hours'], '15s-avg'],
        [[1, 'days'], '5m-avg'],
        [[1, 'weeks'], '1h-avg'],
        ['1d-avg']
    ],
    modelChangeAnnotations: false
}

The  slider field allows activating a slider that you can use to set a time range in which data will be displayed. In the  downsampling list, you can configure downsampling parameters (see Main controls, the downsampling section). The  modelChangeAnnotation field activates an option that allows adding annotations for plots.

Objects grid

In the configuration file, you can tune a grid for objects:

grid: {
    dim: 20,
    color: "rgba(128, 128, 128, 0.3)",
    border: 4
}

The  dim field corresponds to the grid size,  color sets a grid color in the RGBA format,  border specifies the maximum border size between objects and grid borders.

Pie chart colors

The  defaultPieChartColors field allows you to set default colors for a pie chart (or Circle):

defaultPieChartColors: [
    '#a90329',
    '#3276b1',
    '#009F3D',
    '#9868B8',
    '#F2C001',
    '#FF742C',
    '#90574E',
    '#EB77BE',
    '#FF9796',
    '#AAC6E5',
    '#8BDE90',
    '#FDB5D0'
]

(Un)activating sections for a detailed display mode

Using the  disabledSections field, you can remove sections shown in a detailed display mode in the upper part of the web interface:

disabledSections: [] # A list of sections to be removed from the web interface

Here is a list of all available sections:

widgets, stat, entity-settings, monitoring, entity-state-conditions,
entity-incident-conditions, state-triggers, stat-rules, properties,
documents, operations, state-history, audit-log, history-graph, config-log.

Embedded widgets

SAYMON allows embedding information about objects into external resources. The configuration file contains the following fields:

defaultEmbeddableLink: {
    url: "http://saymon.info/",
    name: "SAYMON"
}

The  url field contains a URL to which a widget refers, the  name field sets a widget's name.

Standard class icons

The  defaultClassImage field allows you to set a standard icon and its size for objects of a particular class. Below is an example of such configuration:

defaultClassImage: {
    '29': { img: '/images/cloud.svg', dim: [100, 75] }
}

The  29 field corresponds to the class ID,  img – to an image relative path (a root directory is the same where the configuration file is located),  dim – to an image size.

Localization

Using the  languages field, you can add a new language to SAYMON:

languages: {
	root: { short: 'us', long: 'English' },
    ru: { short: 'ru', long: 'Русский' },
    it: { short: 'it', long: 'Italiano' }
}

In the above example, the first field (e.g  root) corresponds to the name of a directory, where a translation for a particular language is located. All the directories with translations are located in the  nls directory in the SAYMON installation root. The  short field contains a short language title,  long sets a standard language name. The last is displayed in the SAYMON web interface in the configuration panel.

Themes

The  themes field is used to configure SAYMON themes:

themes: {
	default: { name: 'Light' },
	dark: { name: 'Dark' }
}

The Light theme is used by default. There is one more theme available in SAYMON called Dark. CSS files with the themes are located in the  $SAYMON_ROOT/target/client/css directory ( $SAYMON_ROOT is a path to a SAYMON installation directory).

Documentation

Using the  documentation field, you can configure links to various SAYMON documentation:

documentation: {
	main: {
    	root: 'https://wiki.saymon.info/display/SAYMONEN',
        ru: 'https://wiki.saymon.info/display/SAYMONRU'
    },
    notificationTemplates: {
    	root: 'https://wiki.saymon.info/display/SAYMONEN/Notification+templates',
        ru: 'https://wiki.saymon.info/display/SAYMONRU/Notification+templates'
    }
}

The fields  root and  ru of the  main section contain links to English and Russian versions of user documentation. The same fields of the  notificationTemplates section set links to documentation about notification templates.

Other configuration options

The remaining options not described before are presented below:

millisecondMonitoring: false # Allows updating data every millisecond.

canEditObjectStyle: true # Allows configuring CSS for objects. After the option is
# enabled, the "Parameters" section will contain the "Style" section, which can be
# used to set styles.

collapseSections: false # Specifies how plot sections are displayed. If set to true - the
# sections are collapsed, otherwise the section are opened.

enableSmsTrigger: false # Activates SMS notifications

enableVoiceCallTrigger: false # Activates voice notifications

enableConditionalIncidents: false # Allows setting incidents conditions

hideConnectionStatusNotifications: false # Hides notifications about the status of a current connection

authEnabled: false # Activates manual registration for users

mediaUrlFields: [] # A list of fields of a state history which should be interpreted as links

agentInstallerUrl: '' # A link to download an agent's installation script

contactEmail: 'care@saymon.info' # A contact email
  • No labels