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

 

Viewing metrics

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. You can:

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

      Metric

      Description

      ALERTS_FOR_STATE

  10. 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"}
  11. Possible values
    1. Decryption of the alertname

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

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

      ngp_archive_channel_fps

      The frame rate of all

  20. 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

  21. percentage of
    1. CPU load

  22. on a Server
    1. of the server

      ngp_fps

      The frame rate of all

  23. Server
    1. server cameras,

  24. all detection tools
    1. detectors and

  25. their
    1. decoders

  26. The request allows for:

  27. Using multiple metrics.

  28. 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
  29. Filtering by any of the parameters. For example, this query will return FPS
    1. values only for the specified source
  30. :code
    1. ngp_fps{ep_name=~"hosts/TEST/DeviceIpint.2/SourceEndpoint.video:0:0"}
  31. Click on
    1. Image Added
  32. If necessary, set the time range for the data.
  33. Click the Execute button

  34. (2)
  35. .

...

Viewing results:

  • The Console tab displays

...

  • the current metrics values in the table format.
    Image Modified
    When you

...

  • specify the date and time in

...

  • the calendar, the data is updated.
    Image Modified

...

  • 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 Modified

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

  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 as a percentage:
    Code Block
    languagego
    100 * avg without (cpu) (1 - rate(node_cpu_seconds_total{mode="idle"}[1m]))
  15. The graph of
  16. RAM usage by
  17. the
  18. the AppHost processes to
  19. determine
  20. detect the memory leak:
    Code Block
    languagego
    namedprocess_namegroup_memory_bytes{object_id=~"APP_HOST.*",memtype="proportionalResident"}