Difference between revisions of "OS4X Core environment variables"
| Line 23: | Line 23: | ||
*<code>OS4X_DB_PORT</code> | *<code>OS4X_DB_PORT</code> | ||
*<code>OS4X_DB_TYPE</code>: either "<code>mysql</code>", "<code>DB2</code>" or "<code>sqlite3</code>" | *<code>OS4X_DB_TYPE</code>: either "<code>mysql</code>", "<code>DB2</code>" or "<code>sqlite3</code>" | ||
| + | |||
| + | Beginning from OS4X build 2019-08-09, the following variable exists: | ||
| + | *<code>OS4X_DB_PREFIX</code>: database table prefix | ||
Revision as of 11:40, 9 August 2019
Environment variables are created and/or set by all OS4X binaries, which values are based on the configuration of OS4X. These variables are:
OS4X_CFGFILE: OS4X main configuration file (absolute path information)OS4X_IN_DIR: incoming data directoryOS4X_OUT_DIR: outgoing data directoryOS4X_TMP_DIR: temporary data directoryOS4X_BIN_DIR: binary program directoryOS4X_SCRIPT_DIR: script installation directoryOS4X_BACKUP_DIR: backup directoryRAND_FILE: entropy file for OFTP2 needsOPENSSL_BIN: absolute path to openSSL binaryRRDTOOL_BIN: absolute path to RRDtools binaryRRDB_DATAPATH: RRD data pathOS4X_WEBGUI_DIR: web interface installation directoryCA_FILE: configured absolute path to the root certificate fileCA_PATH: configured absolute path to the root certificate directory
The following environment variables are extracted form the global OS4X configuration file (default: /etc/os4x.conf):
OS4X_DB_HOSTOS4X_DB_USEROS4X_DB_PWDOS4X_DB_NAMEOS4X_DB_SOCKETOS4X_DB_PORTOS4X_DB_TYPE: either "mysql", "DB2" or "sqlite3"
Beginning from OS4X build 2019-08-09, the following variable exists:
OS4X_DB_PREFIX: database table prefix
All processes started by OS4X (event scripts, plugins, etc.) have access to these environment variables.
The environment variable "OS4X_CFGFILE" points to the absolute path to the OS4X main configuration file. This has two effects:
- you may start OS4X programs in a shell where this variable is set without using the parameter "
-C" for all binaries (because the environment variable points to the correct position of the configfile) - all subsequent processes started by OS4X (like event scripts) don't have to bother about the given configfile (like plugins of OS4X Enterprise).
Database performance benchmarking
Available in OS4X 3 Core, an environment variable can be set to log all database access timing information into that given file:
OS4X_DB_BENCHMARKLOG
You can set this variable to an absolute filename where OS4X logs all innformation (example: "ksh" or "bash"):
export OS4X_DB_BENCHMARKLOG=/tmp/db2perf.log
This file logs the connect and query time for every single database access, resulting in a fast growing file. The content if this file looks like this (using DB2 database abstraction layer, others like MySQL start with "MySQL"):
DB2 connect: 0.052482 seconds DB2 SQL query: 0.126631 seconds DB2 connect: 0.032447 seconds DB2 SQL query: 0.004983 seconds DB2 connect: 0.029555 seconds DB2 SQL query: 0.004500 seconds DB2 connect: 0.031012 seconds DB2 SQL query: 0.001324 seconds