Application Real-Time Monitoring Service (ARMS) aracısının düzgün çalışabilmesi için sunucu tarafıyla ağ bağlantısını sürdürmesi gerekir. Bu konu, varsayılan ve varsayılan olmayan Cloud Monitor çalışma alanlarında veri raporlama için gereken ağ gereksinimlerini ve ağ bağlantısının nasıl kontrol edileceğini açıklar.
Varsayılan Cloud Monitor çalışma alanı için ağ bağlantısı gereksinimleri
Varsayılan Cloud Monitor çalışma alanı, orijinal ARMS veri raporlama bağlantısını kullanır.
Açılması gereken portlar
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Açılması gereken etki alanları
Uygulamanız bir Virtual Private Cloud (VPC) içinde dağıtılmışsa, şirket içi veri merkezinizin Express Connect üzerinden bir VPC'ye bağlı olduğu senaryolar da dahil olmak üzere öncelikle özel uç noktayı kullanın. Uygulamanız şirket içi bir veri merkezinde veya başka bir bulutta dağıtılmışsa genel uç noktayı kullanın.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Aracı, varsayılan olarak ağı otomatik olarak algılar ve öncelikle özel uç noktayı kullanır; özel uç nokta erişilemezse genel uç noktaya geri döner.
Açılması gereken IP aralıkları
Uygulamanız bir VPC içinde dağıtılmışsa, özel etki alanı adlarının erişilebilir olduğundan emin olduktan sonra her hizmet için dahili IP aralıklarını açın. Genel uç noktaların sabit IP aralıkları yoktur; ağ ilkenizi etki alanı adına göre yapılandırın.
Açılması gereken ACM motoru IP adresleri
Aracı, yapılandırmaları almak için ACM motoruna bağlanır. ACM etki alanını kullanarak bölgeniz için motor IP'lerini sorgulayabilirsiniz:
curl 'http://acm.aliyun.com:8080/diamond-server/diamond'
Güvenlik duvarınızın döndürülen ACM motoru IP'lerine erişime izin verdiğinden emin olun.
Varsayılan olmayan Cloud Monitor çalışma alanı için ağ bağlantısı gereksinimleri
Varsayılan olmayan Cloud Monitor çalışma alanı Simple Log Service (SLS) veri raporlama bağlantısını kullanır. Varsayılan olarak HTTP protokolü, IPv4 ağı ve 80 portunu kullanır. Uygulamanız ve hedef çalışma alanı aynı Alibaba Cloud bölgesindeyse özel hizmet uç noktasını kullanmanız önerilir; aksi takdirde genel hizmet uç noktasını kullanın.
SLS public cloud özel uç noktasını kullanırken Alibaba Cloud özel DNS adresleri 100.100.2.136 ve 100.100.2.138 kullanılmalıdır; aksi takdirde özel sanal IP adresi (VIP) doğru şekilde çözümlenmeyebilir.
Public cloud hizmet uç noktaları
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Daha fazla hizmet uç noktası bilgisi için bkz. Simple Log Service'de farklı ağ türleri için hizmet uç noktaları.
Ağ bağlantısını otomatik olarak kontrol etme
Ön koşullar
Uygulamanızın çalıştığı konteynere veya makineye curl ve nc yükleyin. Betik, tüm kontroller için 1 saniyelik bağlantı zaman aşımı ile IPv4 HTTP isteklerini zorlamak amacıyla curl -4 kullanır.
Otomatik kontrol betiğini çalıştırma
-
check_network.shdosyasını oluşturun ve aşağıdaki içeriği ekleyin:#!/usr/bin/env bash set -u TIMEOUT_SECONDS=1 REGION_ID="${1:-}" if ! command -v curl >/dev/null 2>&1; then echo "curl is not installed. Please install it from: https://curl.se/" exit 1 fi if ! command -v nc >/dev/null 2>&1; then echo "nc is not installed. Please install it from: https://netcat.sourceforge.net/" exit 1 fi if [ -z "${REGION_ID}" ]; then TOKEN=$(curl -4 -sS --connect-timeout "${TIMEOUT_SECONDS}" --max-time "${TIMEOUT_SECONDS}" -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds:300" 2>/dev/null || true) REGION_ID=$(curl -4 -sS --connect-timeout "${TIMEOUT_SECONDS}" --max-time "${TIMEOUT_SECONDS}" -H "X-aliyun-ecs-metadata-token: ${TOKEN}" "http://100.100.100.200/latest/meta-data/region-id" 2>/dev/null || true) fi if [ -z "${REGION_ID}" ]; then echo "Cannot auto-detect region ID. Run: $0 <region_id>" exit 1 fi check_http() { local name="$1" local url="$2" local http_code http_code=$(curl -4 -sS -o /dev/null --connect-timeout "${TIMEOUT_SECONDS}" --max-time "${TIMEOUT_SECONDS}" -w "%{http_code}" "${url}" 2>/dev/null || true) if [ -n "${http_code}" ] && [ "${http_code}" != "000" ]; then printf '%-44s reachable (HTTP %s) ' "${name}" "${http_code}" else printf '%-44s unreachable ' "${name}" fi } check_tcp() { local name="$1" local host="$2" local port="$3" if nc -z -w "${TIMEOUT_SECONDS}" "${host}" "${port}" >/dev/null 2>&1; then printf '%-44s reachable ' "${name}" else printf '%-44s unreachable ' "${name}" fi } get_default_endpoints() { case "$1" in cn-hangzhou) echo "arms-dc-hz.aliyuncs.com|arms-dc-hz-internal.aliyuncs.com|cn-hangzhou.arms.aliyuncs.com|cn-hangzhou-intranet.arms.aliyuncs.com|acm.aliyun.com|addr-hz-internal.edas.aliyun.com" ;; cn-shanghai) echo "arms-dc-sh.aliyuncs.com|arms-dc-sh-internal.aliyuncs.com|cn-shanghai.arms.aliyuncs.com|cn-shanghai-intranet.arms.aliyuncs.com|acm.aliyun.com|addr-sh-internal.edas.aliyun.com" ;; cn-qingdao) echo "arms-dc-qd.aliyuncs.com|arms-dc-qd-internal.aliyuncs.com|cn-qingdao.arms.aliyuncs.com|cn-qingdao-intranet.arms.aliyuncs.com|acm.aliyun.com|addr-qd-internal.edas.aliyun.com" ;; cn-beijing) echo "arms-dc-bj.aliyuncs.com|arms-dc-bj-internal.aliyuncs.com|cn-beijing.arms.aliyuncs.com|cn-beijing-intranet.arms.aliyuncs.com|acm.aliyun.com|addr-bj-internal.edas.aliyun.com" ;; cn-zhangjiakou) echo "arms-dc-zb.aliyuncs.com|arms-dc-zb-internal.aliyuncs.com|cn-zhangjiakou.arms.aliyuncs.com|cn-zhangjiakou-intranet.arms.aliyuncs.com|acm.aliyun.com|addr-cn-zhangjiakou-internal.edas.aliyun.com" ;; cn-huhehaote) echo "dc-cn-huhehaote.arms.aliyuncs.com|dc-cn-huhehaote-internal.arms.aliyuncs.com|cn-huhehaote.arms.aliyuncs.com|cn-huhehaote-intranet.arms.aliyuncs.com|acm.aliyun.com|-" ;; cn-wulanchabu) echo "dc-cn-wulanchabu.arms.aliyuncs.com|dc-cn-wulanchabu-internal.arms.aliyuncs.com|cn-wulanchabu.arms.aliyuncs.com|cn-wulanchabu-intranet.arms.aliyuncs.com|acm.aliyun.com|-" ;; cn-shenzhen) echo "arms-dc-sz.aliyuncs.com|arms-dc-sz-internal.aliyuncs.com|cn-shenzhen.arms.aliyuncs.com|cn-shenzhen-intranet.arms.aliyuncs.com|acm.aliyun.com|addr-sz-internal.edas.aliyun.com" ;; cn-heyuan) echo "dc-cn-heyuan.arms.aliyuncs.com|dc-cn-heyuan-internal.arms.aliyuncs.com|cn-heyuan.arms.aliyuncs.com|cn-heyuan-intranet.arms.aliyuncs.com|acm.aliyun.com|-" ;; cn-guangzhou) echo "dc-cn-guangzhou.arms.aliyuncs.com|dc-cn-guangzhou-internal.arms.aliyuncs.com|cn-guangzhou.arms.aliyuncs.com|cn-guangzhou-intranet.arms.aliyuncs.com|acm.aliyun.com|-" ;; cn-chengdu) echo "dc-cn-chengdu.arms.aliyuncs.com|dc-cn-chengdu-internal.arms.aliyuncs.com|cn-chengdu.arms.aliyuncs.com|cn-chengdu-intranet.arms.aliyuncs.com|acm.aliyun.com|-" ;; cn-hongkong) echo "arms-dc-hk.aliyuncs.com|arms-dc-hk-internal.aliyuncs.com|cn-hongkong.arms.aliyuncs.com|cn-hongkong-intranet.arms.aliyuncs.com|acm.aliyun.com|addr-hk-internal.edas.aliyun.com" ;; ap-northeast-1) echo "arms-dc-jp.aliyuncs.com|arms-dc-jp-internal.aliyuncs.com|ap-northeast-1.arms.aliyuncs.com|ap-northeast-1-intranet.arms.aliyuncs.com|acm.aliyun.com|addr-ap-northeast-1-internal.edas.aliyun.com" ;; ap-southeast-1) echo "arms-dc-sg.aliyuncs.com|arms-dc-sg-internal.aliyuncs.com|ap-southeast-1.arms.aliyuncs.com|ap-southeast-1-intranet.arms.aliyuncs.com|acm.aliyun.com|addr-singapore-internal.edas.aliyun.com" ;; ap-southeast-3) echo "dc-ap-southeast-3.arms.aliyuncs.com|dc-ap-southeast-3-internal.arms.aliyuncs.com|ap-southeast-3.arms.aliyuncs.com|ap-southeast-3-intranet.arms.aliyuncs.com|acm.aliyun.com|-" ;; ap-southeast-5) echo "arms-dc-indonesia.aliyuncs.com|arms-dc-indonesia-internal.aliyuncs.com|ap-southeast-5.arms.aliyuncs.com|ap-southeast-5-intranet.arms.aliyuncs.com|acm.aliyun.com|-" ;; eu-central-1) echo "arms-dc-frankfurt.aliyuncs.com|arms-dc-frankfurt-internal.aliyuncs.com|eu-central-1.arms.aliyuncs.com|eu-central-1-intranet.arms.aliyuncs.com|acm.aliyun.com|addr-eu-central-1-internal.edas.aliyun.com" ;; eu-west-1) echo "dc-eu-west-1.arms.aliyuncs.com|dc-eu-west-1-internal.arms.aliyuncs.com|eu-west-1.arms.aliyuncs.com|eu-west-1-intranet.arms.aliyuncs.com|acm.aliyun.com|addr-eu-west-1-internal.edas.aliyun.com" ;; us-east-1) echo "dc-us-east-1.arms.aliyuncs.com|dc-us-east-1-internal.arms.aliyuncs.com|us-east-1.arms.aliyuncs.com|us-east-1-intranet.arms.aliyuncs.com|acm.aliyun.com|addr-us-east-1-internal.edas.aliyun.com" ;; us-west-1) echo "arms-dc-usw.aliyuncs.com|dc-us-west-1-internal.arms.aliyuncs.com|us-west-1.arms.aliyuncs.com|us-west-1-intranet.arms.aliyuncs.com|acm.aliyun.com|arms-dc-usw.aliyuncs.com" ;; cn-north-2-gov-1) echo "arms-dc-gov.aliyuncs.com|arms-dc-gov-internal.aliyuncs.com|cn-north-2-gov-1.arms.aliyuncs.com|cn-north-2-gov-1-intranet.arms.aliyuncs.com|acm.aliyun.com|addr-cn-north-2-gov-1-internal.edas.aliyun.com" ;; cn-hangzhou-finance) echo "arms-dc-hz-finance.aliyuncs.com|arms-dc-hz-finance-internal.aliyuncs.com|cn-hangzhou-finance.arms.aliyuncs.com|cn-hangzhou-finance-intranet.arms.aliyuncs.com|acm.aliyun.com|addr-hz-internal.jbp.console.alibabacloud.com" ;; cn-shanghai-finance-1) echo "arms-dc-sh-finance.aliyuncs.com|arms-dc-sh-finance-internal.aliyuncs.com|cn-shanghai-finance-1.arms.aliyuncs.com|cn-shanghai-finance-1-intranet.arms.aliyuncs.com|acm.aliyun.com|addr-cn-shanghai-finance-1-internal.edas.aliyun.com" ;; cn-shenzhen-finance-1) echo "arms-dc-sz-finance.aliyuncs.com|arms-dc-sz-finance-internal.aliyuncs.com|cn-shenzhen-finance-1.arms.aliyuncs.com|cn-shenzhen-finance-1-intranet.arms.aliyuncs.com|acm.aliyun.com|addr-sz-internal.jbp.console.alibabacloud.com" ;; *) return 1 ;; esac } echo "Region: ${REGION_ID}" echo echo "Default Cloud Monitor Workspace (original ARMS reporting link)" DEFAULT_ENDPOINTS=$(get_default_endpoints "${REGION_ID}" || true) if [ -n "${DEFAULT_ENDPOINTS}" ]; then IFS='|' read -r TRACE_PUBLIC TRACE_PRIVATE METRIC_PUBLIC METRIC_PRIVATE ACM_PUBLIC ACM_PRIVATE <<EOF ${DEFAULT_ENDPOINTS} EOF check_http "Public trace and metadata endpoint" "http://${TRACE_PUBLIC}/api/checkHealth" check_http "Private trace and metadata endpoint" "http://${TRACE_PRIVATE}/api/checkHealth" check_http "Public metadata endpoint (9990)" "http://${TRACE_PUBLIC}:9990/api/checkHealth" check_http "Private metadata endpoint (9990)" "http://${TRACE_PRIVATE}:9990/api/checkHealth" check_http "Public metrics endpoint" "http://${METRIC_PUBLIC}/health/readiness" check_http "Private metrics endpoint" "http://${METRIC_PRIVATE}/health/readiness" check_http "Public ACM service (8080)" "http://${ACM_PUBLIC}:8080/diamond-server/diamond" if [ "${ACM_PRIVATE}" != "-" ]; then check_http "Private ACM service (8080)" "http://${ACM_PRIVATE}:8080/diamond-server/diamond" else echo "No private ACM service available for this region. Ensure the public ACM endpoint is reachable." fi check_tcp "Public diagnostics port (9092)" "${TRACE_PUBLIC}" 9092 check_tcp "Private diagnostics port (9092)" "${TRACE_PRIVATE}" 9092 check_tcp "Public security port (9093)" "${TRACE_PUBLIC}" 9093 check_tcp "Private security port (9093)" "${TRACE_PRIVATE}" 9093 else echo "No default cloud monitor workspace endpoint configured for this region." fi echo echo "Non-default Cloud Monitor Workspace (SLS reporting link)" check_http "SLS public service endpoint /health" "http://${REGION_ID}.log.aliyuncs.com/health" check_http "SLS private service endpoint /health" "http://${REGION_ID}-intranet.log.aliyuncs.com/health" -
Çalıştırma izni ekleyin ve betiği çalıştırın:
chmod +x check_network.sh ./check_network.sh ${region_id}${region_id}parametresi, çalışma alanının bulunduğu bölge kimliğidir, örneğincn-hangzhou. Bu parametre sağlanmazsa betik, bölge kimliğini mevcut ECS örneği meta verilerinden almaya çalışır.
Betik, varsayılan Cloud Monitor çalışma alanı için orijinal ARMS raporlama bağlantısını ve varsayılan olmayan Cloud Monitor çalışma alanı için SLS genel ve özel hizmet uç noktalarını kontrol eder. Gerçek dağıtım ağınızla eşleşen en az bir bağlantı (genel veya özel) erişilebilir olmalıdır.