2013-04-18 34 views
2

我試圖讓NewRelic python代理與我的設置與監督和gunicorn,但不能得到它的工作。不能得到與gunicorn主管django 1.6的Newrelic工作

這裏是我當前的超級安裝,工程:

[program:gunicorn] 
directory = /home/<USER>/.virtualenvs/<DOMAIN>/myproject/ 
command=/home/<USER>/.virtualenvs/<DOMAIN>/bin/gunicorn my_project.wsgi:application 

我試着這樣做:

[program:gunicorn] 
directory = /home/<USER>/.virtualenvs/<DOMAIN>/myproject/ 

#Working command 
#command=/home/<USER>/.virtualenvs/<DOMAIN>/bin/gunicorn myproject.wsgi:application 


command=/home/<USER>/.virtualenvs/<DOMAIN>/bin/newrelic-admin run-program /home/<USER>/.virtualenvs/<DOMAIN>/bin/gunicorn myproject.wsgi:application 
environment=NEW_RELIC_CONFIG_FILE=/home/<USER>/.virtualenvs/<DOMAIN>/myproject/newrelic.ini 

user = <USER> 
autostart = true 
autorestart = true 
stderr_events_enabled = true 
redirect_stderr = true 
stdout_logfile = /home/<USER>/logs/gunicorn.log 
stderr_logfile = /home/<USER>/logs/gunicorn_err.log 

但後來我得到這個錯誤:

Traceback (most recent call last): 
    File "/home/user/.virtualenvs/domain.com/lib/python2.7/site.py", line 688, in <module> 
    main() 
    File "/home/user/.virtualenvs/domain.com/lib/python2.7/site.py", line 679, in main 
    execsitecustomize() 
    File "/home/user/.virtualenvs/domain.com/lib/python2.7/site.py", line 547, in execsitecustomize 
    import sitecustomize 
    File "/home/user/.virtualenvs/domain.com/local/lib/python2.7/site-packages/newrelic-1.10.2.38-py2.7-linux-x86_64.egg/newrelic/bootstrap/sitecustomize.py", line 74, in <module> 
    newrelic.agent.initialize(config_file, environment) 
    File "/home/user/.virtualenvs/domain.com/local/lib/python2.7/site-packages/newrelic-1.10.2.38-py2.7-linux-x86_64.egg/newrelic/config.py", line 1456, in initialize 
    log_file, log_level) 
    File "/home/user/.virtualenvs/domain.com/local/lib/python2.7/site-packages/newrelic-1.10.2.38-py2.7-linux-x86_64.egg/newrelic/config.py", line 383, in _load_configuration 
    'Unable to open configuration file %s.' % config_file) 
newrelic.api.exceptions.ConfigurationError: Unable to open configuration file /. 

的NewRelic的。 ini文件在這條路上,所以我做錯了什麼?

編輯:

路徑newrelic.ini文件是:

/home/<USER>/.virtualenvs/<DOMAIN>/myproject/newrelic.ini 

回答

6

環境需要報價工作。

這裏是一個工作設置:

[program:gunicorn] 
directory = /home/<USER>/.virtualenvs/<DOMAIN>/<PROJECT>/ 
command=/home/<USER>/.virtualenvs/<DOMAIN>/bin/newrelic-admin run-program /home/<USER>/.virtualenvs/<DOMAIN>/bin/gunicorn <PROJECT>.wsgi:application 
environment=NEW_RELIC_CONFIG_FILE="/home/<USER>/.virtualenvs/<DOMAIN>/<PROJECT>/newrelic.ini" 

user = <USER> 
autostart = true 
autorestart = true 
stderr_events_enabled = true 
redirect_stderr = true 
stdout_logfile = /home/<USER>/logs/gunicorn.log 
stderr_logfile = /home/<USER>/logs/gunicorn_err.log 
1

您沒有使用NewRelic的管理員爲是首選的方法使用gunicorn時。使用:

[program:gunicorn] 
directory = /home/user/.virtualenvs/domain.com/my_project/ 
command=/home/user/.virtualenvs/domain.com/bin/newrelic-admin run-program /home/user/.virtualenvs/domain.com/bin/gunicorn my_project.wsgi:application 
environment=NEW_RELIC_CONFIG_FILE=/home/user/.virtualenvs/domain.com/bin/newrelic.ini 

有沒有必要改變你的wsgi.py文件中的任何東西。

爲什麼你在bin目錄下有newrelic.ini文件我不知道。你通常會堅持你的項目,但是你的項目也在virtualenv之下,這也有點奇怪。

對於來自supervisord見傳遞環境變量:

詳細的NewRelic的管理員命令以及如何使用它與gunicorn看到:

+0

嘗試了您的建議(並將newrelic.ini移至我的項目路徑),但得到相同的錯誤。用追溯更新了問題。 –

+0

你使用了我給的supervisord配置嗎?編輯您的問題並添加您正在使用的當前supervisord配置。同時給出newrelic.ini現在位於您的問題中的完整路徑,以便將它與您在supervisord配置中指定的內容進行比較。同時確認你沒有修改wsgi.py來添加任何與New Relic相關的東西,因爲如果使用newrelic-admin,那麼這是不需要的,並且如果兩者都完成,可能會導致衝突。 –

+0

是的。我確實使用你的配置。 我已經用完整的主管腳本更新了我的問題。 –

0

好I'was面臨同類問題。我得到如下:

warpdrive: ERROR (no such file) 

要我壞我的任何改變後未更新supervisorctl到supervisord.conf文件。所以,球員只要更改然後supervisord.conf文件重新運行CMD如下:

sudo supervisorctl update 

然後運行:

sudo supervisorctl restart all 

乾杯!