# influxDB

oneM2M platform, Mobius server connect with InfluxDB & Grafana - 1st
연구실에서 Mobius에 올라온 미세먼지 및 다른 데이터를 시각화 할 필요가 있어서, InfluxDB를 이용해서 데이터를 시각화 하고 Grafana를 이용해서 더욱 다양한 시각화 프레임을 사용 할 수 있다. Mobius 서버는 설치 되어 있다고 가정하고 진행하겠다. 내가 맡은 역할은 Mobius 서버 설치가 아니라, Mobius에 올라온 데이터를 가져와서 데이터 시각화를 하는 것 이기 때문에, 불 필요한 과정은 제거 하고 포스팅 하겠다. 1. InfluxDB 설치 Mac을 사용 중 이기 때문에, mac os 기준으로 설명하겠다. 먼저 https://www.influxdata.com/products/influxdb/ InfluxDB 홈페이지에 접속 한 후에, Documentation 페이지로 이동한다. 
InfluxDB 백업 (root authorization token이 없을때)
1. 문제 InfluxDB 데이터를 백업하는 과정에서 문제가 생겼다. influxdb 컨테이너에 쉘로 접속하여 influx cli 명령을 통해 백업을 시도했고, 인증과정에서 문제가 생겼다. 2. 원인 원인은 내가 가진 토큰이 권한이 부족한 것이였다. 내가 가진 토큰은 Web UI에서 생성한 All Access API Token으로 DB read, write에 대한 모든 권한이 있는 토큰이였지만, 백업을 위해서는 더 높은 권한의 토큰 (Root Authorization Token 또는 Operator 토큰 이하 Root 토큰) 이 필요했다. > The influx backup command requires: >

스프링과 InfluxDB 1.8
InfluxDB 1.8 version 사용 InfluxDB를 선택한 이유 실시간 기반으로 데이터의 저장 공간 필요 실시간으로 쌓이는 데이터의 주기 설정 데이터 베이스에 여러 개의 보존기간 설정 가능 차트를 제공하기 위한 연속적인 쿼리 필요 빠른 쓰기 및 읽기가 가능한 오픈소스 스프링 세팅 build.gradle 의존성 추가 Inf

influxdb 2.x 적용 검토
회사에서 influx db를 1.x버전을 사용하다가 2.x버전으로 업그레이드 검토 하라는 지시가 있었습니다. 1.x -> 2.x로의 변경은 아예 다른 tool을 사용 하는 것과 같을 정도로 변화가 큰 것은 toy project를 통해 확인했습니다. 원래 계획은 간단하게 검토를 한 후에 진행하려 했지만, 업그레이드는 진행 예정이 었기 때문에 바로, 진행하게 되었습니다. 앞으로 이 포스팅에서는 influxdb 2.x버전을 적용하는 과정을 기록해보려 합니다. # Write line protocol to InfluxDB > 공식 사이트 - Write line protocol to InfluxDB 3가지 방법으로 data를 influxdb에 write할 수 있습니다. in

해외 주식 분석 프로젝트-2
안녕하세요. 오랜만에 글을 쓰게 되네요. 요새 바쁜 일들이 너무 겹쳐서 정신이 없었습니당...😂😂 이번 글부터 본격적으로 프로젝트를 진행해보려고 합니다. 이렇게 글을 쓰면서 프로젝트를 진행한 적은 처음이라, 글솜씨가 서툴러도 양해 부탁드리겠습니다!🙏 목표🏆 > 👉 해외주식 데이터 수집이 가능한 웹 선정 > 👉 웹으로부터 크롤링할 데이터 선정 > 👉 크롤링 시작, 끝, 텀 선정 > 👉 크롤링 데이터 적재 프레임워크 선정 1. 크롤링 웹 선정🥇 우선 요즘 저작권법이 중요해진만큼 크롤링할 웹이 크롤링이 가능한지 여부부터 확인해야한다. 이를 위해, 크롤링할 웹 주소 뒤에 '/robots.txt' 를 입력하여 'Disallow' 부분을 확인하면 된다. 확인 결과, 'finance.yahoo.com' 가 특정 디렉터리에 한해서는 Disallow가 명시되어있었지만, 그 외에는 명시되어있지 않아, 해당 웹을 선정하

