[英]New Relic app name in BlueMix
我目前在Bluemix中的Liberty下運行的Java應用程序上綁定了一個New Relic服務。
我們使用藍綠色部署方法來最大程度地減少推送新版本時的停機時間,因此,應用程序名稱具有版本后綴。
該版本的應用已在New Relic中報告。 當我們推送一個新版本時,New Relic將其作為另一個實例,例如:
這打破了報告時間表。 如果早上部署了某些設備,則無法將前一天的數據與今天的數據進行比較。
我想做的是在New Relic中覆蓋應用程序名稱,以便它僅報告“ App”而沒有版本號。 這應該給我一個連續的時間表以供應用查看。 (理想情況下,然后我將讓腳本向New Relic發布部署通知,以便它可以使用標簽進行指示。)
使用CF添加和綁定新文物,如下所示:
cf cups newrelic -p'{“ licenseKey”:“ xxxxx”}'
除了許可證密鑰外,似乎沒有其他方法可以設置任何其他參數。
查看Liberty buildpack源,我看到應用程序名稱作為系統屬性附加到服務器啟動參數中。
@java_opts << "-Dnewrelic.config.app_name=#{vcap_app_name}"
您可以嘗試的一件事是推送具有相同系統屬性的自由服務器,然后查看您的服務器是否具有優先權[我不知道有什么方法可以確保您的服務器具有該優先權]。 從我對源代碼的評論來看,似乎沒有任何內置的buildpack機制可以覆蓋傳遞給新的遺留代理的應用程序名稱。 這似乎是對構建包的一項很好的增強。
另一種考慮的可能性。 作為藍色/綠色部署的一部分,為什么不總是將其部署到相同的應用程序名稱(例如myapp),然后在藍色/綠色部署時對應用程序進行重命名。 例如:
cf rename myApp myApp_old_v2
cf push myApp ... //pushing v3
在這種類型的方案中,應用程序將始終以myApp的形式報告給新文物
設置NEW_RELIC_APP_NAME環境變量。 您可以在命令行上使用cf set-env APP_NAME ENV_VAR_NAME ENV_VAR_VALUE來執行此操作,其中ENV_VAR_NAME是NEW_RELIC_APP_NAME。 此環境變量的優先級最高,它將覆蓋默認的New Relic app_name。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.