Hi Jon,
   Thanks very much. In fact ,I have used the RRD interface to get the
master's metrics,and it worked fine. The codes as follows:

https://github.com/hswayne77/CitrixXenserver-monitoring

   But I cannot get the slave's metrics , unless I use the commands
"pool.designate_new_master" to make slave become master. If I do so, I
still cannot get the other two slaves metrics.
   In the *Citrix XenServer Management API ,*  I can only manage  the slave
host by the master . In the session, the arguments "url" cannot be the
slave's ip, or it will show the  failure: [HOST_IS_SLAVE].
   I do not want to get just one host metrics, instead I want to get all 3
hosts metrics in the same pool and  to show them in one page at the same
time.


Thanks and Regards

Will

2014-11-24 19:40 GMT+08:00 Jon Ludlam <jonathan.lud...@citrix.com>:

>  Hi Will,
>
> To get performance metrics, the preferred mechanism is to use the RRD
> interface - it's much more lightweight than using the API
> 'query_data_source'. Have a look here for some docs and sample code:
>
>
> http://xenserver.org/partners/developing-products-for-xenserver/18-sdk-development/96-xs-dev-rrds.html
>
> Jon
>
>
> On 24/11/14 02:46, Will Sun wrote:
>
> Hi all,
> I build a pool includes 3 hosts : vGate7, vGate8 and vGate9. vGate9 is the
> master, others are slaves.
> I build a page to show the host and vm performing
> metrics(e.g.cpu_utilization)  on it. It works fine for the mater
> (vGate9).But it cannot get the slave performing metrics.
>
>  As follows in picture 1 :
>
>
>
>  In python, I use the following codes to get the CPU Usage:
>
>                import XenAPI
>               url = "https://host_ip";
>               username = "hostname"
>               password = "self_password"
>
>                session = XenAPI.session(url)
>               session.xenapi.login_with_password(username,password)
>
>
>                cpu_usage =
> session.xenapi.host.query_data_source("OpaqueRef:35ad218e-09e2-4117-e93d-0de371265448"
> , 'cpu_avg')
>               # OpaqueRef:35ad218e-09e2-4117-e93d-0de371265448  is vGate7
> (slave),
>               # and it will show XenAPI.Failure:*['HOST_OFFLINE']*
>
>
>  I attempt to make an API call to a slave (even someting trivial like
> pool.get_all()),I get the *['HOST_IS_SLAVE'] *exception,along with the
> master's IP address.
>
>
>  The main problem is to get 3 hosts real-time performing metrics and to
> show them on the same page.
> Is there any workaround to solve this problem?
> The attachment is picture1, incase you cannot see it  in the message.
> Thank you in advance!
>
>
>  Thanks and Regards,
> Will
>
>
> _______________________________________________
> Xen-api mailing 
> listxen-...@lists.xen.orghttp://lists.xen.org/cgi-bin/mailman/listinfo/xen-api
>
>
>
> _______________________________________________
> Xen-api mailing list
> Xen-api@lists.xen.org
> http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api
>
>
_______________________________________________
Xen-api mailing list
Xen-api@lists.xen.org
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api

Reply via email to