SOT
    • Introduction
    • User manual
      • Event type
      • Subscription
      • Recipient
      • Notification settings
    • Operations manual
      • Overview
      • System architecture and interfaces
      • System requirements
        • notification-service/notification-service
      • Migration from previous versions
      • Setup and configuration
        • notification-service/notification-service
      • Start and shutdown
      • Regular operations
      • Failure handling
      • Backup and restore
      • Logging and monitoring
      • Known limitations
      • Service account role grants
    • Developer documentation
      • Concepts
      • How-to
    • API documentation
    • Glossary
Notification Service
  • Smart Operations Toolkit
    • Deviation Processor
    • Multitenant Access Control
    • Notification Service
    • Ticket Management
    • Web Portal
  • Shopfloor Management
    • Andon Live
    • KPI Reporting
    • Operational Routines
    • Shift Book
    • Shopfloor Management Administration
  • Product & Quality
    • Process Quality
    • AI Services
  • Machine & Equipment
    • Condition Monitoring
    • Device Portal
  • Enterprise & Shopfloor Integration
    • Information Router
    • Master Data Management

SOT Learning Portal

  • Notification Service
  • Operations manual
  • Logging and monitoring
preview 1.33 1.32

Logging and monitoring

Logging

In Nexeed IAS all logs are logged by our application to stdout and then saved in dockers log directory on the host machine (=VM, […​]).

Filebeat collects these, parses them (JSON, when Logging guidelines are implemented in all IAS Modules) and forwards them to elasticsearch.

LogLevel configuration

Notification Service uses the standard ASP.NET Core logging configuration path Logging:LogLevel.

The default logger levels are:

  • Default → Warning (guideline level: WARN)

  • SECURITY → Information (guideline level: INFO)

  • LIFE-CYCLE → Information (guideline level: INFO)

The SECURITY and LIFE-CYCLE logger levels are explicitly configured in appsettings and aligned with the logging guideline requirement for these logger categories.

Example:

"Logging": {
	"LogLevel": {
		"Default": "Warning",
		"SECURITY": "Information",
		"LIFE-CYCLE": "Information"
	}
}

At service startup, the Foundation logging component validates the configured levels for SECURITY and LIFE-CYCLE. If one of these critical loggers is configured to a value other than INFO, a warning is written to the SECURITY logger with event UNSECURE_LOG_CONFIG and this message pattern:

Configured LogLevel for <LOGGER> is <CURRENT_LOGLEVEL>; expected INFO to ensure that security-relevant events are always recorded.

Database migration logging

Database migration logs are now managed through lifecycle logging, ensuring structured and consistent tracking of migration events. These logs provide visibility into the migration process, helping to confirm successful updates or diagnose failures. The following lifecycle log events are recorded:

DATA_MIGRATION_STARTED: Logged at the start of the migration process. DATA_MIGRATION_SUCCESSFUL: Logged upon successful completion of the migration. DATA_MIGRATION_FAILED: Logged when a migration fails, including error details.

Application Performance Monitoring (APM)

Application Performance Monitoring possibilities need to be activated during deployment to be able to make use of it.

Notification Service’s HELM chart references Nexeed global configuration values for configuration of APM. These are described in the IAS operations manual.

Metrics

A metric is a single measurement at a specific point in time. It can be enriched with more information but quickly turnes then more into an event than in a metric.

Examples for metrics are:

  • CPU Load (load: 5%)

  • Memory consumption (memory.used: 500mb)

  • Disk usage (disk.usage: 90%)

  • Network usage (network.usage : 5000bytes/s)

Notification Service provides following metrics:

  • HTTP Server metrics (via System.Net.Http)

  • Runtime Metrics (via OpenTelemetry.Instrumentation.Runtim)

Tracing

A trace represents the path of a request through a software system. This path contains many single steps that are executed within an application.

Contents

© Robert Bosch Manufacturing Solutions GmbH 2023-2026, all rights reserved

Changelog Corporate information Legal notice Data protection notice Third party licenses