Server administration

Managing the Server Build/Version

Upgrade indeni to the very latest release candidate

  1. Start "imanage"
  2. Choose option "4"
  3. Enter "rc" and press enter
  4. Finally, upgrade the indeni packages using option 2 in imanage

Updating your Indeni server with a custom build

If Indeni Engineering makes you a custom build, don't wait to install it:  it will only be available for a short window.

This may now be possible using the 'imanage magic' command. See 'Installing a custom build or different versions of server vs. knowledge' below.

Indeni Engineering may provide you with a special build.  Here's how to upgrade your Indeni server with it:

  • You may or may not first need to uninstall existing packages, e.g.:

    apt-get remove indeni-server indeni-collector  (you need to be in root when running this)
  • Run imanage and select "4) Change Indeni source packages"
  • When propted, change your source to "indeni-custom_branches"
  • Quit imange
  • On the Indeni server, run the command:  sudo apt-get install indeni-server=<CUSTOM-build-number> indeni-collector=<CUSTOM-build-number>.  E.g.,

sudo apt-get install indeni-server=6.0.20.0.246-CUSTOM indeni-collector=6.0.20.0.246-CUSTOM

Installing a custom Indeni build or Knowledge (IND scripts) version

Currently, when installing any new Indeni server version (stable, release candidate, etc.) you will always get the latest stable version of Indeni Knowledge. If you want a more current version of Knowledge (e.g., release candidate), or an older version, you will need to ask Indeni Engineering for the Indeni Knowledge version. The version number of Indeni Knowledge is not "connected" to the server version: they are separate versions, and there's currently no way to know the available Knowledge versions without asking Indeni Engineering.

Keep in mind: you can always take any IND source file(s) and put them in your Indeni server's overwrite directory: in this way, you can put exactly the Knowledge code you want on your server.

E.g., to install indeni platform version 7.1.0.19 and then knowledge version ik-7.1.0.569:
To deploy indeni:
  1. run 'imanage magic'
  2. use option 10 to change indeni source packages and install specific indeni version
  3. type 'rc'
  4. type 'y' to show indeni available versions
  5. type 7.1.0.19
  6. Wait for the install to finish
To deploy knowledge:
  1. run 'imanage magic'
  2. Use option 11 install specific knowledge version
  3. type 'y'
  4. type 'ik-7.1.0.569' for the knowledge version

To get the latest, bleeding edge knowledge build, use build number "ik-0.0.0.develop".


Enable Server Debug Logging

To enable logging of debug information in indeni, you modify the logback.xml file for the component you want to debug:

indeni@indeni-server:/usr/share$ find . -name "logback.xml"
./indeni-collector/conf/logback.xml
./indeni/conf/logback.xml
./indeni-services/backup/conf/logback.xml

E.g., to get debug info for the collector, open /usr/share/indeni-collector/conf/logback.xml and:

<root level="INFO"> <-- change to "DEBUG"
    <appender-ref ref="MAIN_FILE"/>
    <appender-ref ref="CONSOLE"/>
</root>

Recording Device Input

The following isn't something that IKEs can do. This is meant for indeni employees to do internal debugging. This information is just here so that, if you think you need to do this, you can ask your indeni contact about it.

In 6.0.1, we have the ability to record device input. This feature is off by default.

To enable recording, go to the collector's logback.xml (/usr/share/indeni-collector/conf) and change interrogation_recording and metrics_recording to INFO level.

    <logger name="interrogation_recording" level="INFO" additivity="false">
        <appender-ref ref="INTERROGATION_RECORDING_FILE"/>
    </logger>

    <logger name="metrics_recording" level="INFO" additivity="false">
        <appender-ref ref="COMMANDS_RECORDING_FILE"/>
    </logger>

The output files can be found in the logs dir, you will see a new file with the device IP.

When you are recording device input using the collector the data is compressed and encrypted. There is a tool to decrypt the data. You can also use the command runner to re-code the device input (question) which will be save as a plain text. (Hawkeye note: I couldn't figure out how to do this, and it seems like it shouldn't be possible without the proper key...).