{% extends 'admin/master.html' %} {% block body %}

Welcome to cmdbsyncer

Open Source — built by Kuhn & Rueß GmbH in Germany.

Build {{ config.BUILD_DATE }}
{% if deprecated_rules %}

⚠️ Deprecated Checkmk actions in use

The following Checkmk rules still use actions that {{ deprecation_warning }}. Please migrate them — rules with a deprecated action can no longer be saved.

{% endif %} {% if setup_progress %}

Finish your setup

{{ setup_progress.done }} of {{ setup_progress.total }} steps done
🚀 Continue with First Steps →
{% endif %}
{% if can_see_flow %}

Data flow

Every system the syncer talks to is an Account. Imports fill the host database, cron groups run the imports and exports on a schedule.

{% if connected_systems %}

{{ total_hosts }} hosts in the database

{% for row in connected_systems %} {% endfor %}
System Type Hosts Last activity Scheduled in
{% if row.id and can_edit_accounts %} {{ row.name }} {% else %}{{ row.name }}{% endif %} {% if row.orphan %}no account{% else %}{{ row.type or '—' }}{% endif %} {{ row.hosts or '—' }} {% if row.last_import_age %} imported {{ row.last_import_age }} {% endif %} {% if row.last_run_age %} ran {{ row.last_run_age }} {% endif %} {% if not row.last_import_age and not row.last_run_age %}—{% endif %} {% if row.groups %} {% for group_name, group_id in row.groups %} {%- if can_trigger_cron -%} {{ group_name }} {%- else -%}{{ group_name }}{%- endif -%} {%- if not loop.last %}, {% endif -%} {% endfor %} {% else %} {{ row.cadence }} {% endif %}
{% if connected_systems_hidden %}

+ {{ connected_systems_hidden }} further import source{{ '' if connected_systems_hidden == 1 else 's' }} with no Account of their own — find their hosts in the Host list

{% endif %} {% else %}

No accounts connected yet — create your first Account.

{% endif %}
{% endif %} {% if can_trigger_cron %}

Cron Jobs

{% if cron_status %} {% for job in cron_status %} {% set show_message = job.last_message and (job.failure or job.is_running) %} {% if show_message %} {% endif %} {% endfor %}
{{ job.name }} {% if not job.enabled %} disabled {% elif job.is_running %} running {% elif job.failure %} error {% else %} ok {% endif %} {% if job.run_once_next %} queued {% endif %} {{ job.last_start.strftime('%Y-%m-%d %H:%M') if job.last_start else '—' }} {% if job.last_start_age %} {{ job.last_start_age }} {% endif %} {% if job.enabled and job.next_run %} {{ job.next_run.strftime('%Y-%m-%d %H:%M') }} {{ job.next_run_eta }} {% else %} — {% endif %}
{{ job.last_message }}
{% else %}

No cron groups configured yet.

{% endif %}
{% endif %} {% if can_see_log %}

Recent Errors

{% if error_logs %}

{% if error_count_24h %} {{ error_count_24h }} error{{ '' if error_count_24h == 1 else 's' }} in the last 24 hours {% else %} No errors in the last 24 hours — the newest ones are older than that. {% endif %}

Open the full log → {% else %}

✅ No errors in the recent log entries.

{% endif %}
{% endif %}
{% if notices %}

Messages

{% for notice in notices %}
{{ notice.content|safe }}
{% endfor %}
{% endif %} {% if changelog_html %}

Changelog

Filter

{{ changelog_html|safe }}
{% if older_changelogs %}
Previous releases: {% for entry in older_changelogs %} {{ entry[:-3] }} {% endfor %}
{% endif %}
{% endif %}
{% endblock %}