Нужно ли выполнять какие-либо предварительные настройки на Camel, чтобы открыть MBeans для Camel Routes для целей мониторинга?

Я устанавливаю мониторинг уведомлений о предупреждениях для своих OSGI-контейнеров JBoss Fuse Karaf, используя Nagios Core 4.3.2. Jboss Fuse версии 6.3 поставляется с версией camel 2.17.

Мне нужно доложить о подсчетах на верблюжьих маршрутах. Я смог получить много информации о контейнере JBoss Fuse, КРОМЕ верблюжьих маршрутов. ???

Кажется, вы не знаете о MBeans для верблюжьих маршрутов?

нужно ли мне делать что-то особенное, чтобы открыть маршруты верблюдов в контейнере Jboss Fuse под JMX?

Я смог получить много мониторинга под Nagios для контейнера. список ниже. сейчас меня интересует только работа сервисов. Позже я хотел бы перейти на использование файлов конфигурации. Спасибо! Теперь ВСЕ ЭТО РАБОТАЕТ!!! Я просто не могу добраться до верблюжьих маршрутов mbeans ??? Просто хочу показать, что это не настройка nagios и т. д.

define command{
        command_name    check_local_container_heap_memory_usage
        command_line    $USER1$/check_jmx4perl --user $ARG1$ --password $ARG2$ --url $ARG3$ --mbean $ARG4$ --attribute $ARG5$ --path $ARG6$ --base $ARG7$ $ARG8$
        }

define command{
        command_name    check_remote_container_heap_available
        command_line    $USER1$/check_jmx4perl $ARG1$
        }

define command{
        command_name    check_local_container_broker_health
        command_line    $USER1$/check_jmx4perl --user $ARG1$ --password $ARG2$ --url $ARG3$ --mbean $ARG4$ --attribute $ARG5$ $ARG6$ $ARG7$
        }

define command{
        command_name    check_remote_container_broker_health
        command_line    $USER1$/check_jmx4perl $ARG1$ $ARG2$
        }
define command{
        command_name    check_local_container_thread_count
        command_line    $USER1$/check_jmx4perl --user $ARG1$ --password $ARG2$ --url $ARG3$ --mbean $ARG4$ --attribute $ARG5$ $ARG6
        }

define command{
        command_name    check_remote_container_thread_count
        command_line    $USER1$/check_jmx4perl $ARG1$ $ARG2$ $ARG3$
        }

define command{
        command_name    check_local_container_peak_thread_count
        command_line    $USER1$/check_jmx4perl --user $ARG1$ --password $ARG2$ --url $ARG3$ --mbean $ARG4$ --attribute $ARG5$ $ARG6
        }

define command{
        command_name    check_remote_container_peak_thread_count
        command_line    $USER1$/check_jmx4perl $ARG1$ $ARG2$ $ARG3$
        }

define command{
        command_name    check_local_container_non_heap_used
        command_line    $USER1$/check_jmx4perl --user $ARG1$ --password $ARG2$ --url $ARG3$ --mbean $ARG4$ --attribute $ARG5$ --path $ARG6$ --base $ARG7$ $ARG8$ $ARG9$
        }

define command{
        command_name    check_remote_container_non_heap_used
        command_line    $USER1$/check_jmx4perl $ARG1$ $ARG2$ $ARG3$
        }

#container uptime
define command{
        command_name    check_remote_container_uptime
        command_line    $USER1$/check_jmx4perl $ARG1$ $ARG2$ $ARG3$
        }

define command{
        command_name    check_local_container_uptime
        command_line    $USER1$/check_jmx4perl --user $ARG1$ --password $ARG2$ --url $ARG3$ --mbean $ARG4$ --attribute $ARG5$ $ARG6
        }
#Open File Descriptors
define command{
        command_name    check_remote_container_open_file_descriptors
        command_line    $USER1$/check_jmx4perl $ARG1$ $ARG2$ $ARG3$
        }

define command{
        command_name    check_local_container_open_file_descriptors
        command_line    $USER1$/check_jmx4perl --user $ARG1$ --password $ARG2$ --url $ARG3$ --mbean $ARG4$ --attribute $ARG5$ $ARG6
        }

define command{
        command_name    check_remote_container_context_state
        command_line    $USER1$/check_jmx4perl $ARG1$ $ARG2$ $ARG3$
        }

