Solaris 10에서 네트워크 통계 얻기

Solaris 10에서 네트워크 통계 얻기

Solaris 10에서 네트워크 통계를 얻으려고 합니다.

Linux에서 작업할 때 수행하는 작업은 다음과 같습니다.:

02:42:06  IST     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
02:42:07  IST    ens192      8.00      0.00      0.52      0.00      0.00      0.00      1.00
02:42:07  IST        lo     43.00     43.00      7.98      7.98      0.00      0.00      0.00

이와 관련된 문제는 사용자가 사전 설치된 패키지 외에 추가 패키지를 설치할 것을 기대할 수 없다는 것입니다.

내가 시도한 것과 해당 질문은 다음과 같습니다.

  • dladm 쇼 -dev -s: 보내고 받은 총 패키지 수를 표시합니다. 1초마다 보내고 받아야 해요
  • dladm 쇼 -dev -s -i 1: 멈추지 않을 거예요. 스크립트가 Splunk에서 데이터를 추가로 인덱싱해야 하기 때문에 이는 허용되지 않습니다.
  • 통계: 이 명령은 문제를 해결하지만 Solaris에는 사전 설치되어 있지 않습니다.
    • 여기에 질문이 있습니다:: 솔라리스에 dlstat를 설치할 수 있는 방법이 있습니까?
  • 닉스스타: Solaris 10 또는 11에는 사전 설치되지 않습니다.

추가 패키지를 설치하지 않고 이러한 필드를 얻을 수 있는 방법이 있습니까?

참고: 이 경우 전송 및 수신된 총 패키지 수를 수동으로 빼는 것은 신뢰할 수 없으며 추가 구현이 승인되지 않습니다.

미리 감사드립니다.

답변1

dladm show-dev -s ...필요한 통계를 생성하는 경우 dladm show-dev -s옵션 없이 명령을 사용하여 -i 1한 번만 인쇄하거나 현재 사용량에 대한 스냅샷을 얻기 위해 여러 줄의 출력이 필요한 경우 명령을 시간 초과할 수 있습니다.

가장 쉬운 방법은 이 timeout유틸리티를 사용하는 것이지만 Solaris 10에서 작동하는지 모르겠습니다.

timeout 5 dladm show-dev -s -i 1

또는 bash에서(Solaris 10에서 사용 가능):

( dladm show-dev -s -i 1 ) & sleep 5; kill $!

(또한 dladmSolaris 11의 명령은 Solaris 10의 명령과 매우 다릅니다. Solaris 11에는 적용되지 dladm않는 것 같습니다 .)dladm show-dev -s ...

답변2

귀하가 찾고 있는 명령은 netstat -iSolaris 10 명령 또는 그 변형이라고 생각합니다.

dlstatSolaris 11 명령입니다.

나는 nicstat가 Solaris 10의 일부가 아니라는 점에 대해 당신이 옳다고 믿습니다. v8에서 사용하기 위해 소스 코드를 다운로드하고 컴파일한 것을 기억하세요. Solaris 11에는 다음 패키지가 있습니다: pkg:diagnostic/nicstat

답변3

kstat 유틸리티를 사용할 수 있습니다. Solaris 10과 Solaris 11에서는 변수가 다릅니다. 다음은 공통 코드입니다.

KSTAT=$(kstat -p -c net '::mac:obytes64';  echo solaris10 globzone sent  >/dev/null
        kstat -p -c net '::mac:rbytes64';   echo solaris10 globzone rsv  >/dev/null
        kstat -p -c net '::phys:obytes64';  echo solaris11 globzone sent >/dev/null
        kstat -p -c net '::phys:rbytes64';  echo solaris11 globzone rcv  >/dev/null)

$KSTAT=$(echo "${KSTAT}" | sed 's/:[a-z]*:.*bytes64//; s/://; /vnic/d; /vsw/d;')

예제 변수 KSTAT는 전송 및 수신 트래픽으로 구성됩니다.

$ echo "$KSTAT"
igb0    1381124551259
igb1    0
igb2    0
igb3    0
usbecm2 509924057
igb0    803508091598
igb1    0
igb2    0
igb3    0
usbecm2 1007403041

이 모든 카운터는 항상 증가하고 있습니다. 사람이 읽을 수 있는 통계를 캡처하기 위해 시간 분석을 수행할 수 있습니다.

또한 비전역 영역이 있는 경우이 통계는 전용 IP 스택에만 사용할 수 있습니다.. 공유 IP 스택의 모든 영역은 동일한 통계를 갖습니다.

관련 정보