我正在使用Jaspersoft的iReport和icinga的数据创建监控报告。 在ireport中,我必须输入查询才能获得所需的数据。现在,我想获取(受监控对象的)名称以及该服务的相应可用性。为此,icinga提供了function,它将object_id,开始日期和结束日期作为参数。比如这个:
select icinga_availability(203, '2017-09-01 00:00:00','2017-09-30 23:59:59'), name1 from icinga_objects where object_id = '203';
对于iReport,我需要在一个查询中获取所有需要的对象。例如,我需要对象号131,258,101,465。
是否可以将变量/通配符或多个object_ids传递给函数?我还无法管理它。
感谢您的帮助!
答案 0 :(得分:0)
iReport不再受到官方支持,因此最好切换到Jaspersoft Studio。
所以我只能告诉它在JSS中是如何工作的,但它也应该在iReport中工作:
select icinga_availability( $P{obejct_id} , '2017-09-01 00:00:00','2017-09-30 23:59:59'), name1 from icinga_objects where object_id = to_char( $P{obejct_id} );
使用整数参数:
<parameter name="obejct_id" class="java.lang.Integer"/>
因此,在运行报告时,您可以输入要查看的object_id。