호스트 그룹 간에 ping 수행(모두 대 모두)

호스트 그룹 간에 ping 수행(모두 대 모두)

서버가 4개 있는데 서로 핑을 보내고 싶습니다.

예상 실행 ping:

ping from 1 to 2, 3, and 4 
ping from 2 to 1, 3, and 4 
ping from 3 to 1, 2, and 4 
ping from 4 to 1, 2, and 3 

스크립트를 통해 어떻게 bash이를 달성 할 수 있나요?

4개 서버 모두에 대한 사용자 로그인은 비밀번호가 없도록 구성되었습니다.

답변1

그렇게 적은 수의 시스템을 모니터링하려면옌핑스크립트로 바퀴를 재발명하는 대신.

이는 더 많은 시각적 피드백, 시간 경과에 따른 평균 기록 데이터, 심지어는 다른 서비스와 잘 수행된 작업을 다른 사람들에게 보여주는 전문적인 모양과 느낌까지 제공할 것입니다. 사람들과 PHB는 시각적 피드백을 통해 사물을 모니터링하는 것을 좋아합니다.

실제로 저는 과거에 위성 인터넷 연결이 안정적이지 않았을 때 인프라의 주요 지점을 모니터링하는 데 이를 사용했습니다.

구성은 작은 텍스트 파일로 이루어지며 새 IP 주소를 쉽게 추가할 수 있으며 멋진 웹 인터페이스도 있습니다. 이를 위해서는 경량 웹 서버를 설치하기만 하면 됩니다.

ICMP/ping을 통해 모니터링할 수 없는 거의 모든 것을 모니터링할 수 있으며, 이 4개의 서버 외에도 다른 주요 장치도 모니터링할 수 있습니다.

인터페이스 작동 방식을 이해하려면 다음을 참조하세요.대학 밖의 세계로 연결되는 흡연 인터페이스

샘플 이미지도 참조하세요.

이미지 1 이미지 2

웹 서버와 Smokeping을 설치한 후 실제 구성 파일은 다음과 같이 간단할 수 있습니다.

*** Targets ***
 probe = FPing

 menu = Top
 title = Network Latency Grapher
 remark = Welcome to this SmokePing website.

 + mysite1
 menu = Site 1
 title = Hosts in Site 1

 ++ myhost1
 host = myhost1.mysite1.example
 ++ myhost2
 host = myhost2.mysite1.example

 + mysite2
 menu = Site 2
 title = Hosts in Site 2

 ++ myhost3
 host = myhost3.mysite2.example
 ++ myhost4
 host = myhost4.mysite2.example

답변2

이름을 배열에 저장하고 반복한 다음 sshping을 사용하여 각 호스트에 연결합니다.

ips=("server1" "server2" "server3" "server4");
for((i=0;i<${#ips[@]};i++)); do 
    for((k=0;k<${#ips[@]};k++)); do
        [[ $i -ne $k ]] && ssh "${ips[$i]}" ping -c1 "${ips[$k]}"; 
    done
done

답변3

fping설치 하셨나요 ? 이렇게 하면 다음과 같은 작업이 더 쉬워질 수 있습니다.

$ hosts="www smtp"
$ for host in $hosts ; do 
    echo "$host:"; 
    ssh iv@$host "fping $hosts";
  done
www:
www is alive
smtp is alive
smtp:
www is alive
smtp is alive

(나는 이것이 게으른 해결책이라는 것을 안다.)

답변4

귀하의 요구 사항에 완벽하게 맞습니다.

server1에 로그인하고 server2와 server3만 ping하며 그 반대의 경우도 마찬가지입니다.

#!/bin/bash
while read line
do
ssh root@$line "sed "/$line/d" /root/p_final.txt |sed '/^$/d' | sed -r "s/\s+//g"|awk '{print $1}' | sed 's/^/ping -c2 /g'| sh" </dev/null
done </root/p_final.txt

p_final.txt 파일에는 일대일 IP 목록이 포함되어 있습니다. 질문이 있으시면 알려주세요.

관련 정보