프로젝트 개요 라즈베리파이의 cpu, memory, io, network를 DB에 저장해보자 목표 >cpu정보,memory정보,io정보,network 정보를 읽고 database에 저장하는 프로그램을 만든다. 기본적으론 top 명령어 실행시 나오는 정보와 유사하지만
크게 cpu,memory,network,io 네가지의 정보를 얻어올 예정이니 4개의 테이블을 만들고, 각 정보와 기타정보(uptime 등)를 취합하는 summary 테이블까지 만드는 것이 좋을 것 같습니다. 먼저 스키마 정의와 관계도를 정의해봅시다. cpu_stat
이전글에서 작성한 스키마를 바탕으로 데이터베이스를 생성해봅시다. 데이터베이스는 mariadb를 사용하겠습니다. 데이터 양이 많거나 null필드가 많이 생기는게 아니라서 NoSQL일 필요는 없을 것 같습니다. 먼저 mariadb를 켜고 데이터베이스를 생성하고 데이터베
이제 /proc 디렉토리로부터 정보를 읽어올 프로그램을 만들어야합니다. 생성된 프로그램은 우분투 위에 올려 사용할 예정이니, 사실 C나 C++로 프로그램을 짜는게 유리할 것 같습니다만, 저는 nodejs 프로그램을 만들고 돌리겠습니다. 그 편이 데이터베이스 연동이나,
dotenv 저의 경우 .env에 데이터베이스 계정 정보를 적어놓고 프로젝트 내에서 불러오는 식으로 구현했습니다. 저번장에서 dotenv를 설치했으니 불러와야겠죠. .env 파일을 아래와 같은 형식으로 작성합니다. INTERVAL은 몇 초 간격으로 데이터를 저장할지
튜플이 쌓이다 300개가 되자 더 이상 튜플의 수가 증가하지 않고있습니다. 3초에 하나의 튜플을 추가하니, 300개가면 15분치를 저장하고 있는 거겠죠. 사진이 작아서 보일지 모르겠네요. summary_status를 시간순으로 정렬하고 10개 출력한 결과인데, 대