define command{
        command_name    check_local_container_context_state
        command_line    $USER1$/check_jmx4perl --user $ARG1$ --password $ARG2$ --url $ARG3$ --mbean $ARG4$ --attribute $ARG5$ --path $ARG6$ $ARG7$ $ARG8$
        }




define service{
       use                             generic-service
       host_name                       alphprdfuse1i
       service_description             Container PassThru Heap
       check_command                   check_nrpe!check_passthru_container_heap
       }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container IPRCMT1 Heap
        check_command                   check_nrpe!check_iprcmt1_container_heap
        }

define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container Delta MRO Heap
        check_command                   check_nrpe!check_deltamro_container_heap
        }

define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container Delta FADEC Heap
        check_command                   check_nrpe!check_deltafadec_container_heap
        }

define service{
       use                              generic-service
       host_name                        alphprdfuse1i
       service_description              Container PassThru Heap Available
       check_command                    check_nrpe!check_remote_container_heap_avail!-a '--user passthru --password B@dC0mpany --url http://localhost:9090/jolokia --mbean java.lang:type=Memory --attribute HeapMemoryUsage --path used --base java.lang:type=Memory/HeapMemoryUsage/max --critical :95'
       }

define service{
       use                              generic-service
       host_name                        alphprdfuse1i
       service_description              Container IPRCMT1 Heap Available
       check_command                    check_nrpe!check_remote_container_heap_avail!-a '--user iprcmtx --password G00gl3M3 --url http://localhost:9091/jolokia --mbean java.lang:type=Memory --attribute HeapMemoryUsage --path used --base java.lang:type=Memory/HeapMemoryUsage/max --critical :95'
       }

define service{
       use                              generic-service
       host_name                        alphprdfuse1i
       service_description              Container Delta MRO Heap Available
       check_command                    check_nrpe!check_remote_container_heap_avail!-a '--user deltamro --password F@c3B00k --url http://localhost:9092/jolokia --mbean java.lang:type=Memory --attribute HeapMemoryUsage --path used --base java.lang:type=Memory/HeapMemoryUsage/max --critical :95'
       }

define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container Delta FADEC Heap Available
        check_command                   check_nrpe!check_deltafadec_container_heap!-a '--user deltafadec --password B@dM0nk3y --url http://localhost:9093/jolokia --mbean java.lang:type=Memory --attribute HeapMemoryUsage --path used --base java.lang:type=Memory/HeapMemoryUsage/max --critical :95'
        }

define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container Delta FADEC Broker Health
        check_command                   check_nrpe!check_remote_container_broker_health!-a "--user deltafadec --password B@dM0nk3y --url http://localhost:9093/jolokia --mbean org.apache.activemq:type=Broker,brokerName=amq,service=Health --attribute CurrentStatus --string --critical" "Good"
        }

define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container Delta MRO Broker Health
        check_command                   check_nrpe!check_remote_container_broker_health!-a "--user deltamro --password F@c3B00k --url http://localhost:9092/jolokia --mbean org.apache.activemq:type=Broker,brokerName=amq,service=Health --attribute CurrentStatus --string --critical" "Good"
        }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container IPRCMT1 Broker Health
        check_command                   check_nrpe!check_remote_container_broker_health!-a "--user iprcmtx --password G00gl3M3 --url http://localhost:9091/jolokia --mbean org.apache.activemq:type=Broker,brokerName=amq,service=Health --attribute CurrentStatus --string --critical" "Good"
        }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container PassThru Broker Health
        check_command                   check_nrpe!check_remote_container_broker_health!-a "--user passthru --password B@dC0mpany --url http://localhost:9090/jolokia --mbean org.apache.activemq:type=Broker,brokerName=amq,service=Health --attribute CurrentStatus --string --critical" "Good"
        }

