nevisAdmin 4 Log Files
The nevisAdmin 4 log files can be found in the following location:
/var/opt/nevisadmin4/logs
To easily collect log files of all managed Nevis components in one place, see Configuring Monitoring of your Nevis Infrastructure. For information about the log files of in
nevisAdmin 4 Log
nevisadmin4.log is the log of the nevisAdmin 4 application itself. It is helpful for investigations when the application is not behaving as expected. The log level is configurable.
Logback Configuration
The log level can be configured per package/class in a logback.xml file. A restart of nevisAdmin 4 is not required to adjust the configuration.
The logback.xml file is scanned for changes every 5 seconds.
The file can be found in the following location:
/var/opt/nevisadmin4/conf/logback.xml
Default /var/opt/nevisadmin4/conf/logback.xml
<included>
<logger name="ch.nevis.admin.v4.core.project" level="info" additivity="false">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</logger>
<logger name="ch.nevis.admin.v4.app.command" level="info" additivity="false">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</logger>
<logger name="org.springframework.http" level="warn" additivity="false">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</logger>
<logger name="org.springframework.web" level="warn" additivity="false">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</logger>
<logger name="com.fasterxml.jackson" level="warn" additivity="false">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</logger>
</included>
Custom Logging
It is possible to log any custom file into a directory of choice. For this, first define a custom appender and then create a new logger, who is referencing the custom appender. See also the following example, which uses a simple FileAppender. For a more advanced setup, check the official logback documentation.
Custom log file extension in logback.xml
<included>
<appender name="MY-CUSTOM-FILE"
class="ch.qos.logback.core.FileAppender">
<file>${logdir:-logs}/my_custom.log</file>
<!--
Can use any path instead of the 'logdir' value, but preferable
<file>/var/opt/nevisadmin4/my_custom_logs/my-custom.log</file>
-->
<encoder>
<pattern>%d [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<logger name="ch.nevis.admin.v4.core.project" level="debug" additivity="false">
<appender-ref ref="MY-CUSTOM-FILE" />
</logger>
</included>
Own log file for a class
<included>
<appender name="FILE-PROJECT-IMPORTER"
class="ch.qos.logback.core.FileAppender">
<file>${logdir:-logs}/FileProjectImporter.log</file>
<encoder>
<pattern>%d [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<logger name="ch.nevis.admin.v4.core.project.job.FileProjectImporter" level="trace" additivity="false">
<appender-ref ref="FILE-PROJECT-IMPORTER" />
</logger>
</included>
Syslog
Logback has an appender to support logging into syslog. For configuration details, see the SyslogAppender section in the official logback documentation: http://logback.qos.ch/manual/appenders.html/.
Deployment and Generation of Logs into a Separate File
Proceed as follows to log deployment and generation activities in a separate file.
- Add the following lines to the file logback.xml. This will show the deployment and PKI activities that happen during the deployment of your configuration in the file deployment.log.
Deployment log
<included>
<appender name="DEPLOYMENT"
class="ch.qos.logback.core.FileAppender">
<file>${logdir:-logs}/deployment.log</file>
<encoder>
<pattern>%d [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<logger name="ch.nevis.admin.v4.app.command.deployment" level="debug" additivity="false">
<appender-ref ref="DEPLOYMENT" />
</logger>
<logger name="ch.nevis.admin.v4.core.project.deployment" level="debug" additivity="false">
<appender-ref ref="DEPLOYMENT" />
</logger>
<logger name="ch.nevis.admin.v4.plugin.direct.orchestration" level="debug" additivity="false">
<appender-ref ref="DEPLOYMENT" />
</logger>
<logger name="ch.nevis.admin.v4.plugin.k8s.orchestration" level="debug" additivity="false">
<appender-ref ref="DEPLOYMENT" />
</logger>
<logger name="ch.nevis.admin.v4.plugin.yaml.inventory" level="debug" additivity="false">
<appender-ref ref="DEPLOYMENT" />
</logger>
<logger name="ch.nevis.admin.v4.infra.pki" level="debug" additivity="false">
<appender-ref ref="DEPLOYMENT" />
</logger>
<logger name="ch.nevis.admin.v4.core.common.pki" level="debug" additivity="false">
<appender-ref ref="DEPLOYMENT" />
</logger>
<logger name="ch.nevis.admin.v4.core.common.secret" level="debug" additivity="false">
<appender-ref ref="DEPLOYMENT" />
</logger>
</included>
- You may add the lines below to also include configuration generation logs into the file. This will produce logs for the following activities:
- Deployment.
- Background project validation triggered by changes in the project, for example changing and saving a pattern.
- Reports, like for example the Application Mapping Report.
Lines to add for generation logs:
Generation and Validation log
<included>
<logger name="ch.nevis.admin.v4.core.provisioning" level="debug" additivity="false">
<appender-ref ref="DEPLOYMENT" />
</logger>
<logger name="ch.nevis.admin.v4.core.generation" level="debug" additivity="false">
<appender-ref ref="DEPLOYMENT" />
</logger>
<logger name="ch.nevis.admin.v4.plugin.base.generation" level="debug" additivity="false">
<appender-ref ref="DEPLOYMENT" />
</logger>
<logger name="ch.nevis.admin.v4.plugin.nevisproxy" level="debug" additivity="false">
<appender-ref ref="DEPLOYMENT" />
</logger>
<logger name="ch.nevis.admin.v4.plugin.nevisauth" level="debug" additivity="false">
<appender-ref ref="DEPLOYMENT" />
</logger>
<logger name="ch.nevis.admin.v4.plugin.nevisidm" level="debug" additivity="false">
<appender-ref ref="DEPLOYMENT" />
</logger>
<logger name="ch.nevis.admin.v4.plugin.monitoring" level="debug" additivity="false">
<appender-ref ref="DEPLOYMENT" />
</logger>
</included>
Logging of Application Metrics
To display information about job execution and RAM usage, you can add the following lines to the file logback.xml.
Application metrics log
<included>
<logger name="ch.nevis.admin.v4.core.common.util.Metrics" level="debug" additivity="false">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</logger>
</included>
Audit Log
The audit.log file tracks every modification request done via the REST API. This includes all modification operations done by users in the nevisAdmin 4 GUI, such as:
- creating projects and inventories,
- permission changes,
- updating patterns and variables,
- updating inventories, and
- deployment.
Example
The following log excerpt shows some typical activities:
/var/opt/nevisadmin4/logs/audit.log
2018-10-19 21:27:23,075 [qtp594858858-33] - admin, source=tenant(key=SIVEN): CreateTenantCommand
2018-10-19 21:27:25,081 [qtp594858858-33] - admin, source=project(key=SIVEN-WEBSHOP-MASTER): CreateProjectCommand
2018-10-19 21:27:25,160 [qtp594858858-21] - admin, source=inventory(key=SIVEN-INVENTORY-SIVEN): CreateInventoryCommand
2018-10-19 21:27:25,223 [qtp594858858-36] - admin, source=inventory(key=SIVEN-INVENTORY-SIVEN): UpdateInventoryContentCommand
2018-10-19 21:27:25,454 [qtp594858858-36] - admin, source=project(key=SIVEN-WEBSHOP-MASTER): UpsertProjectVariablesCommand
2018-10-19 21:27:25,900 [qtp594858858-14] - admin, source=project(key=SIVEN-WEBSHOP-MASTER),pattern(id=d3f51b1fcbd3eaf433588645): UpsertPatternCommand
2018-10-19 21:27:26,309 [qtp594858858-21] - admin, source=project(key=SIVEN-WEBSHOP-MASTER),pattern(id=6abafff4a15cd1c122d1e4f6): UpsertPatternCommand
2018-10-19 21:27:27,785 [qtp594858858-35] - admin, source=project(key=SIVEN-WEBSHOP-MASTER),pattern(id=bd73c0740ae895fc8ae722f9): UpsertPatternCommand
2018-10-19 21:31:54,637 [qtp594858858-20] - admin, source=deployment-run(id=ad2822662d84b54eda96408e): UpsertDeploymentRunCommand
2018-10-19 21:31:54,891 [qtp594858858-17] - admin, source=deployment-run(id=ad2822662d84b54eda96408e): StartDeploymentRunGenerationCommand
2018-10-19 21:31:57,456 [qtp594858858-20] - admin, source=deployment-run(id=ad2822662d84b54eda96408e): StartDeploymentPlanCommand
2018-10-19 21:32:03,478 [qtp594858858-33] - admin, source=deployment-run(id=ad2822662d84b54eda96408e): StartDeploymentDeployCommand
2018-10-19 21:32:42,327 [qtp594858858-33] - admin, source=deployment-run(id=ad2822662d84b54eda96408e): DeleteDeploymentRunCommand
Here are some hints on interpreting the log file. The hints refer to line 6:
- [qtp594858858-14]: The ID of the java thread that executed the operation.
- admin: The user who performed the operation.
- source: The primary object affected by the operation, such as project(key=SIVEN-WEBSHOP-MASTER) ,pattern(id=d3f51b1fcbd3eaf433588645).This means: The pattern with ID "d3f51b1fcbd3eaf433588645" in project "SIVEN-WEBSHOP-MASTER".
- UpsertPatternCommand: The operation that was executed (upsert means: Object created or updated).
Environment Configuration
Log related properties can be set in the environment configuration file env.conf. Any change requires the restart of nevisAdmin 4 to be effective.
The env.conf file can be found in the following location:
/var/opt/nevisadmin4/conf/env.conf
Property | Description | env.conf Default | Application Default |
---|---|---|---|
logback.includeConfigFile | Location of the logback.xml file. | /var/opt/nevisadmin4/conf/logback.xml | etc/logback.xml |
logdir | Directory where the log files are placed. | /var/opt/nevisadmin4/logs | logs |
logback.stdout.level | Log level of the standard output (console). | INFO | INFO |
root.level | Set the root log level. Effective for every package. Not advised to change it to DEBUG. Can produce 50Mb of logs in less than 1 minute. | - | INFO |
audit.level | Log level of the audit.log file. | - | INFO |