Prior to up.time 7.3, Plugin monitors had to be manually downloaded and then installed in up.time with either the Plugin Manager or the erdcloader command line tool.  Now with up.time 7.3, the integrated Extension Manager easily acquires and installs Plugins from within the UI.  However, if the monitoring station does not have direct access to the Internet, then the Plugins won't be accessible for download.  When this occurs, a local repository of Plugins will need to be created for the Extension Manager to install from.

Overview

To better understand what needs to be done to install Plugin monitors for Monitoring Stations without direct access to the Internet, it is best to understand how the Extension Manager works.

The Extension Manager is accessed by the “Want more? Search for monitors.” link in the top right corner of the Add Service Monitor window. The content of the Extension Manager is populated from the http://the-grid.uptimesoftware.com/extension.json page. Any time a Plugin monitor is updated or a new one added, the change is reflected in the extension.json file (and, by extension, the Extension Manager).

For the Extension Manager to access the Plugin monitors without access to the Internet, we need to place a copy of the Plugin monitor files in a location that is accessible to the up.time Monitoring Station and create a local extension.json file where the Plugin file paths point to the accessible location.

Create the extension.json File

To create the new extension.json file, the easiest approach is to refer to the existing one which is located at http://the-grid.uptimesoftware.com/extension.json.

If you need to upgrade a plugin that is already installed, download the new plugin zip file and also copy the updated info from extension.json file and to update the entry in the customized, local extension.json file.  You will not be able to upgrade the Plugin if the local extension.json file is not updated.

Since you probably only require some of the Plugin monitors that are available, you can populate your copy of extension.json with just those Plugin monitors that you are interested in.  The example below only includes the File and Directory Plugin and the Enhanced Log Monitor Plugin.

To create the extension.json on your machine you need following parts:

  1. Add an open square bracket ([) character to top of the file and a close square bracket (]) character to the bottom of the file. Between these brackets will be the Plugin entries.
  2. In the public extension.json file, search for the Plugin(s) that you want to include in your local extension.json file. Each Plugin section is encompassed by curly brackets ({ and }).
  3. When copying Plugin entries from the public extension.json file to your internal copy, ensure the very last Plugin entry does not have a trailing comma (,) character after the closing curly bracket. The comma is used to separate Plugin entries in the extension.json file.
  4. For each Plugin entry in your local extension.json file, change the git_file_target field from the public location to http://uptimehost:9999/PluginRepo/plugin.zip. If you have a location that is accessible by the up.time Monitoring Station server where you would like to store the Plugin zip files, modify the link accordingly.
  5. The icon_url field or grid_url_target fields should be left as is.

This example local extensions.json file only contains the File and Directory and Enhanced Log monitor Plugins.  You can include as many or as few as you desire.

[
    {
        "category": "Operating System Monitors", 
        "supported_versions": [
            "7.3"
        ], 
        "name": "File and Directory", 
        "git_file_target": "https://github.com/uptimesoftware/file-directory-monitor/raw/develop/dist/file-directory-monitor.zip", 
        "icon_url": "http://the-grid.uptimesoftware.com/img/posts/placeholder-logo.png", 
        "upgrade_in_place": true, 
        "requires_additional_setup": false, 
        "requires_agent_scripts": true, 
        "version": "4.0", 
        "supported_platforms": [
            "windows", 
            "linux"
        ], 
        "grid_url_target": "http://the-grid.uptimesoftware.com/plugin/file-directory-monitor.html", 
        "type": "plugin", 
        "description": "Monitor the number of files, largest size, and how old the files are in a directory."
    }, 
    {
        "category": "Operating System Monitors", 
        "supported_versions": [
            "7.3"
        ], 
        "name": "Enhanced Log Monitor", 
        "git_file_target": "https://github.com/uptimesoftware/enhanced-logfile-monitor/raw/develop/dist/enhanced-logfile-monitor.zip", 
        "icon_url": "http://the-grid.uptimesoftware.com/img/posts/placeholder-logo.png", 
        "upgrade_in_place": true, 
        "requires_additional_setup": false, 
        "requires_agent_scripts": true, 
        "version": "3.0", 
        "supported_platforms": [
            "windows", 
            "linux"
        ], 
        "grid_url_target": "http://the-grid.uptimesoftware.com/plugin/enhanced-logfile-monitor.html", 
        "type": "plugin", 
        "description": "This monitor is designed for use with the up.time monitoring station and Windows, Linux, Solaris or AIX agents. It scans for certain log files on the agent system and searches the files for a specified string (regex compatible). It will scan only new lines in files and not generate alerts for older issues. It keeps track of this by using a bookmark (in a temp file) so each time it runs it will simply go to the last position in the file and continue scanning. It is designed to scan large (multi-GB) as well as many files within a second."
    }
]


Once you have your local extension.json file created, place it in the <uptime_dir>\GUI directory or, if you prefer, place it in another web location that the up.time Monitoring Station server can access.  If using <uptime_dir>\GUI, be sure that no other files are modified; otherwise, the web UI may not work properly.  The web location of <uptime_dir>\GUI\extension.json will be http://uptimehost:9999/extension.json

Download Plugins

  1. Create the PluginRepo directory in <uptime_dir>\GUI on the up.time Monitoring Station server. This is where the Plugin zip files will reside. If you have another web location that the up.time Monitoring Station server can access where you would prefer to store the zip files, that is fine as well.
  2. On a machine that does have access to the internet (i.e. your desktop), for each Plugin entry listed in your local extension.json file, browse to the grid_url_target address from the public extension.json file to download the Plugin zip file.
  3. Place these zip files in the <uptime_dir>\GUI\PluginRepo directory. These zip files will now be accessible from http://uptimehost:9999/PluginRepo/plugin.zip which should be the same address as the grid_url_target entry in your local extension.json file.

Update uptime.conf 

To have the Extension Manger use your local extension.json file, the following line needs to be added to the bottom of the <uptime_dir>\uptime.conf file and the “up.time Data Collector” service needs to be restarted (uptime_core on Linux):

extension.browsing.url=http://uptimehome:9999/extension.json

Now you should be able to install Plugins in up.time without the Monitoring Station requiring direct access to the Internet. And remember to check back occasionally for Plugin updates.