InfluxDB 육하원칙
InfluxDB WEB UI 메인 화면 InfluxDB 무엇인지? (1 what) 공식 문서 참고 InfluxDB WEB UI Explore 탭 InfluxDB 언제 사용 가능하신지? (2 when) (BEST)IoT 센서, 웹 크롤링 등에서 주기(초/분)마다 데이터가 수집되는 경우 (NOT RECOMMEND)기 적재된 시계열 데이터(파일 및 테이블 형태)를 처리하여 다시 적재하려는 경우 
[InfluxDB] InfluxDB Java Client
😁 InfluxDB Java Client 사용해보기 이전까지 해서 Docker 구성과 간단한 InfluxDB커맨드라인까지 사용해보았으니 여기선 간단하게 InfluxDB Java Client를 사용하여 Data를 Input를 해보려고 한다 해당 글에서는 Maven 으로 작성하였으며 Gradle를 사용하시는 분들이면 Gradle에 맞게 먼저 라이브러리를 Import 해준다 📃 influxdb-client-java 라이브러리 Import Maven 라이브러리 Import Gradle 라이브러리 Import 📜 InfluxClient.java 해당 라이브러리를 사용해 데이터를 저장하는 방법은 총 3가지가 존재한다. 포인트(Point) 객체로 데이터를 저장하는 방법 * Point란 일반 RDB에서의 Row라고 생각하면 된다.* String 방식으로 데이터를 저장하는 방법 Pojo 객체를 이용한 방법

[InfluxDB] InfluxDB Docker로 설치하기
InfluxDB를 간단하게 Docker로 설치하고 활용하기 ✌ 📃 Bitnami의 InfluxDB Docker 이미지 Pull 개인적으로 Docker 이미지를 활용할때 Bitnami의 도커 이미지를 많이 사용하는것 같다. Kafka나 Zookeeper등등 .. 항상 Docker를 작업하는데 있어 Docker Run으로 실행하기 보다 대부분 * docker compose * 로 작성하는 편이다 따라서 InfluxDB 이미지도 docker compose로 설치하고 사용하도록 하겠다 8086포트는 Influx에서 사용하는 Http 포트번호로 다른 포트번호와 겹치지 않게 잘 매핑해주고 환경변수중 웹상에서 로그인하는 과정에서 사용되는 옵션은 * INFLUXDBADMINUSER_PASSWORD* 이며 기본 아이디 값은 * admin* 이다 따라서 웹에서 로그인하는 아이디 패스워드는 다음 아래와 같다 | 아이디 | 패스워드 | | :--

[InfluxDB] InFluxDB Command Line
📃 InfluxDB Command Line 사용하기 😃 docker exec로 InfluxDB 컨테이너 커맨드 다루기 실행된 InfluxDB 컨테이너에 접속하여 InfluxDB와 관련된 커맨드를 핸들링 하기 위해 다음 아래와 같이 명령어를 작성해본다. 다음 아래는 bucket list 를 확인하는 명령어이다. 😢 에러와의 만남 바로 bucket list가 나올것이라고 예상 했지만 다음 아래와 같은 에러를 내뿜으며 잔소리를 한다 Holy.. 😱 에러 내용상으로 ord ID 나 org name을 적어주라고 하는데 저런걸 본적이 없는데..하고 이리저리 찾아보니 org ID 는 다음아래와 같이 입력하여 찾아낼 수 있다 여기서 옵션으로 --token이 들어가는데 여기에 해당되는 값은 Docker Compose를 작성할떄 작성한 환경변수에 들어가있는 값! 그럼 다음 아래와 같이 org ID 와 org name을 확인

