I really like your approach with adressing measurement based on the mqtt topic, i use this myself. However, i am not using Telegraf (so far).
Istead i am using a python script based on the influxdb-python library.
My my mqtt message typically looks like:
topic: “weather/station/met_sample”,
the last item “met_sample” is translated to measurement name.
payload: {“tst” : 1511196991, “airTemperature” : 12.2, “airPressure” : 1012.2}
The payload is json formatted, value of “tst” is used as timestamp (epoch in seconds).
“AirTemperature” and “airPressure” are fields in the measurement “met_sample”
It would be nice if Telegraf could handle this in an efficient way, but unfortunately, i have no experience in using Telegraf.