bin/check-instance-health.rb in sensu-plugins-aws-4.1.0 vs bin/check-instance-health.rb in sensu-plugins-aws-5.0.0
- old
+ new
@@ -73,22 +73,27 @@
instance_ids.push(i[:instance_id])
end
end
begin
- resp = ec2.describe_instance_status(instance_ids: instance_ids)
- resp.instance_statuses.each do |item|
- id = item.instance_id
- if gather_events(item.events)
- messages << "#{id} has unscheduled events"
- end
+ resp = []
+ instance_ids.each_slice(100) do |batch|
+ resp << ec2.describe_instance_status(instance_ids: batch)
+ end
+ resp.each do |r|
+ r.instance_statuses.each do |item|
+ id = item.instance_id
+ if gather_events(item.events)
+ messages << "#{id} has unscheduled events"
+ end
- if gather_status(item.system_status)
- messages << "#{id} has failed system status checks"
- end
+ if gather_status(item.system_status)
+ messages << "#{id} has failed system status checks"
+ end
- if gather_status(item.instance_status)
- messages << "#{id} has failed instance status checks"
+ if gather_status(item.instance_status)
+ messages << "#{id} has failed instance status checks"
+ end
end
end
rescue => e
unknown "An error occurred processing AWS EC2 API: #{e.message}"
end