What is your scrape interval? An instant query will not look any further than 5 minutes in the past to find the current value (this is configurable with a command-line flag).
If you only see one data point returned by up[10m] then this suggests that you're probably using a 10 minute scrape interval.
The Prometheus recommendation is to use a scrape interval of *no more than* 2 minutes. This avoids the timeseries going stale if one scrape fails.