Монитор ресурсов с использованием суппорта Hyperledger Fabric - Ошибка: зависание сокета

Следующая конфигурация используется для мониторинга использования ресурсов док-контейнера, который находится на удаленном компьютере, с помощью калипер гиперреестра (0.4.2).

test:
    name: sample fabric network
    description: sample Network Benchmark
    workers:
      type: local
      number: 5
    rounds:
      - label: readAsset
        description: Using Chaincode Asset Management contract
        txNumber: 10000
        rateControl: 
          type: fixed-load
          opts:
            tps: 200
        workload:
          module: workload/readAsset.js
          arguments:
            contractId: asset-management
monitors:
  resource:
  - module: docker
    options:
      interval: 5
      containers:
         - http://34.233.177.187:7051/peer0.org1.example.com
       

Это дает ошибку Error retrieving remote containers: Error: socket hang up, как показано ниже, и не создает отчет, связанный с мониторингом ресурсов. Хотя транзакция отправляется в удаленную сеть с помощью суппорта, откуда я пытаюсь отслеживать использование ресурсов контейнера peer0.org1.example.com. Определенный выше IP-адрес машины и имя контейнера определяются в профиле подключения.


Лог из консоли суппорта


2021.02.17-03:46:22.319 info  [caliper] [worker-orchestrator]   5 workers prepared, progressing to test phase.
2021.02.17-03:46:22.945 error [caliper] [monitor-docker]    Error retrieving remote containers: Error: socket hang up
2021.02.17-03:46:22.947 info  [caliper] [round-orchestrator]    Monitors successfully started
2021.02.17-03:46:22.948 info  [caliper] [worker-message-handler]    Worker#0 is starting Round#0
2021.02.17-03:46:22.952 info  [caliper] [worker-message-handler]    Worker#1 is starting Round#0
2021.02.17-03:46:22.956 info  [caliper] [caliper-worker]    Worker #1 starting workload loop
2021.02.17-03:46:22.958 info  [caliper] [caliper-worker]    Worker #0 starting workload loop
2021.02.17-03:46:22.961 info  [caliper] [worker-message-handler]    Worker#2 is starting Round#0
2021.02.17-03:46:22.967 info  [caliper] [worker-message-handler]    Worker#3 is starting Round#0
2021.02.17-03:46:22.970 info  [caliper] [caliper-worker]    Worker #2 starting workload loop
2021.02.17-03:46:22.973 info  [caliper] [worker-message-handler]    Worker#4 is starting Round#0
2021.02.17-03:46:22.975 info  [caliper] [caliper-worker]    Worker #3 starting workload loop
2021.02.17-03:46:22.977 info  [caliper] [caliper-worker]    Worker #4 starting workload loop
2021.02.17-03:46:27.352 info  [caliper] [default-observer]  [readAsset Round 0 Transaction Info] - Submitted: 15 Succ: 10 Fail:0 Unfinished:5
2021.02.17-03:46:32.322 info  [caliper] [default-observer]  [readAsset Round 0 Transaction Info] - Submitted: 45 Succ: 30 Fail:0 Unfinished:15
2021.02.17-03:46:37.322 info  [caliper] [default-observer]  [readAsset Round 0 Transaction Info] - Submitted: 70 Succ: 60 Fail:0 Unfinished:10
2021.02.17-03:46:42.323 info  [caliper] [default-observer]  [readAsset Round 0 Transaction Info] - Submitted: 89 Succ: 79 Fail:0 Unfinished:10
2021.02.17-03:46:47.323 info  [caliper] [default-observer]  [readAsset Round 0 Transaction Info] - Submitted: 111 Succ: 103 Fail:0 Unfinished:8
2021.02.17-03:46:52.323 info  [caliper] [default-observer]  [readAsset Round 0 Transaction Info] - Submitted: 128 Succ: 120 Fail:0 Unfinished:8
2021.02.17-03:46:57.323 info  [caliper] [default-observer]  [readAsset Round 0 Transaction Info] - Submitted: 153 Succ: 148 Fail:0 Unfinished:5
2021.02.17-03:47:02.323 info  [caliper] [default-observer]  [readAsset Round 0 Transaction Info] - Submitted: 173 Succ: 165 Fail:0 Unfinished:8
2021.02.17-03:47:07.324 info  [caliper] [default-observer]  [readAsset Round 0 Transaction Info] - Submitted: 194 Succ: 189 Fail:0 Unfinished:5
2021.02.17-03:47:12.324 info  [caliper] [default-observer]  [readAsset Round 0 Transaction Info] - Submitted: 214 Succ: 205 Fail:0 Unfinished:9
2021.02.17-03:47:17.325 info  [caliper] [default-observer]  [readAsset Round 0 Transaction Info] - Submitted: 233 Succ: 223 Fail:0 Unfinished:10
2021.02.17-03:47:22.325 info  [caliper] [default-observer]  [readAsset Round 0 Transaction Info] - Submitted: 252 Succ: 239 Fail:0 Unfinished:13
2021.02.17-03:47:27.325 info  [caliper] [default-observer]  [readAsset Round 0 Transaction Info] - Submitted: 269 Succ: 267 Fail:0 Unfinished:2
20

Когда мониторинг выполняется с использованием локальной машины, он работает. для этого я использовал приведенную ниже конфигурацию, и она успешно работает для локального контейнера докеров. Конфигурация показана ниже:

monitors:
  resource:
  - module: docker
    options:
      interval: 5
      containers:
        - all

Есть ли еще какие-либо настройки для мониторинга использования ресурсов удаленного контейнера в суппорте?

Благодарю вас!


person EthSol    schedule 17.02.2021    source источник


Ответы (1)


Caliper использует модуль [email protected] для подключения к контейнерам (https://www.npmjs.com/package/dockerode), зависание сокета будет означать, что соединение не удалось создать из-за тайм-аута или чего-то подобного.

Доступны два варианта:

  1. Отладьте соединение на основе dockerode - возможно, здесь поможет увеличение уровня журнала в суппорте? Было бы относительно легко создать небольшое приложение, используя [email protected], чтобы проверить его способность подключаться к переданному URL-адресу контейнера — если вы можете подключиться, и тот же URL-адрес не работает в суппорте, тогда есть ошибка, которую нужно исправить
  2. Переключитесь на монитор на основе Prometheus, который использует CAdvisor для мониторинга статистики контейнера (здесь вы также получите Grafana бесплатно)
person nkl199    schedule 17.02.2021