Подключиться к events.pagerduty.com:443 тайм-аут подключения - действие пост-сборки Jenkins - Плагин PagerDuty

Дженкинс 2,82

Дженкинс мастер - с этой машины у меня нет доступа к интернету / внешнему миру.

Подчиненный сервер Jenkins, работающий с докерными контейнерами (для подчиненного сервера), имеет доступ к внешнему миру / Интернету.

Я установил плагин PagerDuty и правильно настроил его в задании, чтобы отправлять уведомления при сбое и когда состояние возвращается в нормальное состояние.

Когда я запустил работу, я получил следующее сообщение об ошибке com.mashape.unirest.http.exceptions.UnirestException: org.apache.http.conn.ConnectTimeoutException: Connect to events.pagerduty.com:443 [events.pagerduty.com/54.244.255.45, events.pagerduty.com/54.241.36.66, events.pagerduty.com/104.45.235.10] failed: connect timed out,

0:49:44 
10:49:44 Resolving incident
10:50:14 Error while trying to resolve 
10:50:14 com.mashape.unirest.http.exceptions.UnirestException: org.apache.http.conn.ConnectTimeoutException: Connect to events.pagerduty.com:443 [events.pagerduty.com/54.244.255.45, events.pagerduty.com/54.241.36.66, events.pagerduty.com/104.45.235.10] failed: connect timed out
10:50:14 Build step 'PagerDuty Incident Trigger' marked build as failure
10:50:14 Notifying upstream projects of job completion
10:50:14 Finished: FAILURE

Сначала я вошел на подчиненный компьютер и попытался пропинговать IP-адреса рядом с сервером events.pagerduty.com (как указано выше), и пинг работал нормально. Выполнение telnet через порт 443 (ssh) также дало правильный вывод.

Поскольку подчиненные серверы на самом деле являются контейнерами-докерами, я зашел в один из подчиненных серверов-контейнеров и сделал то же самое (ping, telnet на 443 для этих событий. IP-адреса pagerduty.com, nslookup и nc / ncat и т. Д., И вывод выглядит хорошо).

Здесь я внутри хоста док-сервера docker exec -it shenazi_ninza bash и я теперь внутри хоста / IP контейнера:

root@da5ca3fef1c8:/data# hostname                                                                                                                          
da5ca3fef1c8
root@da5ca3fef1c8:/data# hostname; hostname -i                                                                                                             
da5ca3fef1c8
172.17.137.77
root@da5ca3fef1c8:/data# nslookup events.pagerduty.com                                                                                                     
Server:     17.178.6.10
Address:    17.178.6.10#53

Non-authoritative answer:
events.pagerduty.com    canonical name = events.gslb.pagerduty.com.
Name:   events.gslb.pagerduty.com
Address: 54.241.36.66
Name:   events.gslb.pagerduty.com
Address: 54.245.112.46
Name:   events.gslb.pagerduty.com
Address: 104.45.235.10

root@da5ca3fef1c8:/data# 
root@da5ca3fef1c8:/data# for s in `nslookup events.pagerduty.com|grep "Address: [0-9]"|sed "s/ //g"|cut -d':' -f2`; do echo Server: $s; telnet $s 443; done
Server: 54.245.112.46
Trying 54.245.112.46...
Connected to 54.245.112.46.
Escape character is '^]'.
^]
telnet> quit
Connection closed.
Server: 104.45.235.10
Trying 104.45.235.10...
Connected to 104.45.235.10.
Escape character is '^]'.
^]
telnet> quit
Connection closed.
Server: 54.241.36.66
Trying 54.241.36.66...
Connected to 54.241.36.66.
Escape character is '^]'.
^]
telnet> quit
Connection closed.
root@da5ca3fef1c8:/data# for s in `nslookup events.pagerduty.com|grep "Address: [0-9]"|sed "s/ //g"|cut -d':' -f2`; do echo Server: $s; telnet $s 443; done
Server: 54.245.112.46
Trying 54.245.112.46...
Connected to 54.245.112.46.
Escape character is '^]'.
^]
telnet> quit
Connection closed.
Server: 54.241.36.66
Trying 54.241.36.66...
Connected to 54.241.36.66.
Escape character is '^]'.
^]
telnet> quit
Connection closed.
Server: 54.244.255.45
Trying 54.244.255.45...
Connected to 54.244.255.45.
Escape character is '^]'.
^]
telnet> quit
Connection closed.
root@da5ca3fef1c8:/data# ^C
root@da5ca3fef1c8:/data# nc -v -w 1 events.pagerduty.com 443
Connection to events.pagerduty.com 443 port [tcp/https] succeeded!
root@da5ca3fef1c8:/data# 

Интеграция PagerDuty в конфигурации задания Jenkins доступна в разделе POST Built Actions площадь.

У меня вопрос, не вся ли работа выполняется на подчиненном сервере (он же раб контейнера, откуда у меня есть доступ к внешнему миру и я могу подключиться к серверу events.pagerduty.com)?

Похоже, что Дженкинс работает под POST Build Data в разделе об основном экземпляре Jenkins, откуда у меня нет доступа к events.pagerduty.com (ping/telnet и т. д.)? Поскольку мы не хотим, чтобы мастер Jenkins имел доступ из внешнего мира, как можно решить эту проблему, чтобы я мог получать оповещения в случае сбоя сборки для этого задания? Я хочу, чтобы плагин PagerDuty мог быть улучшен, чтобы мы могли выбрать интеграцию "PagerDuty Incident Trigger" в / как шаг / область BUILD (что могло бы помочь в моем случае, поскольку у подчиненного у меня есть доступ к серверам events.pagerduty.com).

Как очевидно, на главном сервере Jenkins я получаю это.

$>  ping events.pagerduty.com
PING events.gslb.pagerduty.com (54.245.112.46) 56(84) bytes of data.
^C

$>  ping events.pagerduty.com
PING events.gslb.pagerduty.com (54.241.36.40) 56(84) bytes of data.
^C

$>  ping events.pagerduty.com
PING events.gslb.pagerduty.com (54.244.255.45) bytes of data.
^C


$>  ping 54.244.255.45
PING 54.244.255.45 (54.244.255.45) bytes of data.
^C
--- 54.244.255.45 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2014ms

$>  nc -v -w 1 events.pagerduty.com 443
nc: connect to events.pagerduty.com port 443 (tcp) timed out: Operation now in progress

0 ответов

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