{{ t('System Health') }}

@if (systemHealth.state === 'ok') {
{{ t('System') }}
{{ t('Alright!') }}
{{ t('No issues detected. System operates normally.') }}
} @if (systemHealth.state === 'warning' || systemHealth.state === 'critical') {
    @if (!systemHealth.isNagiosRunning) {
  • {{ t('System') }}
    {{ t('Critical') }}
    {{ t('Monitoring engine is not running!') }}
  • } @if (!systemHealth.gearman_reachable) {
  • {{ t('System') }}
    {{ t('Critical') }}
    {{ t('Gearman job server not reachable!') }}
  • } @if (!systemHealth.gearman_worker_running) {
  • {{ t('System') }}
    {{ t('Critical') }}
    {{ t('Service gearman_worker is not running!') }}
  • } @if (systemHealth.isNdoInstalled && !systemHealth.isNdoRunning) {
  • {{ t('System') }}
    {{ t('Critical') }}
    {{ t('Database connector NDOUtils is not running!') }}
  • } @if (systemHealth.isStatusengineInstalled && !systemHealth.isStatusengineRunning) {
  • {{ t('System') }}
    {{ t('Critical') }}
    {{ t('Database connector Statusengine is not running!') }}
  • } @if (systemHealth.isStatusenginePerfdataProcessor && !systemHealth.isStatusengineRunning) {
  • {{ t('System') }}
    {{ t('Warning') }}
    {{ t('Performance data processer Statusengine is not running!') }}
  • } @if (!systemHealth.isStatusenginePerfdataProcessor && !systemHealth.isNpcdRunning) {
  • {{ t('System') }}
    {{ t('Warning') }}
    {{ t('Performance data processer NPCD is not running!') }}
  • } @if (!systemHealth.isOitcCmdRunning) {
  • {{ t('System') }}
    {{ t('Warning') }}
    {{ t('Service oitc_cmd is not running!') }}
  • } @if (!systemHealth.isWebsocketServerRunning) {
  • {{ t('System') }}
    {{ t('Warning') }}
    {{ t('Service openitcockpit-websocket is not running!') }}
  • } @if (!systemHealth.isNodeJsServerRunning) {
  • {{ t('System') }}
    {{ t('Warning') }}

    {{ t('Nodejs backend is not running') }}

  • } @if (systemHealth.load?.state !== 'ok') {
  • {{ t('System') }}
    {{ systemHealth.load?.state === 'critical' ? t('Critical') : t('Warning') }}
    {{ t('Current CPU load is too high!') }} {{ systemHealth.load?.load1 }} , {{ systemHealth.load?.load5 }}, {{ systemHealth.load?.load15 }}
  • } @if (systemHealth.memory_usage && systemHealth.memory_usage.memory.state !== 'ok') {
  • {{ t('System') }}
    {{ systemHealth.memory_usage.memory.state === 'critical' ? t('Critical') : t('Warning') }}
    {{ t('High memory usage') }}: Memory {{ systemHealth.memory_usage.memory.percentage }}%
  • } @if (systemHealth.memory_usage && systemHealth.memory_usage.swap.state !== 'ok') {
  • {{ t('System') }}
    {{ systemHealth.memory_usage.swap.state === 'critical' ? t('Critical') : t('Warning') }}
    {{ t('High memory usage') }}: Swap {{ systemHealth.memory_usage.swap.percentage }}%
  • } @for (disk of systemHealth.disk_usage; track disk) { @if (disk.state !== 'ok') {
  • {{ t('System') }}
    {{ disk?.state === 'critical' ? t('Critical') : t('Warning') }}
    {{ ( 'Low disk space left for mountpoint:' ) }}: {{ disk?.mountpoint || disk?.disk }}
    {{ disk?.use_percentage }}%
  • } } @if (systemHealth.isDistributeModuleInstalled && !systemHealth.isNstaRunning) {
  • {{ t('System') }}
    {{ t('Warning') }}
    {{ t('Service NSTA is not running!') }}
  • }
} @if (systemHealth.state === 'unknown') {
    @if (!systemHealth.isNagiosRunning) {
  • {{ t('System') }}
    {{ t('Unknown') }}
    {{ t('Could not detect system health status.') }}
  • }
} @if (PermissionsService.hasPermissionObservable(['systemHealthUsers', 'index'])|async) {
{{ t('Last update') }}: {{ systemHealth.update }}
} @else {
{{ t('Last update') }}: {{ systemHealth.update }}
}
@if ( (PermissionsService.hasModuleObservable('DistributeModule') | async) && (systemHealth.satellites ?? []).length > 0 ) {

{{ t('Satellites Health') }}

@if (systemHealth.satellites_state === 'warning' || systemHealth.satellites_state === 'critical') {
    @for (satellite of systemHealth.satellites; track satellite) { @if (satellite.satellite_status) { @if (satellite.satellite_status.status !== 1) {
  • {{ satellite.name }}
    {{ satellite.satellite_status.status === 2 ? t('Critical') : t('Warning') }}
    {{ t('Sync failed') }}
    @if (satellite.satellite_status.last_seen) {
    {{ t('last seen') }} : {{ satellite.satellite_status.last_seen }}
    }
  • } } @if (satellite?.satellite_information && systemHealth.satellites_state) { @let satelliteSystemHealth = satellite.satellite_information.system_health; @if (satelliteSystemHealth?.cpu_state && satelliteSystemHealth.cpu_state !== 'ok') {
  • {{ satellite.name }}
    {{ satelliteSystemHealth?.cpu_state === 'critical' ? t('Critical') : t('Warning') }}
    {{ t('High CPU usage') }}
  • } @if (satelliteSystemHealth?.memory?.memory && satelliteSystemHealth.memory.memory.state !== 'ok') {
  • {{ satellite.name }}
    {{ satelliteSystemHealth?.memory?.memory?.state === 'critical' ? t('Critical') : t('Warning') }}
    {{ t('High memory usage') }}: Memory {{ satelliteSystemHealth?.memory?.memory?.percentage }} %
  • } @if (satelliteSystemHealth?.memory?.swap && satelliteSystemHealth?.memory?.swap?.state !== 'ok') {
  • {{ satellite.name }}
    {{ satelliteSystemHealth?.memory?.swap?.state === 'critical' ? t('Critical') : t('Warning') }}
    {{ t('High memory usage') }} : Swap {{ satelliteSystemHealth?.memory?.swap?.percentage }} %
  • } @if (satelliteSystemHealth?.disks) { @for (disk of satelliteSystemHealth?.disks; track disk) { @if (disk.state !== 'ok') {
  • {{ satellite.name }}
    {{ disk?.state === 'critical' ? t('Critical') : t('Warning') }}
    {{ t('Low disk space') }}: {{ disk?.mountpoint || disk?.disk }}
    {{ disk?.use_percentage }}%
  • } } } } }
} @else if (systemHealth.satellites_state === 'ok') {
{{ t('Satellites Health') }}
{{ t('Alright!') }}
{{ t('No issues detected. Satellites Health operates normally.') }}
} @if (systemHealth.satellites_state === 'unknown') {
    @if (!systemHealth.isNagiosRunning) {
  • {{ t('Satellites') }}
    {{ t('Unknown') }}
    {{ t('Could not detect satellites health status.') }}
  • }
} @if (PermissionsService.hasPermissionObservable(['systemHealthUsers', 'index'])|async) {
{{ t('Last update') }}: {{ systemHealth.update }}
} @else {
{{ t('Last update') }}: {{ systemHealth.update }}
}
}