Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
Column
width50%
Panel
borderColor#CCCCCC
bgColor#FFFFFF
titleBGColor#F0F0F0
borderStylesolid
titleOn the page:

Table of Contents

 

Column

 

General information

The web interface of the self-diagnostics service is available for monitoring the system statuses and analyzing its performance.

Access to the self-diagnostics service

To go to the monitoring interfaceTo view the system status data, do the following:

    Go to
  1. Open the web
  2. interface of the self-diagnostics service:
  3. browser.
  4. In the address line, enter: http://127.0.0.1:20040/
  5. .
    Image Removed
  6. .
  7. Click the Enter button.

Interface and queries execution

The service interface allows viewing metrics as a table or graphs. To run a query, do the following:

  1. Select the

  2. required
  3. metric

  4. in
  5. from the drop-down list

  6. (
  7. 1

  8. )
  9. or enter the query manually in the Expression field.

  10. Expandtitle Description of useful metrics
  11. You can:

    1. Use several metrics at a time. The system has the following available metrics:

      Metric

      Description

      ALERTS_FOR_STATE

  12. Troubleshooting by the self-diagnostics service
    1. Found and fixed malfunctions. Contains the alertname parameter with the problem type.

      Code Block
      languagego
      titleExample
      ALERTS_FOR_STATE{alertname="ipint_is_not_activated",ep_name="hosts/Server1/DeviceIpint.99",instance="127.0.0.1:20108",job="ngp_exporter",ngp_alert="true"}
  13. Possible values
    1. Decryption of the alertname

  14. parameter
    1. values (see General information about the self-diagnostics service) for the ALERTS_FOR_STATE metric:

      • low_os_memory
  15. out
      • —out of RAM
  16. ;
      • .
      • ipint_is_not_activated
  17. camera
      • —camera is connected, but
  18. does not send data;
      • there is no data from it.
      • no_samples_in_detector
  19. no
      • —no events from
  20. a detection tool;
      • the detector.
      • restart_services_when_archive_source_not_activated—the archive
  21. is not working;
      • recording isn't working.
      • restart_services_when_no_samples_in_archive
  22. recording
      • —recording to archive with 0
  23. FPS;
      • fps.
      • restart_services_when_no_ping_from_detector_to_archive
  24. no
      • —no recording to the archive
  25. on an
      • at the event from
  26. a detection tool;
      • the detector.
      • logs_disk_space_is_low / db_disk_space_is_low
  27. out
      • —out of system disk space.

      ngp_archive_channel_fps

      The frame rate of all

  28. video
    1. cameras when recording to the archive

      ngp_archive_volume_size

      The current total size of the archive (in bytes)

      ngp_cpu_total_usage

      The

  29. percentage of
    1. CPU load

  30. on a Server
    1. of the server

      ngp_fps

      The frame rate of all

  31. Server
    1. server cameras,

  32. all detection tools
    1. detectors and

  33. their

    Filtering by any of the parameters. For example, a query like

    Code Block
    1. decoders

  34. The request allows for:

  35. Using multiple metrics.

  36. Using expressions to find problems. For example, a query like ngp_fps <17 will return all metrics, where FPS is less than 17. For a complete list of logical and arithmetic operators, see the official Prometheus documentation.  

    1. ngp_people_count

      The last captured number of people in the frame by the Crowd estimation VA detector

      ngp_errors

      Number of errors in the detectors' operation:

      ngp_skipped_pp

      Number of missed frames by the Crowd estimation VA detector due to the lack of resources for processing

    2. Apply logic and arithmetic operators for anomaly searching. The full list of logic and arithmetic operators is specified in the official Prometheus documentation.
      Code Block
      languagego
      titleExample. All metrics where fps is less than 17
      ngp_fps < 17
    3. Faltering by metrics parameters using curly brackets.
      Code Block
      languagego
      titleExample. Fps values only for the specified source
    1. ngp_fps{ep_name=~"hosts/TEST/DeviceIpint.2/SourceEndpoint.video:0:0"}
  37. will return FPS values only for the specified source.
    1. Image Added
  38. If necessary, set the time range for the data.
  39. Click the Execute button.

Viewing results:

  • The Console tab displays the current metrics values in the table format.
    Image Added
    When you specify the date and time in the calendar, the data is updated.
    Image Added
  • On the Graph tab you can create the graph of selected metrics at the specified period.
    • The 1 field—sets the graph time interval.
    • The 2 field—specifies the end graph point.
    • The 3 field—sets the interval between data points.
    • The 4 checkbox—enables the display mode with accumulation (filling the areas under the graph).
      Image Added

Examples of useful queries for Windows OS

...

  1. The CPU loading graph
  2. similar to
  3. (analog of the
  4. Windows
  5. System monitor):
    Code Block
    languagego
    sum by (process_id) (100 / scalar(wmi_cs_logical_processors) * (irate(wmi_process_cpu_time_total{process="AppHost"}[10m]))) or ngp_cpu_total_usage
  6. The graph of
  7. RAM usage by
  8. the
  9. the AppHost processes and a total memory space:
    Code Block
    languagego
    sum by (process_id) (avg_over_time(wmi_process_working_set{process="AppHost"}[5m])) / 1024 or avg_over_time(wmi_os_virtual_memory_bytes[5m]) / 1024
  10. The percentage of RAM usage:
    Code Block
    100.0 - 100 * avg_over_time(wmi_os_virtual_memory_free_bytes[5m]) / avg_over_time(wmi_os_virtual_memory_bytes[5m])

Examples of useful queries for Linux OS

...

When you set a date and time in your calendar, the data is updated.
Image Removed

...

  1. The
  2. graph of
  3. total RAM usage by
  4. the
  5. the AppHost processes:
    Code Block
    languagego
    sum by (groupname) (namedprocess_namegroup_memory_bytes{memtype="resident"})
  6. The percentage of RAM usage:
    Code Block
    languagego
    100 - node_memory_MemAvailable_bytes * 100 / node_memory_MemTotal_bytes
  7. The
  8. graph of the
  9. CPU load by
  10. the
  11. the AppHost processes as a percentage:
    Code Block
    sum by (object_id) (rate(namedprocess_namegroup_cpu_seconds_total{groupname="AppHost"}[1m])) * 100
  12. The
  13. graph of the
  14. total CPU load
  15.  as
  16. as a percentage:
    Code Block
    languagego
    100 * avg without (cpu) (1 - rate(node_cpu_seconds_total{mode="idle"}[1m]))
  17. The graph of
  18. RAM usage by
  19. the
  20. the AppHost processes to
  21. determine
  22. detect the memory leak:
    Code Block
    languagego
    namedprocess_namegroup_memory_bytes{object_id=~"APP_HOST.*",memtype="proportionalResident"}
  23. Click the Execute button (2).

...