Showing results for 
Show  only  | Search instead for 
Did you mean: 

Create OneAgent custom plugin / extension : fail to command line upload on Cluster




Based on I built, uploaded manually on cluster, and deployed on a sand box OneAgent my custom extension. Fine.


Now I am trying to upload the extension on the cluster through command line as documented on

It says : plugin_sdk upload_plugin --plugin_zip...  --server ...

But :

  • what is supposed to be --server option value ? I cannot find this.
  • I guessed /api/v1/remoteplugins but I cannot find API tester for this : where is it ?
  • when I try to run the plugin_sdk upload_plugin --plugin_zip /tmp/ ... I get a :



server<env_id>/api/v1/remoteplugins/ returned status code: 400 {"error":{"code":400,"message":"Plugin *.zip file name should match plugin id."}}​



and I cannot make sens of this.

Does any one know how to command line upload a OneAgent custom extension ?




BTW, plugin_sdk upload_plugin tell me

Please execute oneagent_verify_plugin before upload to validate plugin.json against the schema


  • I did : oneagent_verify_plugin => Plugin custom.python.myplugin is valid
  • I also did : plugin_sdk verify_plugin => also says ok, and looks like it is the same command


Also FYI :

my plugin.json  file says

  "name": "custom.python.my_plugin",

and my plugin file is


I am puzzled.

DynaMight Guru
DynaMight Guru

The problem is you are uploading a OneAgent extension but have /api/v1/remoteplugin at the end of the server URL, which is for AG extensions. For oneagent extensions it is /api/v1/plugins.


But you can leave out the API Endpoint and enter the server as  or and it will pick the correct API endpoint depending on if you are building an activegate or oneagent extension.

Dynatrace Certified Master - Dynatrace Partner -


Shouldn't it be someone different to set an answer as a solution ? 🙂

At least in my case this is not the solution :

plugin_sdk upload_plugin --plugin_zip --server https://my.dynatrace.server/e/<env_id>/ --token dt0c01....
The server endpoint https://my.dynatrace.server/e/<env_id>/ is not designed for plugin upload

plugin_sdk upload_plugin --plugin_zip --server https://my.dynatrace.server/ --token dt0c01....
The server endpoint https://my.dynatrace.server/ is not designed for plugin upload


At last : 

plugin_sdk upload_plugin --plugin_zip --server https://my.dynatrace.server/e/<env_id>/api/v1/plugins --token dt0c01....
Attempting to send plugin to server https://my.dynatrace.server/e/<env_id>/api/v1/plugins
plugin has been uploaded successfully


If you set it with --server you need to add the correct API endpoint.

Or you can just leave out the --server all together and enter it as mentioned above when prompted, that will select the correct endpoint then.

Dynatrace Certified Master - Dynatrace Partner -

Not functionning in my case :

plugin_sdk upload_plugin --plugin_zip  --token dt0c01....
File: /etc/init.d/dynatracefunctions not found - Remote Plugin Module is detected
Could not read file /var/lib/dynatrace/oneagent/agent/config/plugin_sdk.conf: No such file or directory - Neither OneAgent nor Remote Plugin Module is detected
server upload endpoint is missing

Looks like plugin_sdk upload_plugin needs the --server parameter.

So for a oneagent plugin  you'd have to use:

plugin_sdk upload_plugin --server  -t dt0c01.XXX.XXX


Or you can do it without the --server when building the plugin which would query:

oneagent_build_plugin -t dt0c01.XXX.XXX
Enter server address, exemplary address:, or for managed include the tenant ID in the path:



Dynatrace Certified Master - Dynatrace Partner -

Featured Posts