![Grafana에서 DB 조작하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkLIqj%2FbtsB7c4TKVD%2FWfDBbeTiR1k3LXZi7lrwA1%2Fimg.png)
필요 배경 지식
- Grafana 대시보드 기본적인 사용법
Prerequisite
- B 쿼리에 대한 지식
- Grafana 에 대한 기본지식
프로젝트에서 나의 요구사항
1. Grafana에서 직접 일부 데이터를 추가하고싶다. (Repo 정보, User 정보 등)
2. Grafana에서 직접 일부 데이터를 삭제 (혹은 visibility 조정) 을 하고싶다.
이다.
그래서 이런 접근이 가능한건지 확인하고 싶었다.
Grafana에서 Select를 제외한 Insert/Update/Delete row가 가능할까?
결론부터 말하자면 불가능하고 좋지 않은 접근이다.
Grafana는 모니터링 툴이라서 Select만 하는것이 권장된다.
물론 나는 Grafana에서 할 수 있으면 좋은 상황이라서 가능한지를 찾아봤지만 역시나
데이터의 보안 및 데이터 무결성 관점에서는 모니터링 툴에서 데이터의 변경이 있을 수 있다면 위험하기 때문에 막아놨을것이라 생각된다.
그러면 나는 어떤 방법으로 DB를 update해야할까?
서버에 데이터베이스를 두고 Grafana로 데이터를 시각화하면서, 특정 데이터에 대한 추가, 삭제, 또는 업데이트가 필요한 경우에는 다음과 같은 방법을 고려할 수 있습니다:
1. API 서버 구축: 데이터베이스를 직접 조작하지 않고, 대신 API 서버를 통해 데이터베이스와의 상호작용을 처리합니다. 이 API 서버는 RESTful, GraphQL 등 다양한 방식으로 구현될 수 있으며, 데이터베이스에 대한 모든 요청(추가, 삭제, 업데이트)을 처리합니다. 이 방법은 데이터 무결성을 유지하고, 보안을 강화하며, 업데이트가 필요한 데이터에 대한 접근을 통제하는 데 도움이 됩니다.
2. 관리자 인터페이스: Grafana와 별도로, 웹 기반 관리자 인터페이스를 구축하여 데이터베이스 관리 작업을 수행합니다. 이 인터페이스는 사용자 권한에 따라 접근을 제한하고, 데이터베이스의 특정 부분에 대한 CRUD(Create, Read, Update, Delete) 작업을 허용합니다.
3. CLI (Command Line Interface) 도구: 서버 관리자나 개발자가 데이터베이스 서버에 접근하여 직접 명령줄을 통해 데이터를 관리할 수 있습니다. 이 방법은 기술적인 숙련도가 높은 사용자에게 적합합니다.
4. GUI 데이터베이스 관리 도구: PgAdmin, phpMyAdmin, DBeaver 등의 GUI 도구를 사용하여 데이터베이스를 관리합니다. 이 도구들은 보다 쉽게 데이터를 관리할 수 있게 해주지만, 보안과 데이터 무결성을 유지하기 위한 추가적인 조치가 필요합니다.
5. 스크립트 자동화: 특정한 데이터 관리 작업을 자동화하기 위해 스크립트(예: Python, Bash)를 작성할 수 있습니다. 이 방법은 반복적이고 예측 가능한 작업에 적합합니다.
이 정도가 가능하다고 chatgpt가 알려줬다.
이 중에서 나에게 가장 도움이 될만한 방법은 어떤게있을까 고민을 해봤는데 가장 좋은 방법은 API 서버 구축일듯하다.
따라서, API 서버 구축을 하고 그에 대한 프론트엔드도 추가해야할것같다.
Reference
'프로젝트 > Github Rest API로 프로젝트 리뷰 대시보드 구성하기' 카테고리의 다른 글
mattermost deploy 및 봇 사용해보기 (1) | 2024.01.07 |
---|---|
NodeJS Express를 통해서 API 서버 구축 및 DB 업데이트 하기 (0) | 2023.12.25 |
Grafana 리뷰 대시 보드 구성 - Panel 에 변수 추가하기 (0) | 2023.12.22 |
Repository 정보 크롤링 및 알림 서비스 구현 요구사항 정리하기 (0) | 2023.12.09 |
Github RestAPI를 통해서 Repository 정보 크롤링 및 알림 서비스 구현 (0) | 2023.12.06 |
개발 및 IT 관련 포스팅을 작성 하는 블로그입니다.
IT 기술 및 개인 개발에 대한 내용을 작성하는 블로그입니다. 많은 분들과 소통하며 의견을 나누고 싶습니다.