음,~ history 찍어가면서 다시 한번 복습해본다
influxDB 같은 경우는 전에 회사에서 테스트했을 때도 그랬지만.. Document가 너무 베이스부터 잘 되어 있어서 실제로 사용하는데에 어려움은 별로 없지 않을까,, 싶다
ref: https://docs.influxdata.com/influxdb/v2/install/?t=Linux
cat <<EOF | sudo tee /etc/yum.repos.d/influxdata.repo
[influxdata]
name = InfluxData Repository - Stable
baseurl = https://repos.influxdata.com/stable/\$basearch/main
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdata-archive_compat.key
EOF
dnf install influxdb2
그리고 systemctl list-unit-files --type=service
확인해봤더니 enabled 잘 되어있었음
systemctl start influxdb.service
systemctl status influxdb
그럼 이제 influxdb가 켜졌다
AWS에서 갓 오픈한 인스턴스라 아무것도 없었음.
dnf install wget
wget https://download.influxdata.com/influxdb/releases/influxdb2-client-2.7.5-linux-amd64.tar.gz
tar xvzf influxdb2-client-2.7.5-linux-amd64.tar.gz
cp ./influx /usr/local/bin/
경로 설정 잘해주기.. 그냥 복붙했다가 mv로 다 옮겼당
명령어를 제대로 사용하고 싶다면 bin으로 옮겨주기~!
이제 setup을 통해서 정보를 입력해 줄 것이다.
setup --username [name] --password [passwd] --token [token] --org [org] --bucket [default bucket] --force
여기서 token 관련 이슈가 있었는데, Docs의 내용을 참고해보면 그냥 influx setup
을 이용해도 된다고 했다.
하지만 이렇게 할 경우 token을 입력하는 칸이 없으며 최초 op token에 대한 처리가 어려워진다.
operator token을 직접 token
옵션으로 명시해줌으로써 유지보수를 간편하게 하자.
API 토큰을 발급받는데는 총 세가지 방법이 있는데, 여기서는 두가지만 소개해보겠다.
1) cli를 통한 발급
2) api를 이용한 발급
3) ui를 이용한 발급
DB의 경우 대부분 프라이빗 네트워크에 위치하기 때문에 ui를 이용한 발급이 어려울 것이다. 따라서 cli와 ui를 이용한 발급 두가지를 간단하게 소개해보고자 한다.
참고로 나는 cli를 통한 발급을 이용하였다.
서버의 8086 포트로 접근하자.
로그인을 하라는,, 이런 깔끔한 UI가 뜬다.
아까 입력했던 정보들로 로그인을 하면 UI로 Token 발급이 가능!!
여기 API Token에다가 정보 입력해주고 API 발급받으면 된다
Token에 대한 설정도 가능한 듯.
여기, copy 버튼 눌러서 copy가 잘 안되는 경우가 있으니 꼭 드래그해서 사용하자. :)
influx auth create --all-access --host http://localhost:8086 --org [org] --token [token]
이렇게 하면 토큰을 뿌려준다.
뿌려주는 토큰을 저장해놨다가, 컨픽을 생성할 때 사용할 수 있다
여기서 삽입하는 토큰은 방금 생성한 all-access token을 이용해주면 좋다.
그리고
influx config list
를 찍어보면 두개의 config가 나오는데 저기 있는 default의 경우 아까 최초에 setup하였던 op token이 포함된 config라고 볼 수 있다.
이 Unauthorized: access to ~ operator permissions 오류때문에 고생을 좀 했다.
이건 token 오류로, env에 설정되어 있는 기본 토큰이 all-access-token일 경우 모든 org를 컨트롤 할 수 없기에, 서버 컨픽을 볼 수 없다는 것이다.
따라서 env의 토큰을 op token으로 설정해주어야 한다.
export INFLUX_TOKEN=[op token]
이용해서 op token으로 변경해주자.
사실 옳은 그림은 아닌데 프로젝트 팀원들의 이해를 돕기 위해 한번 작성해봤던 그림이다!
따지자면 operator token이 all-access token이고, 실제로 우리가 all-access token이라고 부르는 애들은 org 내의 모든 처리에 대해 all-access 권한을 가지고 있는 것이라고 이해하면 편할 것 같다.
따라서 보안상의 이슈(,,가 있겠지만ㅠ..?)를 제외한다면 op token을 일단 env로 설정해놓자!