시스템 모니터링 개발 관련 질문 드립니다.
글쓴이: PhuketDay / 작성시간: 수, 2006/10/11 - 5:26오후
현재 시스템 모니터링 할수 있는 프로그램을 제작 중 인데요..
컴파일러는 GCC 이면 OS 는 CentOS 4.4 환경 입니다
현재 리눅스 환경에서는 C 언어를 처음 접해보는 거라서 많이 모르거든요..
1. 현재 시스템 CPU 현황 및 해당 파티션 용량 즉 하드 용량 현황을 구해오기 위해서는 어떤 함수 또는 어떤 파일을 보아야 하나요..
2. 현재 시스템 네트워크 트래픽 현황을 알고싶은데 "보통은 /proc/net/dev 파일을 읽어들입니다." 이렇게 답변을 받았는데요.. 이파일을 정확히 어떻게 해야될지는 모르겠습니다.
구하고자 하는 내용은 Receive bps , Send bps 입니다 초당 받고 보내는 트래픽양
위의 2가지 즉 시스템 정보와 네트워크 정보를 그냥 읽어오는 방법 아시는분 답변 부탁 드립니다.
좋은 하루 되세요
Forums:
cpu 현황은 vmstat 혹은
cpu 현황은 vmstat 혹은 top 으로 실행 시킨후 awk 등의 shell script등을 이용해서 긁어 오시면 되고,
하등 용량은 df 명령어로 실행 시킨 후 마찬가지로 긁어 오시면 되고,
트래픽 용량을 측정하는 것은 여러 가지 방법이 있지만 간단하게 수행하시려면 그리고 아주 정확하게 알지 않아도 된다면 알고 계시듯이 /proc/net/dev 를 보시고 해당 인터페이스의 정보중 send/receive 정보가 나오니 마찬가지로 awk등을 써서 긁어 오시면 됩니다.
cpu 현황은 vmstat 혹은
cpu 현황은 vmstat 혹은 top 으로 실행 시킨후 awk 등의 shell script등을 이용해서 긁어 오시면 되고,
하등 용량은 df 명령어로 실행 시킨 후 마찬가지로 긁어 오시면 되고,
트래픽 용량을 측정하는 것은 여러 가지 방법이 있지만 간단하게 수행하시려면 그리고 아주 정확하게 알지 않아도 된다면 알고 계시듯이 /proc/net/dev 를 보시고 해당 인터페이스의 정보중 send/receive 정보가 나오니 마찬가지로 awk등을 써서 긁어 오시면 됩니다.
....
procps 프로그램 소스를 한번 읽어 보시면 원하시는것을 찾으실수 있을겁니다. 정말 실시간의 정확한 데이터를 원하시면 커널의 인터페이스 정보를 NETLINK로 받아 보시는것도 좋은 방법입니다. IOCTL을 이용하는것도 한가지 방법이고요.
댓글 달기