Ask Your Question
0

대시보드 관련해서 문의드립니다.

asked 2019-01-29 12:17:25 +0900

simpler gravatar image

updated 2019-01-29 13:22:59 +0900

Jinuk gravatar image

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

입력시

/etc/funapi_dashboard/manage.py 파일이 없다고 나오는데요. 어떤 부분을 설치해야 해당 경로에 manage.py 파일이 생성되는지 문의 드립니다.

edit retag flag offensive close merge delete

4 answers

Sort by » oldest newest most voted
0

answered 2019-02-01 11:12:31 +0900

inkeun.kim gravatar image

안녕하세요. docker 관련하여 설정에 어려움을 겪고 있으신 부분은 차후에 매뉴얼을 개선하여 조금 더 편하게 사용하실 수 있도록 수정하겠습니다. 불편을 드려 죄송합니다.

funapi-dashboard 는 리눅스 머신 내의 docker container로 배포되고 있는데요. funapi-dashboard 는 리눅스 머신에서 설정을 읽고, 통게 데이터를 저장하고 있어서 몇가지 설정을 해주셔야 하는데요,

아래 두 옵션에 대하여 조금 더 자세히 설명드리자면 아래와 같습니다.

/path/to/override
/path/to/whisper

/path/to/whisper 는 통계 데이터를 저장할 디렉터리 경로로 리눅스 머신 내의 임의의 경로를 생성 후 입력해주시면 됩니다. (예시: /var/lib/graphite/whisper)

/path/to/overridesettings.py (대시보드의 설정파일)을 가지고 있는 하위 경로를 입력해주시면 됩니다. (예시: 리눅스 머신에 /etc/funapi_dashboard/settings.py 가 존재한다면 /path/to/override/etc/funapi_dashboard)

아래 내용은 /etc/funapi_dashboard/ 디렉토리에 settings.py 파일이 존재하고, /var/lib/graphite/whisper 디렉토리가 존재하고, 해당 디렉토리에 통계 데이터를 쌓고 싶은 경우 설정입니다.

description "iFunEngine Dashboard"

start on (filesystem and net-device-up IFACE!=lo)
stop on runlevel [!2345]

kill timeout 30

respawn
respawn limit 50 600

script
  exec /usr/bin/docker run --rm \
    --name=funapi_dashboard \
    --dns=168.126.63.1 \
    --publish=0.0.0.0:8000:8000 \
    --publish=0.0.0.0:2003:2003 \
    --publish=0.0.0.0:2004:2004 \
    -v /etc/funapi_dashboard:/etc/funapi_dashboard/override \
    -v /var/lib/graphite/whisper:/var/lib/graphite/whisper \
    ifunfactory/funapi-dashboard:latest
end script

pre-stop exec /usr/bin/docker stop funapi_dashboard

추가로, settings.py 의 내용은 아래와 같습니다.

# vim: fileencoding=utf-8 tabstop=2 softtabstop=2 shiftwidth=2 expandtab        
#                                                                               
# Copyright (C) 2018 iFunFactory Inc. All Rights Reserved.                      
#                                                                               
# This work is confidential and proprietary to iFunFactory Inc. and             
# must not be used, disclosed, copied, or distributed without the prior         
# consent of iFunFactory Inc.    

# 1. MySQL
URI_TEMPLATE = 'mysql+mysqldb://{USER}:{PASSWORD}@{HOST}/{NAME}?charset=utf8'

SQLALCHEMY_DATABASE_URI = URI_TEMPLATE.format(USER='user',
                                              PASSWORD='passwd',
                                              HOST='host-address',
                                              NAME='database-name')


# 2. Redis (DO NOT MODIFY)
REDIS_PORT = 6379
REDIS_HOST = "localhost"
REDIS_PASS = None


# 3. 앱 시크릿키는 설정해서 사용하셔야 합니다.
# openssl rand 48 -hex 같은 명령 이용. (문자열로 지정)
APP_SECRET_KEY = None

# 4. Graphite API (DO NOT MODIFY)
GRAPHITE_WEB_URL = "http://localhost:8888"
SQLALCHEMY_TRACK_MODIFICATIONS = False


# 5. 경고 알림과 관련된 설정입니다.
# 알림을 다시 받을 주기입니다. 기본은 300초(5분) 입니다.
ALERT_BLOCKING_SECONDS = 300

# Gmail OAuth 2.0 Client 인증과 관련 설정입니다.
# 보다 자세한 내용은
# https://developers.google.com/gmail/api/auth/about-auth 을 참고해주세요

# gmail oauth credential 이 저장 될 이름입니다.
CREDENTIAL_NAME = 'funapi-dashboard.json'

# gmail oauth credential 이 저장된 패스입니다.
# 해당 경로가 없을시에 정상적으로 메일이 발송되지 않습니다.
# 특별히 수정하지않았다면 아래 경로에 저장됩니다.
# /home/user/.credentials/...
# /home/ 하위에 credential 파일이 있다면 정상적으로 읽지 못하니
# 반드시 파일위치를 옮겨주세요.
# 예: CREDENTIAL_PATH = "/etc/funapi_dashboard/override/funapi-dashboard.json"
CREDENTIAL_PATH = None

