Ambassador Diagnostics {% if method or resource %} for {% if method %}{{ method }}{% endif %} {% if resource %}{{ resource }}{% endif %} {% endif %}

Ambassador version {{ system.version }}
Hostname {{ system.hostname }}
Configuration from {{ system.boot_time }} — {{ system.hr_uptime }} ago
{% if envoy_status.ready %} Envoy ready, last status report {{ envoy_status.since_update }} {% elif envoy_status.alive %} Envoy alive but not yet ready, running {{ envoy_status.uptime }} {% else %} Envoy not running!! {% endif %}
{% if loginfo %} {% if loginfo.all %} Current log level: {{ loginfo.all }} {% else %} Current log levels:
    {% for level, elements in loginfo.items() | sort %}
  • {{ level }}: {{ ", ".join(elements) }}
  • {% endfor %}
{% endif %} {% else %} Current log levels: unknown {% endif %}
{% if notices %}
{% for notice in notices %} {{ notice.level }}: {{ notice.message }}
{% endfor %}
{% endif %} {% if error %}
ERROR: {{ error }}
{% else %} {% if errors %}
CONFIGURATION ERRORS
{% endif %}
Currently active Envoy Routes {% for route in route_info %} {% endfor %}
Currently active Envoy Clusters {% for cluster in clusters | sort(attribute = 'name') %}
{{ cluster['name'] }}

{% if cluster_stats[cluster.name].valid %} {{ 'Unknown health: ' if cluster._hmetric is not number }} {{ cluster._health }} {% else %} Unknown health: {{ cluster_stats[cluster.name].reason }} {% endif %}

sources:
{{ cluster | pretty_json }}
{% endfor %}
{% if breakers %}
Currently active Envoy Circuit Breakers {% for breaker in breakers | sort(attribute = 'name') %}
{{ breaker['name'] }}

sources:
{{ breaker | pretty_json }}
{% endfor %}
{% endif %} {% if outliers %}
Currently active Envoy Outlier Detection configuration {% for outlier in outliers | sort(attribute = 'name') %}
{{ outlier['name'] }}

sources:
{{ outlier | pretty_json }}
{% endfor %}
{% endif %}
YAML input documents — these are what Ambassador is currently reading for its configuration. {% for source in sources %}
{{ source['filename'] }}{%- if not source.description -%}.{{ source['index'] }}{%- endif -%} {% if not source.description %}
(object {{ source.index }} in {{ source.source_key | source_lookup(source_dict) }} )
Ambassador {% if source['target'] %}{% endif %} {{ source['kind'] }} {% if source['target'] %}{% endif %} {% if source.errors %}
    {% for error in source.errors %}
  • ERROR: {{ error.text }}
  • {% endfor %}
{% endif %} {% endif %}
{% if not source.description %}
{{ source['yaml'] }}
{% else %} {{ source['description'] }} {% endif %}
{% endfor %}
{% endif %}