라즈베리파이의 cpu, memory, io, network를 DB에 저장해보자
cpu정보,memory정보,io정보,network 정보를 읽고 database에 저장하는 프로그램을 만든다.
기본적으론 top
명령어 실행시 나오는 정보와 유사하지만 네트워크 트래픽 정보와 i/o read,write 정보 정도를 더해 데이터 베이스에 저장하길 원합니다. 그래서 출력하고 싶은 정보를 모두 모으면 다음과 같습니다.
cpu 사용 정보
메모리 사용 정보
I/O 정보(마이크로sd에 OS가 올라와있음)
network 정보
기타 정보
각 정보를 취합해 저장한다.
1. /proc/stat => cpu 정보 생성
2. /proc/meminfo => memory 정보 생성
3. /proc/diskstats => io 정보 생성
4. /proc/net/dev => network 정보 생성
database 연결
1. cpu정보 -> cpu_status 테이블에 저장
2. memory정보 -> memory_status 테이블에 저장
3. io정보 -> io_status 테이블에 저장
4. network정보 -> network_status 테이블에 저장
5. 각 table의 요약정보를 저장하는 summary_status 테이블에 저장
nodejs
mariadb