Конфигурация¶
listen: :18920 # (1)!
log_json_output: false # (2)!
log_level: INFO # (3)!
cfg_handler_token: '**********' # (4)!
base_timezone: Europe/Moscow # (5)!
blob_storage: # (6)!
type: webdav # (7)!
s3: null # (8)!
webdav: # (9)!
upload_url: http://127.0.0.1:3333/uploads # (10)!
http_client_config: # (11)!
base_url: '' # (12)!
cache: # (13)!
cacheable_methods: # (14)!
- GET
cacheable_status_codes: # (15)!
- 200
- 203
- 300
- 301
- 308
enabled: false # (16)!
global_ttl_sec: null # (17)!
limits: # (18)!
keepalive_expiry: 5.0 # (19)!
max_connections: 100 # (20)!
max_keepalive_connections: 20 # (21)!
retries: # (22)!
backoff_factor: 0.1 # (23)!
enabled: false # (24)!
jitter_ratio: 0.1 # (25)!
max_attempts: 3 # (26)!
max_backoff_wait: 10.0 # (27)!
timeout: 30
blob_storage_owner_prefix: fs_trash # (28)!
car_analyze_config: # (29)!
bbox_offset_threshold: 0.7 # (30)!
car_det_name: car # (31)!
car_detection_score_threshold: 0.8 # (32)!
cutoff_points: # (33)!
- key: rubbish_collector_in # (34)!
max_sec: 1800 # (35)!
min_sec: 30 # (36)!
rule: # (37)!
field_key: is_rubbish_collector # (38)!
field_value: true
send_if_exceeded: true # (39)!
- key: possible_waste_disposal # (40)!
max_sec: 600 # (41)!
min_sec: 30 # (42)!
rule:
field_key: is_rubbish_collector # (43)!
field_value: false
send_if_exceeded: false # (44)!
- key: dumpster_enclosure_parking # (45)!
max_sec: 7200 # (46)!
min_sec: 601 # (47)!
rule:
field_key: is_rubbish_collector # (48)!
field_value: false
send_if_exceeded: true # (49)!
f_car_license_plate: car_license_plate # (50)!
f_car_license_plate_min_confidence: 0.35 # (51)!
f_car_special_types: car_special_types11 # (52)!
f_car_trash: car_trash # (53)!
car_events_config: # (54)!
create_without_license_plate: true
appointment: None
cutoff_keys_to_alarm_name_mapping:
dumpster_enclosure_parking: Стоянка транспортного средства в зоне контейнерной
площадки
possible_waste_disposal: Возможный выброс мусора из транспортного средства
rubbish_collector_in: Появление мусоровоза
cutoff_keys_to_category_mapping:
dumpster_enclosure_parking: Парковка
possible_waste_disposal: Выброс мусора
rubbish_collector_in: Появление мусоровоза
cutoff_keys_to_comment_mapping:
dumpster_enclosure_parking: Стоянка в зоне КП запрещена
possible_waste_disposal: Возможный выброс мусора из транспортного средства
rubbish_collector_in: Появление мусоровоза
trash_car_appointment: None
car_shots_topics: # (55)!
- tbo_cars
dumpster_enclosure_statuses: # (56)!
bboxes: # (57)!
dumpster:
color: '#900020' # (58)!
width: 3 # (59)!
dumpster_enclosure:
color: '#0000FF'
width: 5
garbage:
color: '#1E5945'
width: 3
custom_red_rules:
rule1:
- dumpster_overfilled
- rubbish_heaps
enabled: true
substatuses:
container_damaged_or_lying:
enabled: true
evaluator_func: _calculate_container_damaged_or_lying
evaluator_kwargs: {}
green_value: 0.0
name: Перевернутость или поврежденность контейнеров
red_value: 0.2
yellow_value: 0.2
email_reports: # (60)!
mail_server_config: # (61)!
MAIL_DEBUG: 0 # (62)!
MAIL_FROM: e@mail.com # (63)!
MAIL_FROM_NAME: null # (64)!
MAIL_PASSWORD: change_me # (65)!
MAIL_PORT: 587 # (66)!
MAIL_SERVER: server # (67)!
MAIL_SSL_TLS: false # (68)!
MAIL_STARTTLS: true # (69)!
MAIL_USERNAME: change_me # (70)!
SUPPRESS_SEND: 0 # (71)!
TEMPLATE_FOLDER: null # (72)!
TIMEOUT: 60 # (73)!
USE_CREDENTIALS: true # (74)!
VALIDATE_CERTS: true # (75)!
rules: {} # (76)!
cleaner_count_events_ttl_days: 30 # (77)!
media_source_provider: # (78)!
api_gateway_api_version: v1
base_url: http://127.0.0.1:18800 # (79)!
cache: # (80)!
cacheable_methods: # (81)!
- GET
cacheable_status_codes: # (82)!
- 200
- 203
- 300
- 301
- 308
enabled: true # (83)!
global_ttl_sec: 3600 # (84)!
limits: # (85)!
keepalive_expiry: 5.0 # (86)!
max_connections: 100 # (87)!
max_keepalive_connections: 20 # (88)!
retries: # (89)!
backoff_factor: 0.1 # (90)!
enabled: false # (91)!
jitter_ratio: 0.1 # (92)!
max_attempts: 3 # (93)!
max_backoff_wait: 10.0 # (94)!
service_prefix: msp
timeout: 30
internal_auth: null
public_auth:
device_id: fs_netris_tbo
password: '**********'
username: admin
functional_solution_id: trash # (95)!
graph_max_monitoring_events_count: 1000 # (96)!
http_client_limits: # (97)!
keepalive_expiry: 5.0 # (98)!
max_connections: 100 # (99)!
max_keepalive_connections: 20 # (100)!
imager_base_url: http://127.0.0.1:18777 # (101)!
imager_bbox_style: # (102)!
car: # (103)!
color: '#77f20e' # (104)!
fill_color: null # (105)!
width: 3 # (106)!
car_polygon_style: # (107)!
color: '#890ef2'
fill_color: '#E7CEFC35'
width: 2
dumpster: # (108)!
color: '#00cd00'
fill_color: null
width: 3
dumpster_enclosure: # (109)!
color: '#7F00FF'
fill_color: null
width: 5
garbage: # (110)!
color: '#ff0000'
fill_color: null
width: 3
license_plate: # (111)!
color: '#490948'
fill_color: null
width: 2
snow_pile: # (112)!
color: '#00406b'
fill_color: null
width: 3
imager_secret_key: '**********' # (113)!
kafka_group_id: fs_trash_cg # (114)!
kafka_url: 127.0.0.1:9092 # (115)!
main_api_client_config: # (116)!
base_url: http://127.0.0.1:18800 # (117)!
cache: # (118)!
cacheable_methods: # (119)!
- GET
cacheable_status_codes: # (120)!
- 200
- 203
- 300
- 301
- 308
enabled: false # (121)!
global_ttl_sec: null # (122)!
limits: # (123)!
keepalive_expiry: 5.0 # (124)!
max_connections: 100 # (125)!
max_keepalive_connections: 20 # (126)!
retries: # (127)!
backoff_factor: 0.1 # (128)!
enabled: false # (129)!
jitter_ratio: 0.1 # (130)!
max_attempts: 3 # (131)!
max_backoff_wait: 10.0 # (132)!
api_gateway_api_version: v1 # (133)!
internal_auth: # (134)!
internal_api_token: '**********' # (135)!
main_api_url: http://127.0.0.1:18600 # (136)!
main_api_prefix: main-api # (137)!
public_auth: # (138)!
device_id: fs_3_tbo
password: '**********'
username: admin
timeout: 30
models_naming: # (139)!
dumpster_broken_lying_attr: dumpster_types22
dumpster_det: dumpster
mongo_connection_str: mongodb://127.0.0.1:27017 # (140)!
mongo_db_name: fs_trash # (141)!
cleaner_count_events_ttl_days: 30 # (142)!
cleaner_count_monitoring_events_ttl_days: 30 # (143)!
cleaner_count_images_ttl_hours: 720 # (144)!
notifier_config: # (145)!
car_msg_type: fs_trash_car
kafka_topic: notifier_topic
kafka_url: 127.0.0.1:9092
monitoring_msg_type: fs_trash_monitoring
violation_msg_type: fs_trash_violation
pending_car_event_lifetime_sec: 600 # (146)!
prescription_config: # (147)!
font: Arial
max_prescription_data_size: 1000
text_font_size: 12
title: ПРЕДПИСАНИЕ
title_font_size: 16
reporter_cg: trash_reporter_cg # (148)!
reporter_topic: trash_reporter # (149)!
tbo_heuristics: # (150)!
bottom_container_coefficient: 0.5
dumpster_broken_attr_confidence: 0.5
test_mode: false # (151)!
trash_shots_topics: # (152)!
- trash
ui_config: {} # (153)!
violation_messages_config: # (154)!
enabled: true
message_ttl_days: 0
violations:
container_damaged_or_lying:
category: Ремонт/Замена контейнера
comment: Обеспечить замену контейнера
destination: ro
enabled: true
evaluator_func: _handle_container_damaged_or_lying
evaluator_kwargs: {}
interval_seconds: 86400
name: Контейнер поврежден или перевернут
value: 1.0
imager_bbox_style:
car:
color: '#77f20e'
fill_color: null
property_styles: null
width: 3
car_polygon_style:
color: '#890ef2'
fill_color: '#E7CEFC35'
property_styles: null
width: 2
dumpster:
color: '#00cd00'
fill_color: null
property_styles:
- color: '#00cd00'
fill_color: null
properties:
dumpster_type: regular
width: 3
- color: '#02780a'
fill_color: null
properties:
dumpster_type: grid
width: 3
- color: '#014206'
fill_color: null
properties:
dumpster_type: large
width: 3
width: 3
dumpster_enclosure:
color: '#7F00FF'
fill_color: null
property_styles: null
width: 5
fire:
color: '#ed7b09'
fill_color: null
property_styles: null
width: 3
garbage:
color: '#ff0000'
fill_color: null
property_styles:
- color: '#101c29'
fill_color: null
properties:
garbage_type: kgo
width: 3
- color: '#082567'
fill_color: null
properties:
garbage_type: tbo
width: 3
- color: '#964b00'
fill_color: null
properties:
garbage_type: street_garbage
width: 3
- color: '#ccff00'
fill_color: null
properties:
garbage_type: debris
width: 3
width: 3
license_plate:
color: '#490948'
fill_color: null
property_styles: null
width: 2
snow_pile:
color: '#00406b'
fill_color: null
property_styles: null
width: 3
trash_bin:
color: '#ccccff'
fill_color: null
property_styles: null
width: 3
visible_gas:
color: '#826345'
fill_color: null
property_styles: null
width: 3
msp_integration_id: '000000000000000000000000'
- Адрес, на котором будет слушать сервер
- Уровень логирования
- Включение вывода логов в JSON-формате
- Токен для получения конфигурации сервиса в API
- Временная зона для отображения даты и времени в файле отчета
- Настройки подключения к хранилищу объектов (изображений, файлов)
- Тип хранилища объектов. Поддерживаются WebDAV и S3, выбрать можно только один
- Настройки S3-хранилища. Указывается, если
type: s3 - Настройки WebDAV-хранилища
- Адрес, с которым будет работать WebDAV-клиент
- Настройки WebDAV-клиента
- Адрес подключения к внешнему сервису
- Настройки кэширования
- Методы, которые будут кэшироваться
- HTTP-статусы, которые будут кэшироваться
- Включение/отключение кэширования
- Глобальное время жизни кэша в секундах
- Лимиты HTTP-клиента
- Время жизни keep-alive
- Максимальное число подключений
- Максимальное число keep-alive подключений
- Настройки повторения запросов при ошибках
- Динамика роста времени между попытками
- Включение/отключение повторов
- Настройки jitter
- Максимальное число попыток
- Максимальное время ожидания между попытками
- Префикс для всех путей к файлам (на практике отдельная папка), который функциональное решение будет использовать в хранилище. Необходим, чтобы разделить данные между функциональными решениями и платформой. На практике необходимо менять, когда есть несколько экземпляров одного функционального решения
- Настройки правил определения транспортных средств
- Минимальный процент пересечения bbox транспортных средств на двух кадрах, чтобы считать, что это одно и то же транспортное средство
- Название используемого детектора для транспортных средств
- Минимальное значение уверенности детектора при распознавании транспортных средств
- Интервалы для анализа стоянки транспортных средств. Позволяют задать минимальное и максимальное время наблюдения транспортного средства в размеченной зоне, настроить для правил фильтры по атрибутам и условия создания событий при превышении времени нахождения транспортного средства в зоне
- Определение появления мусоровозов
- Максимальное время отслеживания транспортного средства
- Минимальное время отслеживания транспортного средства
- Правила для отслеживания транспортных средств и создания событий по ним
- Отслеживать только транспортные средства с атрибутом
is_rubbish_collector=true - Создавать событие по истечении
max_secнахождения транспортного средства в зоне - Определение выброса мусора
- Максимальное время отслеживания транспортного средства
- Минимальное время отслеживания транспортного средства
- Правило отслеживания применяется ко всем транспортным средствам
- Не создавать событие по истечении
max_secнахождения транспортного средства в зоне - Определение транспортных средств, припаркованных вблизи мусорных контейнеров
- Максимальное время отслеживания транспортного средства
- Минимальное время отслеживания транспортного средства
- Правило отслеживания применяется ко всем транспортным средствам
- Создавать событие по истечении
max_secнахождения транспортного средства в зоне - Название атрибута (экстрактора) ГРЗ транспортного средства
- Минимальный confidence ГРЗ
- Название атрибута (экстрактора) определения типа транспортного средства
- Название атрибута определения мусоровоза
- Тексты для событий с транспортными средствами, отображаются в пользовательском интерфейсе
- Название топика в Kafka, с которого будут считываться сообщения, относящиеся к аналитике транспортных средств. Должно быть идентично идентификатору REST-ресурса функционального решения по аналитике транспортных средств. На практике необходимо менять, когда есть несколько экземпляров одного функционального решения
- Статусы контейнерных площадок
- Настройки bbox для разных типов объектов
- Шестнадцатеричное представление цвета линий
- Ширина линий
- Настройка для отправки отчета о статусах КП на электронную почту
- Конфигурация почтового клиента
- Включение/выключение режима дебага
- Почтовый адрес, куда будет отправлено письмо
- Название темы email-писем
- Пароль для подключения к почтовому серверу
- Порт, используемый для подключения к почтовому серверу
- Адрес почтового сервера
- Включение/выключение SSL/TLS соединения
- Команда, используемая для информирования почтового сервера о том, что почтовый клиент хочет перейти с небезопасного соединения на безопасное с использованием TLS или SSL
- Логин для подключения к серверу
- Поддержка сжатия
- Путь к файлу с HTML-шаблоном Jinja2. Используется для генерации HTML-письма с помощью шаблонизатора Jinja2
- Таймаут отправки письма
- Использование логина и пароля при отправке писем
- Проверка сертификатов сервера при отправке
- Правила, на основе которых будут формироваться отчеты
- Время жизни событий в MongoDB. Не затрагивает хранилище изображений
- Настройка подключения к сервису
external-camera-provider - Адрес подключения к внешнему сервису
- Настройки кэширования
- Методы, которые будут кэшироваться
- HTTP-статусы, которые будут кэшироваться
- Включение/отключение кэширования
- Глобальное время жизни кэша в секундах
- Лимиты HTTP-клиента
- Время жизни keep-alive
- Максимальное число подключений
- Максимальное число keep-alive подключений
- Настройки повторения запросов при ошибках
- Динамика роста времени между попытками
- Включение/отключение повторов
- Настройки jitter
- Максимальное число попыток
- Максимальное время ожидания между попытками
- Идентификатор REST-ресурса функционального решения, с которым будет связан экземпляр функционального решения как программного продукта. На практике необходимо менять, когда есть несколько экземпляров одного функционального решения
- Отвечает за максимальное число событий мониторинга, которые будут учитываться при формировании точек графика в API-ресурсе
/graph. Сейчас ресурс/graphнигде не используется - Настройки HTTP-клиента
- Время жизни keep-alive соединения
- Максимальное число соединений
- Максимальное число keep-alive соединений
- Адрес сервиса отдачи бинарных данных. Используется, например, для формирования ссылки на изображения в файле отчета. На практике указывается внешний адрес компонента
nginx-routerплатформы. Компонентnginx-routerпроксирует запрос к сервисуblober - Настройки отрисовки bbox на изображениях
- Для транспортных средств
- Шестнадцатеричное представление цвета линий
- Шестнадцатеричное представление цвета заливки объектов.
nullозначает, что объекты не отрисовываются - Ширина линий
- Для зоны транспортных средств
- Для мусорных контейнеров
- Для контейнерной площадки
- Для мусора
- Для ГРЗ
- Для навала снега
- Секретный ключ для генерации ссылки на изображение. Необходимо взять значение из компонента
bloberплатформы - Адрес подключения к Kafka
- ID консьюмер-группы в Kafka
- Параметры клиента
main-apiдля подключения к платформе - Адрес подключения к внешнему сервису
- Настройки кэширования
- Методы, которые будут кэшироваться
- HTTP-статусы, которые будут кэшироваться
- Включение/отключение кэширования
- Глобальное время жизни кэша в секундах
- Лимиты HTTP-клиента
- Время жизни keep-alive
- Максимальное число подключений
- Максимальное число keep-alive подключений
- Настройки повторения запросов при ошибках
- Динамика роста времени между попытками
- Включение/отключение повторов
- Настройки jitter
- Максимальное число попыток
- Максимальное время ожидания между попытками
- Используемая версия API
- Настройки для внутреннего подключения. Используются только тогда, когда функциональное решение и
main-apiимеют сетевую связность. На практике функциональное решение "Мониторинг ТКО" внутренним подключением не пользуется - Токен для внутреннего подключения. Необходимо получить из компонента
main-apiплатформы - Адрес сервиса
main-api - Префикс, используемый для подключения к сервису
main-api - Настройки авторизации для функционального решения. От указанного здесь пользователя функциональное решение будет выполнять запросы по созданию процессингов. Необходимо, чтобы это был администратор административной организации
- Названия моделей, используемых в функциональном решении
- Адрес подключения к базе данных MongoDB
- Название базы данных для функционального решения. На практике необходимо менять, когда есть несколько экземпляров одного функционального решения
- Время жизни событий мониторинга в MongoDB для коллекции
events. Не затрагивает хранилище изображений. При значении0очистка не производится - Время жизни результатов подсчета в MongoDB для коллекции
monitoring. Не затрагивает хранилище изображений. При значении0очистка не производится - Время жизни результатов в хранилище изображений. Не затрагивает результаты подсчета в MongoDB. При значении
0очистка не производится notifier— это компонент платформы для отправки внешних уведомлений (сейчас Telegram и Webhook). Он читает топик Kafka и на основании типа сообщения отправляет тот или иной вид уведомления. Настройки вида и канала уведомления выполняются через API компонентаnotifier- Ожидаемое время, после которого будет зафиксировано присутствие или отсутствие транспортного средства возле КП
- Конфигурация предписания: используемый шрифт, размер шрифта, название заголовка предписания
reporter— sidecar-сервис функционального решения, формирующий XLSX/CVS-отчеты. Для него задаются топик и консьюмер-группа, куда отправляются запросы на формирование отчетов. На практике необходимо менять, когда есть несколько экземпляров одного функционального решения- Топик Kafka, из которого будут считываться данные
- Настройки эвристик
- Режим для автотестов, никогда не следует переключать на
true - Название топика в Kafka, из которого будут считываться сообщения, относящиеся к аналитике КП. Должно быть идентично идентификатору REST-ресурса функционального решения по аналитике КП. На практике необходимо менять, когда есть несколько экземпляров одного функционального решения
- Задается конфигурация фильтров для поиска в пользовательском интерфейсе: мониторинг, события, список КП
- Конфигурация сообщений о нарушениях на контейнерной площадке
Использование ui-config¶
В конфигурации функционального решения "Мониторинг ТКО" есть раздел ui-config, данные в котором управляют поведением пользовательского интерфейса.
Параметр display_events_video_tab¶
Включение отображения вкладки "Видео" в детальном представлении событий с транспортными средствами. Будет работать только при включении сервисов video-streamer и video-storage.
Параметр archive_lifetime_hours¶
Время хранения видеоархива в video-storage для отображения в интерфейсе. Должно быть идентичным времени жизни, настроенному в cron-задаче archive-syncer.
Параметр filters¶
Настройки фильтров, которые будут отображаться в интерфейсе. Здесь представлены фильтры для вкладок "Мониторинг", "События" и "Список КП". В данном разделе можно убрать поля фильтров, по которым не требуется выполнять поиск, возможно изменить значение параметров label, чтобы в пользовательском интерфейсе отображался заданный вами текст.
Параметр prescription¶
Настройки полей предписания. В разделе можно изменить порядок отображения строк, заголовки полей, также возможно убрать ненужные строчки во всплывающем окне предписания. Предписание выгружается в формате .docx. Для изменения названия полей необходимо отредактировать поле label.
Параметр substatuses_icons¶
Настройки иконок с подстатусами в списке событий. Иконки отображаются сразу под картинкой события и показывают значения подстатусов: "Контейнер поврежден или перевернут", "Контейнер вне зоны контейнерной площадки", "Контейнер переполнен", "Навалы мусора".
Параметр table_headers¶
Управляет текстами в заголовках таблиц на вкладках "Мониторинг", "События" и "Список КП". Можно отредактировать порядок отображения столбцов. Для изменения названия заголовков столбцов необходимо отредактировать поле value.
Ниже приведен сокращенный пример ui_config с пояснениями к полям. Полные настройки по умолчанию можно найти в helm-чартах.
ui_config: # (1)!
archive_lifetime_hours: 48 # (2)!
display_events_video_tab: true # (3)!
filters:
de: # (4)!
- desc: Район КП # (5)!
element: select_multiple_search # (6)!
label: Район # (7)!
name: district__in # (8)!
suggestion_query: de__district # (9)!
events: # (10)!
- desc: Район КП
element: select_multiple_search
label: Район
name: de__district__in
suggestion_query: de__district
- desc: Тип события
element: select
label: Тип события
name: alarm_name__in
suggestion_query: null
values: # (11)!
- value: Переполненность бака # (12)!
label: Переполненность бака # (13)!
- value: Переполненность бункера
label: Переполненность бункера
monitoring_events: # (14)!
- desc: Район КП
element: select_multiple_search
label: Район
name: de__district__in
suggestion_query: de__district
- desc: Статус контейнерной площадки
element: select
label: Статус КП
name: de_status__in
suggestion_query: null
values: # (15)!
- value: '1' # (16)!
label: Зелёный
color: '#32D74B' # (17)!
prescription: # (18)!
- desc: # (19)!
disabled: true # (20)!
element: input_text # (21)!
label: Идентификатор предписания # (22)!
name: prescription_id # (23)!
required: false # (24)!
substatuses_icons: # (25)!
container_damaged_or_lying: trash_icon
container_outside_the_area: outside_icon
dumpster_overfilled: xxl_icon
rubbish_heaps: mountains_icon
table_headers: # (26)!
de: # (27)!
- key: name
value: Название
events: # (28)!
- key: shot_bboxes
value: Фото
monitoring_events: # (29)!
- key: shot_bboxes
value: Кадр
- Задается конфигурация фильтров для поиска в пользовательском интерфейсе: мониторинг, события, список КП
- Время жизни видеоархива, в течение которого возможен просмотр видеозаписи с пользовательского интерфейса
- Включение/выключение вкладки видео, где возможен просмотр видеозаписи с участием транспортных средств
- Названия фильтров, по которым возможно выполнять поиск во вкладке "Список КП"
- Подсказка для поля фильтра. Текст отображается по умолчанию в поле фильтра
- Тип элемента фильтра. Элемент выбора с возможностью множественного выбора и поиска
- Название поля с фильтром. Этот текст отображается рядом с полем фильтра
- Имя параметра фильтра. Это имя используется для передачи значения фильтра в API серверной части системы
- Параметр запроса-подсказки, который передает указанное значение в API серверной части системы и возвращает список соответствий
- Название фильтров, по которым возможно выполнять поиск во вкладке "События"
- Ниже представлены параметры типа события
- Данное значение используется при отправке запросов на поиск в API серверной части системы
- Значение данного поля будет отображено внутри поля фильтра
- Название фильтров, по которым возможно выполнять поиск во вкладке "Мониторинг"
- Настройки отрисовки статусов КП
- Порядок отображения цветов в фильтре
- HEX-представление цвета линий
- Список фильтров, используемых для создания предписания
- Пустое поле. Сейчас не используется
- Это свойство указывает, что поле недоступно для редактирования
- Это свойство указывает, что поле предназначено для текстового ввода (input type="text")
- Заголовок поля с фильтром. Этот текст отображается рядом с полем фильтра
- Это свойство указывает имя поля
- Это свойство указывает, что поле не является обязательным для заполнения
- Иконки, используемые для отображения подстатусов контейнерной площадки
- Заголовки таблиц, используемые для короткого описания каждого события
- Описание заголовка для страницы "Список КП"
- Описание заголовка для страницы "События"
- Описание заголовка для страницы "Мониторинг"