InfluxDB csv로 write하기
사실 이거는 별로 어렵지 않음 csv 형태로 잘 넣어주면 되기 때문에 > docs: https://docs.influxdata.com/influxdb/cloud/write-data/developer-tools/csv/ 다음의 공식 문서를 참고하면서 했음 중요한 건 윗 줄 두개인데, dataType과 field/tag명을 명시해 줘야 한다는 번거로움이 있음 measurement 와 tag 는 그냥 measurement, tag 이렇게 이름을 명시해주면 되고, field의 경우에는 dataType을 지정해줘야 함. (그냥 field는 못읽는 것 같더라고요...,,,) 여튼 대충 저렇게 만들었다면 그 다음엔 이렇게 던져버렷! dateType의 경우에는 다음
InfluxDB python 이용해서 batch로 write 하기
InfluxDB에 데이터를 넣어야 할 일이 있어서 python으로 데이터를 넣는 법을 공부해봤다. ElasticSearch에서 data를 bulk로 넣을 수 있다고 했는데, 마찬가지로 influxDB에서도 data를 batch로 (여기서는 batch라고 함) 넣을 수 있다. batch로 쓸 때 관련 자료가 별로 없어서 서칭을 진짜 열심히 한 부분이니 얼른 정리해 두기로 한다 ^_^ 추가적으로, 구글링하면 보통 1.x 버전 기준으로 설명되어 있어서 해당 함수를 사용하지 못하는 경우가 많더라.. 그래서 진짜 헷갈리고 힘들었음 아무리 2.x 버전으로 업데이트 했다지만 이렇게 완전히 다르게 만들어서 사용자들을 힘들게 할 이유가 있었던 걸까... 싶음 일단 대부분의 sdk가 그러하듯 이렇게 커넥션을 설정해줘야함 make_point 함수처럼 tags와 fields를 따로 명시해주고, time의 경우에

InfluxDB (2) - Structure, Data elements
이번에는 InfluxDB 구조에 관한 이야기를 해보려고 한다. 주먹구구 식으로 공부했더니 정리가 안돼서 힘들었음ㅎ; 사실 아직도 다 모르겠음 ㅎ.. 스터디 과제 언제 하냐 ;ㅅ; Overall Structure 일단 v2.x 로 올라오면서 바뀐 큰 것중 하나가 이 Bucket이라고 한다 전에는 Database라는 이름으로 썼다고 하는데, 이제는 Bucket으로 대체되었다. 그리고 우리가 아는 table에 해당하는 개념이 measurement에 유사하고, 인덱스가 timestamp인 DB 정도로 이해하고 있는데 사실대로 말하면 아주 정확하다고는 할 수 없는 듯 Data Elements 
InfluxDB (1) - Design Principles, Storage Engine
요즘 스터디에도 소홀해지고 ㅠ 하루종일 influxDB만 보고 있음 근데 공부해도 해도 볼 게 너무 많고 답도 없고 누군가 물어봤을 때 막힘없이 대답하고 싶은데 그것도 잘 안됨(,,,) 여튼 그간 알게 된 InfluxDB 관련 지식들을 정리해둬야 나중에 또 써먹을 것 같아서 주말이라 시간이 좀 생겼길래 글을 써봄 (그런데도 스터디 과제 아직 못한거 실화냐 나는 다음주에 죽은 목숨이다) 처음에 어려웠던 점은, NoSQL을 AWS에서 사용해봤음에도 불구하고 현업에서 필드가 많아지니까 쿼리나 구조를 이해하는 게 미친듯이 헷갈렸다는 거임 DB 구조가 우리가 알던 RDB와는 딴판이고, 자유롭다 못해 미친것같은 InfluxDB를 소개해보도록 하겠음 앞서 말한 내용에서 짐작이 가겠지만 NoSQL 기반임 강력한 Time-series DataBase라고 docs나 github에서 설명하고 있음 > 시작에 앞서 본 글은 ver.2.2
5인 개발팀에서 DevOps가 일하는 방법
떠밀린 고양이 창업한 회사에 팀원이 늘어나게 되니 직접적인 개발보다는 방향을 잡는 업무가 자연스럽게 늘어나버렸다. 처음 창업했을 때는 프론트엔드 + 백엔드 개발이 위주였다가 개발팀이 3명이 되니 프론트엔드 업무가 사라지고 백엔드 + 인프라 업무를 맡게 되었다. 이제 개발팀이 5명이 되고나서는 서비스의 이용자도 늘어나고 가끔씩 장애도 일어나면서 인프라 업무가 DevOps 업무로 전환되었다. AWS에서 설명하는 DevOps 팀원이 5명이 되니 백엔드, 프론트엔드 개발은 다른사람이 할 수 있게 되었는데, DevOps 업무는 아무도 할 수 없게 되었다. 그래서 주로 DevO
머신과 어플리케이션의 모니터링 아키텍쳐 선택
개발 중인 서비스의 모니터링을 위해, 모니터링 기능을 구현하게 됐다. 모니터링 기능을 제공하기 위한 데이터 수집 오픈소스를 찾다보니 아래 3가지 방안 중 선택을 하게 됐다. 시각화는 따로 구현할 예정이라, 시각화 도구는 고려 대상에서 제외됐다. 선택의 주요 고려 요소 모니터링 중앙 서버 구성 후, 추후 다른 서비스를 추가 수집할 때의 편의성 구성된 리소스 부족시 확장 방안 중앙서버의 네트워크 Throughput 부족 저장 공간 부족 Cpu/Mem 부족 HA 구성을 위한 개발/운영 편의성 모니터링 아키텍쳐 구현 방안 1번 방안 - Telegraf + InfluxDB + Kapacitor 수집: Telegraf 저장: InfluxDB 알람: Kapacitor Telegraf가 수집 대상 서버에 설치되어 InfluxDB로 데이터가 전송/저장된다. 2번 방안 - Prometheus + AlertMana

시계열 데이터베이스 Time series DB
# influxDB 참고 영상 참조: 엑셈 웨비나 시계열 데이터베이스 'influxDB' # 단어집 keyward bucket - 시계열 데이터가 저장되는 명명된 위치 field - RDB unindexed columns과 유사 line protocol - influxDB에 point를 쓰기 위한 텍스트 기반 형식 measurement - RDB table에 해당 tag(string type) - RDB indexed columns과 유사 point - 단일 행의 레코드를 가진 SQL 데이터베이스와 유사, 단일 필드 모음으로 구성되고 각 point는 그 자체로 고유하게 식별 timestamp - point에 관련된 날짜와 시간, influxDB의 timestamps는 항상 나노세컨드 단위의 unix time 값으로 저장( ex 1561681930000000000ns 2019-

team pjt 공정 및 생산관리
# backend 작업일지 ## git branch 분기 설정 develop-db_models: DB 설계 및 models 파일 개발/수정 develop-routes: routes, dao, service, lib 폴더 개발/수정 ## git 작업방법 안전한 작업을 위해 develop branch에서 main을 pull해오고 push한다음, main에서 develop branch를 pull해온다. 위와 같은 방법이 꼭 좋은 방법은 아니다. 가능하면 main에서 바로 develop branch를 pull해오자. ### local에서 git merge하기 git merge 이렇게 머지하면 로컬에서 머지가 되는데 commit이 동시에 된다. 확인은 git log로 한다. 
python에서 influx-client API 연결해서 read, write, query하기
python에서 influx-client api에 연결하기 위해서는 url 정보와 포트, 토큰, organization 이름이 필요합니다. influx-client API 연결 일단 influx-client의 토큰을 얻어와봅시다. influxDB 설치 후 localhost:8086 -> Data -> API Tokens 내 organization's Token 이라는 섹션이 있습니다. 클릭하면 토큰을 복사할 수 있습니다! 복사해서 잠시만 가지고 계세요! 토큰은 공개하지 않는게 기본이죠, 일부 잘라서 올렸으니 직접 획득하셔야합니다! 
influxDB 2.11 설치 및 둘러보기
오늘은 시계열 데이터를 실시간으로 전송받아 저장하기 위한 데이터베이스로 influxDB를 설치하고 스키마를 만드는 과정을 진행해보겠습니다 :) influxDB 다운로드 링크 mac에 influxDB 설치 최신버전은 아래와 같이 설치합니다. 1.x 버전이 필요하다면 아래와 같이 설치합니다. influxDB github 이슈를 살짝 살펴보니 버전이 1->2로 변경되면서 살짝 이슈가 생긴 것 같지만, 일단 어떤 이슈가 있는지 모르니 이후 내용은 최신 버전으로 진행합니다. ![](https://images.velog.io/images/moey920/post/ed7477cd-8f2c-4e7f-a6c8-0e69e5994896/ima