현재 네트워크를 얻으려면 bash 명령이 필요합니다대역폭,처리량그리고네트워크 카드 가동 시간, 그러나 온라인에서 유망한 것을 찾지 못했습니다.
나는 그것으로부터 그런 정보를 얻으려고 노력했지만 /proc/net/dev
, 그 파일에는 각 값이 무엇을 의미하는지에 대한 매뉴얼이 없는 것 같습니다.
그리고 대부분의 네트워크 모니터링 도구는 grep
-able 또는 awk
-able이 아니므로 스크립팅에 적합하지 않습니다.
답변1
안녕하세요, stackexchange에 오신 것을 환영합니다.
우선, "bash 명령"을 찾고 있는 것이 아니라 단지 명령줄 유틸리티를 찾고 있는 것입니다.
둘째, 이러한 메트릭은 시간이 지남에 따라 수집되고 호스트의 리소스를 소비해야 하므로 기본적으로 수행되지 않습니다.
폴링 명령을 통해 고유한 표시기를 만들 수 있습니다 ip -s link show <interface>
. 예를 들면 다음과 같습니다.
$ ip -s link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether b8:ae:ed:72:f3:b3 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped missed mcast
579827124444 443147837 0 0 0 2802393
TX: bytes packets errors dropped carrier collsns
153295015536 161518564 0 0 0 0
RX:
그런 다음 바이트와 바이트는 구문 분석되어 TX:
나중에 사용하기 위해 저장됩니다. 고정된 시간이 지나면 이 측정항목을 다시 읽고 개수와 경과 시간을 기준으로 원하는 값을 계산하세요.
네트워크 카드 가동 시간을 위해 네트워크 인터페이스 상태 변경을 감지해야 할 수도 있습니다. 인터페이스 시작 시간을 추적하는 것은 아무것도 없습니다.
설명에서 지적했듯이, 예를 들어 몇 가지 작업을 수행할 수 있는 타사 패키지가 있지만 bwm-ng
배포판에 기본적으로 설치되지 않을 수 있습니다. 하지만 유틸리티를 시작할 때만 측정항목을 수집합니다.