# 이메일 작성자 계정을 지정합니다.
# 해당 계정은 CLIENT_SECRET 을 발급 받은 계정이여야 합니다.
# 예: SENDER_NAME = "example@ifunfactory.com"
SENDER_NAME = None

# API SCOPE를 지정합니다.
GMAIL_API_SCOPES = 'https://www.googleapis.com/auth/gmail.compose'

# 인증시 발급받은 client_secret...json 파일의 위치를 지정합니다.
# 예: CLIENT_SECRET_PATH = "/etc/funapi_dashboard/client_secret.json"
CLIENT_SECRET_PATH = None

# SLACK을 이용한 알림 전송과 관련된 설정입니다.
# 보다 자세한 내용은
# https://api.slack.com/incoming-webhooks 을 참고해주세요

SLACK_WEBHOOK_URL = 'https://YOUR-COMPANY.slack.com/services/hooks/incoming-webhook?token={YOUR-TOKEN}'

# 메시지를 전송할 슬랙 체널이나 유저를 설정합니다.
# 채널은 #, 유저는 @이 앞에 ...
(more)
edit flag offensive delete link more
0

answered 2019-01-31 12:27:55 +0900

simpler gravatar image

아래처럼 에러가 나옵니다. /etc/funapi_dashboard/override/settings.py는 생성하여 진행한 상태입니다.

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 Traceback (most recent call last): File "/etc/funapi_dashboard/manage.py", line 27, in <module> from funapi_dashboard import app, db, redis_store File "/usr/lib/python2.7/dist-packages/funapi_dashboard/__init__.py", line 21, in <module> app.config.from_envvar('FUNAPI_DASHBOARD_SETTINGS') File "/usr/lib/python2.7/dist-packages/flask/config.py", line 108, in from_envvar return self.from_pyfile(rv, silent=silent) File "/usr/lib/python2.7/dist-packages/flask/config.py", line 128, in from_pyfile with open(filename) as config_file: IOError: [Errno 2] Unable to load configuration file (No such file or directory): '/etc/funapi_dashboard/override/settings.py'

edit flag offensive delete link more

Comments

매뉴얼을 따라 했다면, https://ifunfactory.com/engine/docume... 아래 부분을 서버 내의 디렉터리로 지정했는지 확인이 필요합니다.

  • /path/to/override: 서버 설정 디렉터리에 해당하는 디렉터리로 변경
  • /path/to/whisper: 통계 데이터를 저장할 디렉터리로 변경
Jinuk gravatar imageJinuk ( 2019-01-31 15:26:50 +0900 )edit

설치된 경로를 찾아서 직접 설정해줘야 하는 부분인거군요? 서버 설정 디렉터리가 정확하게 어떤 의미인지요? docker가 뭔지는 모르겠지만, 전반적으로 따라하기가 쉽지는 않은것 같습니다. 죄송합니다.

simpler gravatar imagesimpler ( 2019-01-31 17:17:42 +0900 )edit
0

answered 2019-01-29 14:23:29 +0900

Jinuk gravatar image
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

위 명령으로 실행 부탁 드리겠습니다. (중간의 funapi_dashboard 를 funapi-dashboard 로 변경했습니다) 해당 내용은 이후 릴리즈에서 문서에 반영하도록 하겠습니다.

edit flag offensive delete link more

Comments

Error: No such container: python // 출력이 됩니다.

simpler gravatar imagesimpler ( 2019-01-30 10:20:41 +0900 )edit

sudo docker ps | grep funapi-dashboard 로 나오는 컨테이너가 있는지 확인 바랍니다. 없다면 sudo docker ps 해서 나오는 목록을 알려주시면 확인해보겠습니다.

Jinuk gravatar imageJinuk ( 2019-01-30 10:33:11 +0900 )edit

출력되는 목록이 없습니다. 대시보드 설치하기 메뉴얼을 순차적으로 진행한 상태입니다.

simpler gravatar imagesimpler ( 2019-01-30 10:40:34 +0900 )edit

혹시 이파일이 맞나요? /var/lib/docker/overlay2/0457dc5d389283dbb9772384157ff0ac5b403c65f21c8a474cf749c2d1cb90ae/diff/etc/funapi_dashboard/manage.py

simpler gravatar imagesimpler ( 2019-01-30 16:57:43 +0900 )edit

위에서 sudo docker ps 해서 나오는 항목이 없다면, sudo systemctl start funapi-dashboard 중간 절차의 이 부분이 실행되지 않은 것으로 보입니다. 이 부분부터 다시 진행 해주시면 될 것 같습니다.

Jinuk gravatar imageJinuk ( 2019-01-30 21:07:17 +0900 )edit
0

answered 2019-01-29 13:37:57 +0900

Jinuk gravatar image

해당 파일은 docker 이미지 내에 존재합니다.

docker images ifunfactory/funapi-dashboard 명령으로 사용 중인 이미지를 확인해주시면, 해당 이미지에 문제가 없는지 확인해드리겠습니다.

edit flag offensive delete link more

Comments

아래 정보와 같습니다.

ifunfactory/funapi-dashboard latest e26821b648a7 7 months ago 509MB

simpler gravatar imagesimpler ( 2019-01-29 14:02:17 +0900 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2019-01-29 12:17:25 +0900

Seen: 134 times

Last updated: Feb 01