I've just setup a small elastic cluster with version 6.5.2. I've activated monitoring both in kibana and logstash and I can see that there are monitoring indexes for all:
[ambnic@myhome ~]$ curl http://localhost:9200/_cat/indices/.monitoring*?v
health status index                             uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   .monitoring-logstash-6-2018.12.11 2BSMhJ9LR5ekVpYMeDMeJA   1   1          0            0       522b           261b
green  open   .monitoring-es-6-2018.12.11       2nLZ-fGRSlCtXxCMZc_KpQ   1   1          0            0       522b           261b
green  open   .monitoring-kibana-6-2018.12.11   y5rgH1emQWyZJNwCwKGOmA   1   1          0            0       522b           261b
As you can see the docs.count is 0 for all indices and in Kibana I get "No monitoring data found. Try setting the time filter to "Last 1 hour" or check if data is available for a different time period."
Everything is setup as per defaults and my cluster settings are as follows:
[ambnic@myhome ~]$ curl -X GET "localhost:9200/_cluster/settings?pretty" 
{
  "persistent" : {
    "xpack" : {
      "monitoring" : {
        "collection" : {
          "enabled" : "true"
        }
      }
    }
  },
  "transient" : {  }
}
As far as I understand monitoring data should be collected every 10s be default, but I still cannot see anything. Note also that I'm sending in some logs data and that works perfectly fine.