Created 03-02-2016 03:10 PM
Hello everyone,
I am trying to get a list of alerts via REST API but I want it to be limited to only specific fields.
I am currently able to get all available information from the alerts, ie:
{ "href" : "http://ambari_server:8080/api/v1/clusters/appslogs/alerts?Alert/state.in(WARNING,CRITICAL,UNKNOWN)&Alert/maintenance_state=OFF&fields=*", "items" : [ { "href" : "http://ambari_server:8080/api/v1/clusters/appslogs/alerts/23", "Alert" : { "cluster_name" : "appslogs", "component_name" : "AMBARI_AGENT", "definition_id" : 50, "definition_name" : "ambari_agent_disk_usage", "host_name" : "host1.local", "id" : 23, "instance" : null, "label" : "Host Disk Usage", "latest_timestamp" : 1456931060177, "maintenance_state" : "OFF", "original_timestamp" : 1454589680156, "scope" : "HOST", "service_name" : "AMBARI", "state" : "WARNING", "text" : "Capacity Used: [71.56%, 6.0 GB], Capacity Total: [8.3 GB], path=/usr/hdp. Total free space is less than 2.0 GB" }
Does anybody know how to get ONLY state,host and text fields in response?
I tried the following request but it does not work:
http://ambari_server:8080/api/v1/clusters/appslogs/alerts?Alert/state.in(WARNING,CRITICAL,UNKNOWN)&A...
What am I missing?
Apache Ambari Version: 2.2.0.0
Created 03-03-2016 01:01 AM
@Sunella Zag It looks like alerts resource doesn't allow filtering of fields. Only fields=* seems to be working. Specifying any fields results in default fields.
http://ambari_server:8080/api/v1/clusters/appslogs/alerts?Alert/state.in(WARNING,CRITICAL,UNKNOWN)&A...
For services resource, I was able to specify a list of fields and get only required fields in my response.
http://ambari_server:8080/api/v1/clusters/hdp_dev/services/HDFS?fields=alerts_summary
so this seems to be a problem only with alert resource.
Created 03-03-2016 01:01 AM
@Sunella Zag It looks like alerts resource doesn't allow filtering of fields. Only fields=* seems to be working. Specifying any fields results in default fields.
http://ambari_server:8080/api/v1/clusters/appslogs/alerts?Alert/state.in(WARNING,CRITICAL,UNKNOWN)&A...
For services resource, I was able to specify a list of fields and get only required fields in my response.
http://ambari_server:8080/api/v1/clusters/hdp_dev/services/HDFS?fields=alerts_summary
so this seems to be a problem only with alert resource.
Created 03-03-2016 06:05 PM
@Sunella Zag Following fields are defaults and will be included in all responses
"cluster_name" , "definition_id", "definition_name" , "host_name" , "id" , "service_name"
You can include any additional fields using
http://ambari_server:8080/api/v1/clusters/appslogs/alerts?Alert/state.in(WARNING,CRITICAL,UNKNOWN)&A...lert/state,Alert/text