define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container PassThru Non-Heap-Memory
        check_command                   check_nrpe!check_remote_container_non_heap_used!-a '--user passthru --password B@dC0mpany --url http://localhost:9090/jolokia --mbean java.lang:type=Memory --attribute NonHeapMemoryUsage --path used --base java.lang:type=Memory/NonHeapMemoryUsage/committed --critical :95'
        }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container IPRCMT1 Non-Heap-Memory
        check_command                   check_nrpe!check_remote_container_non_heap_used!-a '--user iprcmtx --password G00gl3M3 --url http://localhost:9091/jolokia --mbean java.lang:type=Memory --attribute NonHeapMemoryUsage --path used --base java.lang:type=Memory/NonHeapMemoryUsage/committed --critical :95'
        }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container Delta MRO Non-Heap-Memory
        check_command                   check_nrpe!check_remote_container_non_heap_used!-a '--user deltamro --password F@c3B00k --url http://localhost:9091/jolokia --mbean java.lang:type=Memory --attribute NonHeapMemoryUsage --path used --base java.lang:type=Memory/NonHeapMemoryUsage/committed --critical :95'
        }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container Delta FADEC Non-Heap-Memory
        check_command                   check_nrpe!check_remote_container_non_heap_used!-a '--user deltafadec --password B@dM0nk3y --url http://localhost:9091/jolokia --mbean java.lang:type=Memory --attribute NonHeapMemoryUsage --path used --base java.lang:type=Memory/NonHeapMemoryUsage/committed --critical :95'
}

# Thread Count
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container PassThru Thread Count
        check_command                   check_nrpe!check_remote_container_thread_count!-a '--user passthru --password B@dC0mpany --url http://localhost:9090/jolokia --mbean java.lang:type=Threading --attribute ThreadCount --critical 90:200'
        }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container IPRCMT1 Thread Count
        check_command                   check_nrpe!check_remote_container_thread_count!-a '--user iprcmtx --password G00gl3M3 --url http://localhost:9091/jolokia --mbean java.lang:type=Threading --attribute ThreadCount --critical 90:200'
        }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container Delta MRO Thread Count
        check_command                   check_nrpe!check_remote_container_thread_count!-a '--user deltamro --password F@c3B00k --url http://localhost:9091/jolokia --mbean java.lang:type=Threading --attribute ThreadCount --critical 90:200'
        }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container Delta FADEC Thread Count
        check_command                   check_nrpe!check_remote_container_thread_count!-a '--user deltafadec --password B@dM0nk3y --url http://localhost:9091/jolokia --mbean java.lang:type=Threading --attribute ThreadCount  --critical 90:200'
}
#Peak Thread Count
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container PassThru Peak Thread Count
        check_command                   check_nrpe!check_remote_container_peak_thread_count!-a '--user passthru --password B@dC0mpany --url http://localhost:9090/jolokia --mbean java.lang:type=Threading --attribute PeakThreadCount --critical :250'
        }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container IPRCMT1 Peak Thread Count
        check_command                   check_nrpe!check_remote_container_peak_thread_count!-a '--user iprcmtx --password G00gl3M3 --url http://localhost:9091/jolokia --mbean java.lang:type=Threading --attribute PeakThreadCount --critical :250'
        }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container Delta MRO Peak Thread Count
        check_command                   check_nrpe!check_remote_container_peak_thread_count!-a '--user deltamro --password F@c3B00k --url http://localhost:9092/jolokia --mbean java.lang:type=Threading --attribute PeakThreadCount --critical :250'
        }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container Delta FADEC Peak Thread Count
        check_command                   check_nrpe!check_remote_container_peak_thread_count!-a '--user deltafadec --password B@dM0nk3y --url http://localhost:9093/jolokia --mbean java.lang:type=Threading --attribute PeakThreadCount --critical :250'
        }
#Container Uptime
#./check_jmx4perl --user passthru --password B@dC0mpany --url http://localhost:9090/jolokia --mbean java.lang:type=Runtime --attribute Uptime
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container PassThru Uptime
        check_command                   check_nrpe!check_remote_container_uptime!-a '--user passthru --password B@dC0mpany --url http://localhost:9090/jolokia --mbean java.lang:type=Runtime --attribute Uptime'
        }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container IPRCMT1 Uptime
        check_command                   check_nrpe!check_remote_container_uptime!-a '--user iprcmtx --password G00gl3M3 --url http://localhost:9091/jolokia --mbean java.lang:type=Runtime --attribute Uptime'
        }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container Delta MRO Uptime
        check_command                   check_nrpe!check_remote_container_uptime!-a '--user deltamro --password F@c3B00k --url http://localhost:9092/jolokia --mbean java.lang:type=Runtime --attribute Uptime'
        }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container Delta FADEC Uptime
        check_command                   check_nrpe!check_remote_container_uptime!-a '--user deltafadec --password B@dM0nk3y --url http://localhost:9093/jolokia --mbean java.lang:type=Runtime --attribute Uptime'
        }

