$ sudo /etc/init.d/datadog-agent info
Checks
======
my_custom_check
---------------
- instance #0 [ERROR]: Unable to find openmetrics_endpoint in config file.
- Collected 0 metrics & 0 events
ConfigurationError を使用して check() メソッドを補強します。
fromdatadog_checks.baseimportConfigurationErrordefcheck(self,instance):endpoint=instance.get('openmetrics_endpoint')ifendpointisNone:raiseConfigurationError("Unable to find openmetrics_endpoint in config file.")
次に、データを取得するとすぐにフラッシュします。
defcheck(self,instance):endpoint=instance.get('openmetrics_endpoint')ifendpointisNone:raiseConfigurationError("Unable to find openmetrics_endpoint in config file.")super().check(instance)
fromdatadog_checks.baseimportOpenMetricsBaseCheckV2fromdatadog_checks.baseimportConfigurationErrorclassKongCheck(OpenMetricsBaseCheckV2):__NAMESPACE__="kong"def__init__(self,name,init_config,instances):super(KongCheck,self).__init__(name,init_config,instances)self.metrics_map={'kong_bandwidth':'bandwidth','kong_http_consumer_status':'http.consumer.status','kong_http_status':'http.status','kong_latency':{'name':'latency','type':'counter',},'kong_memory_lua_shared_dict_bytes':'memory.lua.shared_dict.bytes','kong_memory_lua_shared_dict_total_bytes':'memory.lua.shared_dict.total_bytes','kong_nginx_http_current_connections':'nginx.http.current_connections','kong_nginx_stream_current_connections':'nginx.stream.current_connections','kong_stream_status':'stream.status',}defget_default_config(self):return{'metrics':self.metrics_map}defcheck(self,instance):endpoint=instance.get('openmetrics_endpoint')ifendpointisNone:raiseConfigurationError("Unable to find openmetrics_endpoint in config file.")super().check(instance)