728x90
Prometheus Data 저장
수집한 데이터를 저장하고 시간에 흐름에 따라 조회를 할 수 있도록 시계열(Time-series) 데이터를 저장할 수 있는 저장소가 내장되어 있습니다.
데이터를 저장하는 방법은 Local Storage와 Remote Storage를 이용하는 방법이 있으며, 대부분은 Local Storage를 사용하지만 원격지에 있는 서버에 데이터를 저장하는 방법도 사용할 수 있습니다.
STORAGE https://prometheus.io/docs/prometheus/latest/storage/#remote-storage-integrations |
Remote Storage 설정(TSDB(Time-series Database) 중 InfluxDB 활용)
설치
Docker
docker run
-- 기본 구성파일 생성
$ docker run --rm influxdb influxd config > <directory>/influxdb.conf
-- 기본 구성파일 수정 후 InfluxDB 컨테이너 시작
$ docker run -p 8086:8086 --name influxdb -h <Public ip of influx server> -v <directory>/influxdb.conf:/etc/influxdb/influxdb.conf:ro influxdb -config /etc/influxdb/influxdb.conf
Download : https://docs.influxdata.com/influxdb/v1.8/introduction/download/
테이블 생성
CREATE DATABASE
curl -G http://<Public ip of influx server>:<influx service port>/query --data-urlencode "q=CREATE DATABASE <dbname>"
-- 생성된 dbname 확인
curl -G http://<Public ip of influx server>:<influx service port>/query --data-urlencode "q=SHOW DATABASES"
보관기간 설정 CREATE DATABASE [WITH [DURATION ] [REPLICATION ] [SHARD DURATION ] [NAME ]] WITH, DURATION, REPLICATION, SHARD DURATION, NAME절은 선택 사항이며 지정하지 않으면 WITH관련 동작의 기본값은 autogen 보존 정책 설정입니다. 생성 된 보존 정책은 자동으로 데이터베이스의 기본 보존 정책으로 사용됩니다. 이중 DURATION 절은 InfluxDB가 데이터를 보관하는 기간을 결정합니다. <duration>은 기간 리터럴 또는 INF (무제한)입니다. 보존 정책의 최소 기간은 1 시간이고 최대 기간은 무제한입니다. |
InfluxDB 서비스가 시작되고 실행되면 Prometheus(prometheus.yml)에 다음 구성이 필요합니다.
Template https://docs.d2iq.com/mesosphere/dcos/services/prometheus/0.1.1-2.3.2/configuration/remote-storage/ |
Example
# Remote write configuration (for Graphite, OpenTSDB, or InfluxDB).
remote_write:
- url: "http://<Public ip of influx server>:<influx service port>/api/v1/prom/write?db=<dbname>"
# Remote read configuration (for InfluxDB only at the moment).
remote_read:
- url: "http://<Public ip of influx server>:<influx service port>/api/v1/prom/read?db=<dbname>"
Prometheus 재시작 후 저장 data 확인
CLI
# influx
> use <dbname>
> show measurements
...
keycloak_failed_login_attempts
keycloak_logins
keycloak_request_duration_bucket
keycloak_request_duration_count
keycloak_request_duration_sum
keycloak_user_event_CODE_TO_TOKEN
keycloak_user_event_LOGOUT
keycloak_user_event_REFRESH_TOKEN
...
> select * from keycloak_logins
name: keycloak_logins
time __name__ client_id instance job provider realm value
---- -------- --------- -------- --- -------- ----- -----
1591923807133000000 keycloak_logins security-admin-console keycloak.example:8080 keycloak keycloak master 4
1591923812133000000 keycloak_logins security-admin-console keycloak.example:8080 keycloak keycloak master 4
728x90
'클라우드 > prometheus' 카테고리의 다른 글
prometheus 사용가이드 (0) | 2021.10.03 |
---|---|
prometheus - InfluxDB 설치( 설치 파일 사용 ) (0) | 2021.10.02 |
prometheus - gitlab metrics 설정하기 (0) | 2021.09.30 |
prometheus - keycloak Metrics 설정하기 (0) | 2021.09.29 |
prometheus - kong Metrics 설정 (0) | 2021.09.28 |
댓글