It is possible to add your own metrics (and/or customize the out-of-box config that is installed by default) to add
x-request-id and other headers to metrics. You would just need to draft up a few config artifacts (along the lines of the Metrics and Logs tasks on istio.io).
Beware, however, that including unbounded fields like request ids in metrics could be problematic. From https://prometheus.io/docs/practices/naming/:
CAUTION: Remember that every unique combination of key-value label pairs represents a new time series, which can dramatically increase the amount of data stored. Do not use labels to store dimensions with high cardinality (many different label values), such as user IDs, email addresses, or other unbounded sets of values.
Istio doesn’t currently offer any special solution to getting pod logs. Mixer can provide access logs for a pod, but it doesn’t have any mechanism for accessing the full application logs, etc. I believe it is possible to update the fluentd config on GKE to export to a different place (if not using Stackdriver) however.
Hope that helps,