def probe_get
      str = config_get('itd_device_group', 'probe', @get_args)
      return nil if str.nil?
      regexp = Regexp.new('(?<type>\S+)'\
                 ' *(?<dns_host>host \S+)?'\
                 ' *(?<port>port \d+)?'\
                 ' *(?<control>control \S+)?'\
                 ' *(?<frequency>frequency \d+)?'\
                 ' *(?<timeout>timeout \d+)'\
                 ' *(?<retry_down>retry-down-count \d+)'\
                 ' *(?<retry_up>retry-up-count \d+)')
      regexp.match(str)
    end
def probe_get
      str = config_get('itd_device_group', 'probe', @get_args)
      return nil if str.nil?
      regexp = Regexp.new('(?<type>\S+)'\
                 ' *(?<dns_host>host \S+)?'\
                 ' *(?<port>port \d+)?'\
                 ' *(?<control>control \S+)?'\
                 ' *(?<frequency>frequency \d+)?'\
                 ' *(?<timeout>timeout \d+)'\
                 ' *(?<retry_down>retry-down-count \d+)'\
                 ' *(?<retry_up>retry-up-count \d+)')
      regexp.match(str)
    end
probe configuration is all done in a single line (like below)
 probe tcp port 32 frequency 10 timeout 5 retry-down-count 3 ...
 probe udp port 23 frequency 10 timeout 5 retry-down-count 3 ...
 probe icmp frequency 10 timeout 5 retry-down-count 3 retry-up-count 3
 probe dns host 8.8.8.8 frequency 10 timeout 5 retry-down-count 3 ...
 also the 'control enable' can be set if the type is tcp or udp only
 probe udp port 23 control enable frequency 10 timeout 5 ...