3. 설정하기

3.1. Funapi Dashboard 설정

환경 설정을 하기 위해서는 앞 챕터에서 설정한 설정 파일을 열어서 내용을 수정합니다. 기본적으로 반드시 설정해야 할 것들은 다음과 같습니다.

  • APP_SECRET_KEY : Funapi dashboard 가 가지는 SECRET_KEY 입니다. 임의의 값을 주어야 합니다.

    Note

    아래와 같은 방법으로 임의의 값을 생성할 수 있습니다.

    $ openssl rand -hex 32
    # 해당 커멘드의 결과 값이 8ed5d43798... 라면 settings.py를 다시 열어
    # 다음처럼 복사해서 넣어주시면 됩니다.
    # " " 으로 감싸야합니다.
    # APP_SECRET_KEY = "8ed5d43798...."
    
  • SQLALCHEMY_DATABASE_URI: mysql 계정 정보를 입력합니다.

데이터베이스가 설치되어있지 않다면 install_database 를 참조하세요.

기본 설정이 끝났다면 아래와 같이 입력합니다.

CentOS 7, Ubuntu 16.04

$ sudo systemctl daemon-reload
$ sudo systemctl enable funapi-dashboard
$ sudo systemctl start funapi-dashboard
$ sudo docker exec \
    --env FUNAPI_DASHBOARD_SETTINGS=/etc/funapi_dashboard/override/settings.py \
    -it $(sudo docker ps | grep funapi_dashboard | cut -d' ' -f1) \
    python /etc/funapi_dashboard/manage.py syncdb

Ubuntu 14.04

$ sudo start funapi_dashboard
$ sudo docker exec \
    --env FUNAPI_DASHBOARD_SETTINGS=/etc/funapi_dashboard/override/settings.py \
    -it $(sudo docker ps | grep funapi_dashboard | cut -d' ' -f1) \
    python /etc/funapi_dashboard/manage.py syncdb

Attention

Funapi Dashboard 는 기본적으로 8000번 포트를 사용합니다. 포트를 변경하려면 /lib/systemd/system/funapi-dashboard.service 에서 포트 맵핑을 변경해주시기 바랍니다.

SELinux가 실행되어 있는 경우 /etc/nginx/conf.d/funapi_dashboard.conf 파일 (혹은 /etc/nginx/sites-available/funapi_dashboard.conf 파일)에서 포트를 SELinux가 허용하는 포트로 변경해주세요.

3.2. Funapi Dashboard Agent 설정

Funapi Dashboard Agent 는 동작하기 위해 대시보드가 떠 있는 서버의 주소와 맵핑한 포트 번호가 필요합니다.

환경 설정을 하기 위해 아래와 같이 입력합니다.

$ sudo vi /etc/funapi_dashboard_agent/settings.py

# 아래와 같은 내용이 있습니다.
# COLLECT_CARBON_ADDRESS = "dashboard-host-address:2003"
# ...

# 해당 내용을 수정합니다.
# COLLECT_CARBON_ADDRESS 에 Graphite-Carbon 의 IP와 포트를 적습니다.
# 포트를 수정하지 않았다면 2003을 사용합니다.
# UNIQUE_NAME을 수정하여 서버의 이름을 지정할 수 있습니다.
# 기본값은 해당 서버의 hostname입니다.

CPU 사용량과 메모리 사용량을 올바르게 받아오기 위해서는 sysstat 의 cron 이 1분 마다 동작하도록 설정해야합니다.

CentOS

$ sudo vi /etc/cron.d/sysstat

# 아래 내용을 변경하여 1분마다 동작하도록하겠습니다.
# */10 * * * * root /usr/lib64/sa/sa1 1 1
* * * * * root /usr/lib64/sa/sa1 1 1
...

Ubuntu

$ sudo vi /etc/default/sysstat

# 아래 내용을 변경하여 sysstat을 사용합니다.
# ENABLED="false"
ENABLED="true"

$ sudo vi /etc/cron.d/sysstat

# 아래 내용을 변경하여 1분마다 동작하도록하겠습니다.
# 5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
* * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1