#Open File Descriptors
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container PassThru File Descriptors
        check_command                   check_nrpe!check_remote_container_open_file_descriptors!-a '--user passthru --password B@dC0mpany --url http://localhost:9090/jolokia --mbean java.lang:type=OperatingSystem --attribute OpenFileDescriptorCount --warning 500 --critical 600'
        }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container IPRCMT1 File Descriptors
        check_command                   check_nrpe!check_remote_container_open_file_descriptors!-a '--user iprcmtx --password G00gl3M3 --url http://localhost:9091/jolokia --mbean java.lang:type=OperatingSystem --attribute OpenFileDescriptorCount --warning 500 --critical 600'
        }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container Delta MRO File Descriptors
        check_command                   check_nrpe!check_remote_container_open_file_descriptors!-a '--user deltamro --password F@c3B00k --url http://localhost:9092/jolokia --mbean java.lang:type=OperatingSystem --attribute OpenFileDescriptorCount --warning 500 --critical 600'
        }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container Delta FADEC File Descriptors
        check_command                   check_nrpe!check_remote_container_open_file_descriptors!-a '--user deltafadec --password B@dM0nk3y --url http://localhost:9093/jolokia --mbean java.lang:type=OperatingSystem --attribute OpenFileDescriptorCount --warning 500 --critical 600'
        }

#Container Context State
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container PassThru Context State
        check_command                   check_nrpe!check_remote_container_context_state!-a '--user passthru --password B@dC0mpany --url http://localhost:9090/jolokia --mbean org.apache.karaf:type=admin,name = "PassThru MultiTenant" --attribute Instances --path "PassThru MultiTenant"/State --critical' 'Started'
        }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container IPRCMT1 Context State
        check_command                   check_nrpe!check_remote_container_context_state!-a '--user iprcmtx --password G00gl3M3 --url http://localhost:9091/jolokia --mbean org.apache.karaf:type=admin,name = "Multi-Tenant I MEP Service" --attribute Instances --path "Multi-Tenant I MEP Service"/State --critical' 'Started'
        }
#/check_jmx4perl --user passthru --password B@dC0mpany --url http://localhost:9092/jolokia --mbean org.apache.karaf:type=admin,name = "Delta Maintenance Repair and Overhaul - MRO MEP" --attribute Instances --path 'Delta Maintenance Repair and Overhaul - MRO MEP'/State --critical '!Started'

define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container Delta MRO Context State
        check_command                   check_nrpe!check_remote_container_context_state!-a '--user deltamro --password F@c3B00k --url http://localhost:9092/jolokia --mbean org.apache.karaf:type=admin,name = "Delta Maintenance Repair and Overhaul - MRO MEP" --attribute Instances --path "Delta Maintenance Repair and Overhaul - MRO MEP"/State --critical' 'Started'
        }
