@ironheaddd

Как мониторить сайт из разных стран?

Встала задача мониторить доступность сайта из разных стран, как это проще сделать, не городя в каждой стране кучу проксей? Может есть готовые сервисы, которые предоставляют такую возможность?
По статье на хабре попробовал первый сервис, но он говорит что из двух стран сайт доступен, хотя физически находящиеся там люди на сайт попасть не могут.
  • Вопрос задан
  • 354 просмотра
Пригласить эксперта
Ответы на вопрос 4
dimonchik2013
@dimonchik2013
non progredi est regredi
https://ping-admin.com/

физически находящиеся там люди на сайт попасть не могут

тут может быть что угодно
Ответ написан
Комментировать
@vitaly_il1
DevOps Consulting
Попробуйте site24x7.com или https://newrelic.com/, второй посложнее.
Ответ написан
Комментировать
Uptimerobot.com
50 free monitors
Ответ написан
Комментировать
@ironheaddd Автор вопроса
изменил решение, написал скрипт мониторинга через впн сервис
#!/bin/bash
# get a list of valid countries for connection
expressvpn list all > country.txt


# compare with the list of countries that do not need to be checked
# the file is locked.txt is created by yourself
while read locked; do
	echo $locked
	sed -i "/${locked}/d" country.txt 
done < locked.txt

# cut off unnecessary lines and write to the final file
tail -n+6 country.txt | sed -r 's/ .+//' > country_final.txt

# in this loop, the final file with the list of countries allowed 
# for verification is read line by line, after which the VPN 
# connection status is checked, then the title of the required 
# page is checked using cURL. If the title is correct, nothing 
# happens, if the title does not match what you are looking for, 
# a message is sent to slack. Once verified, the loop disconnects 
# from the VPN to connect to the next country.
while read line; do
	expressvpn connect $line
	stat="$(expressvpn status | grep 'Connected to')"
	if curl https://domain.com | tac| tac | grep -q "any_text"; then
		send="Congratulation! $stat is work!"
	else
		send="Warning! $stat is not work!"
		send=$(echo "$send" | sed $'s,\x1b\\[[0-9;]*[a-zA-Z],,g')
		curl -X POST -H 'Content-type: application/json' --data "$(jq -n --arg text "$send" '{text: $text}')" put_this_slack_web_hook
	fi
	expressvpn disconnect
	sleep 5
done < country_final.txt

может кому пригодится
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы