io.veea.VeeaHub.Partner.Logging
SetLocalInterest (IN s jsonData, IN b isTrusted, OUT i returnCode, OUT s errMsg); GetLocalInterest (OUT i returnCode, OUT s jsonData); ExtractLocalLogs (IN s tgzfile, IN s jsonData, OUT i returnCode); SetRemoteInterest (IN s uniqueID, IN s connectionString, IN b isTrusted, OUT i returnCode); GetRemoteInterest (IN s uniqueID, OUT i returnCode, OUT s query); ExtractRemoteLogs (IN s filename, IN b isTrusted, OUT i returnCode); AddLogHook (IN s containerID, IN s persistentContainerUUID, IN s containerImageName, IN b hostSyslog, OUT i returnCode, OUT s devName); RemoveLogHook (IN s containerID, IN s persistentContainerUUID, OUT i returnCode); GetDockerLogConfig (IN s persistentContainerUUID, OUT i returnCode, OUT s logDriver, OUT a{ss} logOpts); SetShellLogfileConfig (IN s jsonData, OUT i returnCode, OUT s errMsg); GetShellLogfileConfig (OUT i returnCode, OUT s jsonData);
Provides methods for setup and configuring local / remote syslog for applications / containers
SetLocalInterest (IN s jsonData, IN b isTrusted, OUT i returnCode, OUT s errMsg);
Allow a single partner/server to be registered for local log streams
{
ipAddress": "192.168.1.171",
"port": 601,
"partners": ["00000000", "FFFFFFFF"]
}
isTrusted
: Boolean indicating whethere the connection is trusted (from secure partner key)
returnCode
:
errMsg
: Runtime error messages
Allow: group=vhc
IN s jsonData
:Accepts json formatted data as follows to configure the partner id and remote logging server
IN b isTrusted
:OUT i returnCode
:OUT s errMsg
:GetLocalInterest (OUT i returnCode, OUT s jsonData);
Returns the current local server settings
returnCode
:
jsonData
: Returns json formatted data as follows
{
ipAddress": "192.168.1.171",
"port": 601,
}
Allow: group=vhc
OUT i returnCode
:OUT s jsonData
:ExtractLocalLogs (IN s tgzfile, IN s jsonData, OUT i returnCode);
IN s tgzfile
:IN s jsonData
:OUT i returnCode
:SetRemoteInterest (IN s uniqueID, IN s connectionString, IN b isTrusted, OUT i returnCode);
IN s uniqueID
:IN s connectionString
:IN b isTrusted
:OUT i returnCode
:GetRemoteInterest (IN s uniqueID, OUT i returnCode, OUT s query);
IN s uniqueID
:OUT i returnCode
:OUT s query
:ExtractRemoteLogs (IN s filename, IN b isTrusted, OUT i returnCode);
IN s filename
:IN b isTrusted
:OUT i returnCode
:AddLogHook (IN s containerID, IN s persistentContainerUUID, IN s containerImageName, IN b hostSyslog, OUT i returnCode, OUT s devName);
At container startup creates a unique logging socket for the given partner id and
configures/reloads syslog-ng
containerID
: Runtime container id for this instance
persistentContainerUUID
: Container / Application unique identifier
containerImageName
: The image name
hostSyslog
: Boolean indicating that the container/app is also licenced to log to the hubs syslog
returnCode
:
devName
: Returns the full path to the newly created logging socket
Allow: group=vhc
IN s containerID
:IN s persistentContainerUUID
:IN s containerImageName
:IN b hostSyslog
:OUT i returnCode
:OUT s devName
:RemoveLogHook (IN s containerID, IN s persistentContainerUUID, OUT i returnCode);
At container shutdown if no longer in use, remove the logging
socket for the given partner id and configure/reload syslog-ng
containerID
: Runtime container id for this instance
persistentContainerUUID
: Container / Application unique identifier
returnCode
:
Allow: group=vhc
IN s containerID
:IN s persistentContainerUUID
:OUT i returnCode
:GetDockerLogConfig (IN s persistentContainerUUID, OUT i returnCode, OUT s logDriver, OUT a{ss} logOpts);
Passes the logging driver configuration to docker
so that stdout and stderr drivers can be configured
inline with the /dev/log interface
containerID
: Runtime container id for this instance
persistentContainerUUID
: Container / Application unique identifier
returnCode
:
Allow: group=vhc
IN s persistentContainerUUID
:OUT i returnCode
:OUT s logDriver
:OUT a{ss} logOpts
:SetShellLogfileConfig (IN s jsonData, OUT i returnCode, OUT s errMsg);
Configures logging options for sideload's vhc shell.
jsonData
: A JSON formatted string that contains the following keys and values:
jsonData Keys | Values | Description |
---|---|---|
enableContainerLogs | true/false | Enabling 'container logs' by setting this key to 'true' will create a single logfile per running container. |
enablePartnerLogs | true/false | Enabling 'partner logs' by setting this key to 'true' will create exactly one partner logfile that will store all of the logs from all of a partners running containers all at the same time. |
partners | List of Partner Ids | Depending on a partners configuration, this is the installed partner ID (if partner license installed) and FFFFFFFF if allow untrusted has been configured. |
returnCode
: The following table lists the possible return values after completion of the command.
returnCode | Values |
---|---|
0 | Configuration was successful |
-1 | Unknown Error |
-2 | Invalid JSON data |
errMsg
: Runtime error message
An example jsonData
string is as follows: { "enableContainerLogs": true, "enablePartnerLogs": false, "partners": ["00000000", "FFFFFFFF"] }
Allow: group=vhc
IN s jsonData
:OUT i returnCode
:OUT s errMsg
:GetShellLogfileConfig (OUT i returnCode, OUT s jsonData);
Returns the current ShellLogfile config settings
returnCode
:
returnCode | Values |
---|---|
0 | Retrieved configuration successfully |
-1 | Unknown Error |
jsonData
: Returns empty if SetShellLogfileConfig() has not been called yet. Otherwise it returns a json formatted string like the following example: {"enableContainerLogs": true, "enablePartnerLogs": false, "partners": ["00000000", "FFFFFFFF"]}
Allow: group=vhc
OUT i returnCode
:OUT s jsonData
: