사용자 도구

사이트 도구


database:influxdb

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
database:influxdb [2019/09/26 14:17]
kwon37xi [measurement]
database:influxdb [2020/09/21 22:09] (현재)
kwon37xi
줄 2: 줄 2:
   * https://www.influxdata.com/   * https://www.influxdata.com/
   * [[monitoring:grafana|Grafana]] 와 자주 함께 사용됨   * [[monitoring:grafana|Grafana]] 와 자주 함께 사용됨
 +  * https://www.influxdata.com/time-series-platform/chronograf/
  
 ===== Install / Docker ===== ===== Install / Docker =====
줄 7: 줄 8:
  
 <code sh> <code sh>
-docker run --name=influxdb -p 8086:8086 -v influxdb:/var/lib/influxdb influxdb+# 버전 명시해서 받기 
 +docker run --name=influxdb -p 8086:8086 
 +  -v influxdb:/var/lib/influxdb influxdb:1.7
 </code> </code>
   * 환경변수 등으로 설정할 수도 있고, config 파일을 마운트하여 설정도 가능하다.   * 환경변수 등으로 설정할 수도 있고, config 파일을 마운트하여 설정도 가능하다.
줄 20: 줄 23:
  
 ===== 기본명령 ===== ===== 기본명령 =====
-==== 데이터베이스 생성 ====+==== 데이터베이스 ====
 <code sh> <code sh>
 create database <dbname> create database <dbname>
 use <dbname> use <dbname>
 +show databases
 </code> </code>
  
줄 29: 줄 33:
   * RDB의 테이블과 비슷한 역할.   * RDB의 테이블과 비슷한 역할.
   * 생성할 필요 없다. 즉시 사용하면 된다.   * 생성할 필요 없다. 즉시 사용하면 된다.
 +  * Schemaless 이다. tag(RDB의 컬럼개념)를 추가 insert하면 자동 추가된다.
  
 <code sh> <code sh>
줄 35: 줄 40:
  
 # 메저먼트 목록보기 # 메저먼트 목록보기
-shoe measurements+show measurements
  
 </code> </code>
줄 50: 줄 55:
 </code> </code>
  
 +<code sh>
 +# 태그 키 목록보기
 +show tag keys [FROM measurement]
  
 +# 필드 키 목록 보기
 +show field keys [FROM measurement]
 +</code>
  
 +  * ''select'' 조회 조건은 항상 tag key 를 기준으로 한다. 그 결과로 필드 키의 값들을 가져오는 것이다.
  
 +===== REST API =====
 +==== 조회 ====
 +<code sh>
 +curl -G 'http://localhost:8086/query?pretty=true' \
 +    --data-urlencode 'db=<db이름>' \
 +    --data-urlencode "q=SELECT * FROM <measurement이름> where host='server01'"
 +</code>
 +
 +==== INSERT ====
 +<code sh>
 +curl -i -XPOST 'http://localhost:8086/write?db=<db이름>' --data-binary '<measurement이름>,host=server01,region=us-west value=0.65'
 +</code>
 +
 +==== User ====
 +<code sh>
 +CREATE USER <username> WITH PASSWORD '<password>' WITH ALL PRIVILEGES
 +
 +# 사용자 목록 보기
 +show users
 +</code>
 +
 +===== InfluxDB Relay =====
 +  * https://github.com/strike-team/influxdb-relay
 +  * High Availability 오픈 소스 솔루션
 +  * 혹은 상용 솔루션 사용
 +
 +===== TimeSeriesAdmin - GUI Admin =====
 +  * https://timeseriesadmin.github.io/ : [[:electron|Electron]] 기반 혹은 웹 기반 Admin
 +
 +<code sh>
 +# 8085 포트로 지정
 +docker run --rm -p 8085:80 --name=myinfluxdbadmin timeseriesadmin/timeseriesadmin
 +</code>
 +  * 이제 http://localhost:8085 로 접속하여 influxdb 접속 정보를 주면된다.
 +  * **주의점: docker 이용시라도 influxdb 호출은 server-to-server가 아니라 browser-to-influxdb 로 이루어지므로 브라우저에서 influxdb 에 접근 가능하게 네트워크 설정을 해야한다.**
 ===== 참조 ===== ===== 참조 =====
   * [[https://blog.naver.com/PostView.nhn?blogId=alice_k106&logNo=221226137412&parentCategoryNo=&categoryNo=27&viewDate=&isShowPopularPosts=true&from=search|130. [InfluxDB] InfluxDB Quickstart 및 간단한 사용 방법 정리]]   * [[https://blog.naver.com/PostView.nhn?blogId=alice_k106&logNo=221226137412&parentCategoryNo=&categoryNo=27&viewDate=&isShowPopularPosts=true&from=search|130. [InfluxDB] InfluxDB Quickstart 및 간단한 사용 방법 정리]]
줄 63: 줄 110:
   * [[https://www.popit.kr/influxdb_telegraf_grafana_2/|InfluxDB, Telegraf, Grafana 를 활용한 Monitoring System 만들기(2) | Popit]]   * [[https://www.popit.kr/influxdb_telegraf_grafana_2/|InfluxDB, Telegraf, Grafana 를 활용한 Monitoring System 만들기(2) | Popit]]
   * [[https://www.popit.kr/influxdb_telegraf_grafana_3/|InfluxDB, Telegraf, Grafana 를 활용한 Monitoring System 만들기(3) | Popit]]   * [[https://www.popit.kr/influxdb_telegraf_grafana_3/|InfluxDB, Telegraf, Grafana 를 활용한 Monitoring System 만들기(3) | Popit]]
 +  * [[https://swalloow.github.io/influx-grafana1|influxDB와 Grafana로 실시간 서버 모니터링 구축하기(1)]]
 +  * [[https://swalloow.github.io/influx-grafana2|influxDB와 Grafana로 실시간 서버 모니터링 구축하기(2)]]
database/influxdb.1569475064.txt.gz · 마지막으로 수정됨: 2019/09/26 14:17 저자 kwon37xi