define service{
        use                             generic-service
        host_name                       alphprdfuse1i
        service_description             Container Delta FADEC Context State
        check_command                   check_nrpe!check_remote_container_context_state!-a '--user deltafadec --password B@dM0nk3y --url http://localhost:9093/jolokia --mbean org.apache.karaf:type=admin,name = "GE-IP Delta FADEC PROD ENV" --attribute Instances --path "GE-IP Delta FADEC PROD ENV"/State --critical' 'Started'



examples showing how it works and doesn't with the mbeans using jmx4perl for testing.

./jmx4perl http://localhost:9090/jolokia read java.lang:type=Runtime StartTime
1563297082466

./jmx4perl http://localhost:9090/jolokia read java.nio:name=direct,type=BufferPool Count
19

NOW attempting a camel route
./jmx4perl http://localhost:9090/jolokia read org.apache.camel:context=passthrumt1.core-com.ge.digital.passthru.coreCamelContext,type=context,name = "com.ge.digital.passthru.coreCamelContext" ExchangesTotal
ERROR: javax.management.InstanceNotFoundException : org.apache.camel:context=passthrumt1.core-com.ge.digital.passthru.coreCamelContext,type=context,name=com.ge.digital.passthru.coreCamelContext

просто не похоже, что jmx раскрывает маршруты верблюдов? приведенный выше пример должен возвращать счет.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
172
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я просто наткнулся на что-то, больше связанное с синтаксисом, чем что-либо еще. не понимаю этого, но, это прорыв, можно построить из этого. размещение одинарной кавычки вокруг MBean, кажется, работает.

./jmx4perl http://localhost:9090/jolokia read 'org.apache.camel:context=passthrumt1.core-com.ge.digital.passthru.coreCamelContext,type=context,name = "com.ge.digital.passthru.coreCamelContext"'
    {
      AllowUseOriginalMessage => '[false]',
      ApplicationContextClassName => 'BundleDelegatingClassLoader(passthrumt1.core [309])',
      CamelId => 'com.ge.digital.passthru.coreCamelContext',
      CamelVersion => '2.17.0.redhat-630310',
      ClassResolver => 'org.apache.camel.core.osgi.OsgiClassResolver',
      DeltaProcessingTime => 0,
      ExchangesCompleted => 5836,
      ExchangesFailed => 0,
      ExchangesInflight => 0,
      ExchangesTotal => 5836,
      ExternalRedeliveries => 0,
      FailuresHandled => 0,
      FirstExchangeCompletedExchangeId => 'ID-alphprdfuse2i-45162-1563297115702-3-3',
      FirstExchangeCompletedTimestamp => '2019-07-16T13:12:00-04:00',
      FirstExchangeFailureExchangeId => undef,
      FirstExchangeFailureTimestamp => undef,
      InflightExchanges => 0,
      LastExchangeCompletedExchangeId => 'ID-alphprdfuse2i-45162-1563297115702-3-11672',
      LastExchangeCompletedTimestamp => '2019-07-17T13:30:30-04:00',
      LastExchangeFailureExchangeId => undef,
      LastExchangeFailureTimestamp => undef,
      LastProcessingTime => 0,
      Load01 => '',
      Load05 => '',
      Load15 => '',
      ManagementName => 'passthrumt1.core-com.ge.digital.passthru.coreCamelContext',
      ManagementStatisticsLevel => 'Default',
      MaxProcessingTime => 271,
      MeanProcessingTime => 0,
      MessageHistory => '[true]',
      MinProcessingTime => 0,
      PackageScanClassResolver => 'org.apache.camel.core.osgi.OsgiPackageScanClassResolver',
      Properties => {
        'http.proxyHost' => 'PITC-Zscaler-Americas-Cincinnati3PR.proxy.corporate.gtm.ge.com',
        'http.proxyPort' => '80'
      },
      Redeliveries => 0,
      ResetTimestamp => '2019-07-16T13:11:58-04:00',
      ShutdownNowOnTimeout => '[true]',
      StartTimestamp => '2019-07-16T13:11:58-04:00',
      StartedRoutes => 6,
      State => 'Started',
      StatisticsEnabled => '[true]',
      TimeUnit => 'SECONDS',
      Timeout => 300,
      TotalProcessingTime => 3744,
      TotalRoutes => 8,
      Tracing => '[true]',
      Uptime => '1 day',
      UptimeMillis => 87522386,
      UseBreadcrumb => '[true]',
      UseMDCLogging => '[false]'
    }

./jmx4perl http://localhost:9090/jolokia read 'org.apache.camel:context=passthrumt1.core-com.ge.digital.passthru.coreCamelContext,type=context,name = "com.ge.digital.passthru.coreCamelContext"' ExchangesCompleted
5844

./check_jmx4perl --user passthru --password B@dC0mpany --url http://localhost:9090/jolokia --mbean 'org.apache.camel:context=passthrumt1.core-com.ge.digital.passthru.coreCamelContext,type=context,name = "com.ge.digital.passthru.coreCamelContext"' --attribute ExchangesCompleted
OK - [org.apache.camel:context=passthrumt1.core-com.ge.digital.passthru.coreCamelContext,type=context,name = "com.ge.digital.passthru.coreCamelContext",ExchangesCompleted] : Value 5852 in range | [org.apache.camel:context#passthrumt1.core-com.ge.digital.passthru.coreCamelContext,type#context,name#"com.ge.digital.passthru.coreCamelContext",ExchangesCompleted]=5852;;

Другие вопросы по теме