Deephaven Process Runbooks
We are in the process of updating the information contained in this document. If you need assistance with the steps/processes described within, please contact Deephaven Support.
This section outlines the procedures for each Deephaven process.
Incident Classification Key
Severity |
Description |
0 - None | Process is running (or down as scheduled). |
1 - Critical | Process is down when it should be up. |
2 - Moderate | Process is up when it should be down; or process is up but configuration is missing. |
3 - Low | Process is running but producing errors or performing poorly. |
Cache Backup and Restore Process |
|
---|---|
Level | Sev 1 - Critical |
Impact | The controller cache is the location in which persistent queries are stored, so it is strongly recommended that periodic backups be taken of this data. The ability to restore persistent queries is critical. |
Procedures: To export all Deephaven queries, use the following command: sudo service iris controller_tool --export By default, the file is named /db/TempFiles/irisadmin/controller_tool To import your queries to any controller running the same Deephaven version, use the following command: sudo service iris controller_tool --import It may be useful to keep each query's serial ID so that user workspaces will continue to work. In this case, you can add the following parameter, which will keep each query's original serial, but not import any query if a query already exists with the same serial: --retainSerial=keep To keep the original serial IDs and also overwrite existing queries with the same IDs, instead use: --retainSerial=replace For full details, see the Persistent Query Controller Tool. |
Remote Table Appender (Data Import Server) Process |
|
---|---|
Level | Sev 1 - Critical |
Impact | Intraday user data will not be available and updates cannot be written to the database. |
The Remote Table Appender is an instance of a Data Import Server, and in many cases it is the same process as the main Data Import Server Process. If this is the case, refer to Data Import Server Process. If you have configured a separate process for RTA, you will need to refer to your system to find the service name and configuration. This documentation assumes it is " Procedures: Check Process is Running with Monit: sudo monit status db_rta View Log File for successful startup messages: /var/log/deephaven/dis/<configured process.name>.log.current Check Property File Settings: /etc/sysconfig/illumon.d/resources/iris-common.prop Restart Procedure: sudo monit restart db_rta Procedure for Cleaning up Corrupt Intraday User Data: In the event that intraday ticking data becomes corrupted, you do not need to stop the DIS. Simply delete the intraday directories for the corrupted day's data. For example, to delete the 2018-02-09 data for the Event table in the Order namespace, run:
|
Web API Service Process Table |
|
---|---|
Level | Sev 3 - Low |
Impact |
Deephaven Console GUI Users will not be affected, but Web API clients be impacted. |
Procedures: Enable the Web API Service: The Web API Service is disabled by default. In the M/Monit config folder, remove the .disabled extension from the Web API Service config file name and run monit reload. This will instruct the M/Monit daemon to reread its configuration and re-initialize. cd /etc/sysconfig/illumon.d/monit Check Process is Running with Monit: sudo monit status web_api_service View Log File for successful startup messages: /var/log/deephaven/misc/WebServer.log.current Check Property File Settings: /etc/sysconfig/illumon.d/resources/*.prop If the above file does not exist (older installations), instead check /etc/sysconfig/illumon.d/resources/openapi-defaults.prop On newer installations, Restart Procedure: sudo monit restart web_api_service Web API Server TLS Keystore (.p12 keystore file): The Web API Server's TLS keystore contains the certificate and private key of a TLS enabled service. You must keep this file private, and not distribute it to clients. The Web API Servers keystore file should be unique per node, with a certificate that is signed (issued) by a trusted CA. The default self-signed key pair for the Web API Server is generated when installing the [-r--r----- irisadmin dbquery ] webServices-keystore.p12 The Web Server keystore file is also protected by a unique randomly generated password stored in base64 encoded format in a read-only hidden file owned by user [-r--r----- irisadmin dbquery] .webapi_passphrase Important Keystore Properties and Files Keystore Filename: Passphrase File: Property File: Note, if this file does not exist[1], you can edit the following instead : Keystore Property: Passphrase Property: [1] If cd /etc/sysconfig/illumon.d/resources/ Alternatively, you may wish to put your Securing the Web API Server with your CA-signed Certificate While the default self-signed certificate is good enough for testing, it presents scary security warnings to users, and encourages users to ignore security warnings (which is a very bad habit), so you should always use a "real" CA-signed certificate for production use. Obtain a TLS certificate signed by your trusted CA with the domain name matching the Deephaven server, e.g., Backup the existing file keystore file: sudo cp /etc/sysconfig/illumon.d/auth/webServices-keystore.p12 \ Import your CA cert and key files to the Web API Service keystore file. For example: STOREPASS=$(sudo cat /db/TempFiles/irisadmin/.webapi_passphrase | base64 --decode) * If you are unfamiliar with how to generate a .key and .csr file to get a .crt from a CA, please read this link, or contact a security professional to help you with obtaining a .key and .crt. Set the correct permissions on the web services keystore file: sudo chown irisadmin:dbquery \ Set/Verify Open API Props: /etc/sysconfig/illumon.d/resources/iris-common.prop Update Query Server Prop File: Replace two lines of content with the following: # Set Dispatcher hostname to match the host for your CA-signed certificate: The host set above can also go into Restart Web API Service with monit sudo monit restart web_api_service |
Client Update Service Process (Lighttpd web server) |
|
---|---|
Level | Sev 2 - Moderate |
Impact | Users will not be able to use the Launcher and Deephaven Clients will not be able to receive any updates from the server. |
Web Links |
|
Procedures: The Client Update Service (CUS) is powered by lighttpd to update clients with server side components including, JARs, properties, etc. The CUS is disabled by default for security reasons. By default, the CUS does not require user authentication. The CUS is powered by lighttpd and provides basic and digest authentication methods described by RFC 2617. To enable authentication with users defined in a file, edit Authorized users are stored in the htpasswd file: /etc/lighttpd/illumon-cus.user The htpasswd file contains the username and the crypt()'ed password separated by a colon. Each entry in the file is terminated by a single newline. For example: iris:$apr1$1xsLWNhw$.qiKafnbTpoNda/d6X77l. You can use the htpasswd utility from the Apache distribution to manage htpasswd files. Note that not all versions of htpasswd default to use Apache's modified MD5 algorithm for passwords, which is required by lighttpd. You can force most to use MD5 by running: htpasswd -nbm <user> <password> Append the output of the above command to: /etc/lighttpd/illumon-cus.user More information on configuration options is available in lighttpd's documentation. Securing the Customer Update Service (CUS) with HTTPS To securely enable the CUS on HTTPS port 443: Obtain a TLS certificate signed by your trusted CA with the domain name matching the Deephaven server, e.g: myserver.mydomain.com Concatenate your cat /etc/ssl/private/lighttpd.key /etc/ssl/certs/lighttpd.crt \ On the Deephaven Server, edit the server.port = 443 Update appbase = https://myserver.mydomain.com/iris/ Restart the CUS with monit sudo monit restart cus The "Client Update Service" will be available at: Check Process is Running with Monit: sudo monit status client_update_service Sudo access required to view Log File for successful startup messages: /var/log/lighttpd/cus-error.log Sudo access required to check Config File Settings: /etc/lighttpd/client-update-service.conf Sudo access required to check Files in Document Root: /var/www/lighttpd/iris/ Restart Procedure: sudo monit restart client_update_service To enable the CUS on cleartext HTTP port 80: On the Deephaven Server, edit the Set the For example: #appbase = http://WEBHOST/iris/ In the M/Monit config folder, remove the cd /etc/sysconfig/illumon.d/monit Check the status of the getdown service: monit status client_update_service Once the "Client Update Service" is up and running, you can proceed to install and run the Launcher on client desktops. The installers for Windows, Mac and Linux desktops can be downloaded from the "Client Update Service" on your Deephaven Server at: |
Last Updated: 16 February 2021 18:07 -04:00 UTC Deephaven v.1.20200928 (See other versions)
Deephaven Documentation Copyright 2016-2020 Deephaven Data Labs, LLC All Rights Reserved