{"id":4042,"date":"2025-12-26T22:17:58","date_gmt":"2025-12-26T21:17:58","guid":{"rendered":"https:\/\/loeben.net\/blog\/?p=4042"},"modified":"2025-12-24T09:25:57","modified_gmt":"2025-12-24T08:25:57","slug":"tianji","status":"publish","type":"post","link":"https:\/\/loeben.net\/blog\/tianji\/","title":{"rendered":"Tianji &#8211; Website-Analyse, Verf\u00fcgbarkeits\u00fcberwachung und Serverstatusverfolgung"},"content":{"rendered":"<h1><span class=\"ez-toc-section\" id=\"Was-gibts-Neues-unter-der-Haube-der-LoebenNet-Infrastruktur\"><\/span>Was gibt&#8217;s Neues unter der Haube der Loeben.Net Infrastruktur?<span class=\"ez-toc-section-end\"><\/span><\/h1>\r\n<p><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Inhalt<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/loeben.net\/blog\/tianji\/#Was-gibts-Neues-unter-der-Haube-der-LoebenNet-Infrastruktur\">Was gibt&#8217;s Neues unter der Haube der Loeben.Net Infrastruktur?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/loeben.net\/blog\/tianji\/#Ueberblick\">\u00dcberblick<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/loeben.net\/blog\/tianji\/#Entwickelt-fuer-pragmatische-Teams\">Entwickelt f\u00fcr pragmatische Teams<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/loeben.net\/blog\/tianji\/#Bereitstellung-und-Erweiterbarkeit\">Bereitstellung und Erweiterbarkeit<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/loeben.net\/blog\/tianji\/#Highlights\">Highlights<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/loeben.net\/blog\/tianji\/#Vorteile\">Vorteile<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/loeben.net\/blog\/tianji\/#Ueberlegungen\">\u00dcberlegungen<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/loeben.net\/blog\/tianji\/#Fazit\">Fazit<\/a><\/li><\/ul><\/nav><\/div>\nMein letzter Beitrag mit einem Blick unter die Haube und in von mir genutzter Webtechnologie liegt jetzt schon wieder einige Monate zur\u00fcck. In dem Beitrag <a href=\"https:\/\/loeben.net\/blog\/taeglich-gelebte-bits\/\">T\u00e4glich gelebte nachhaltige und unabh\u00e4ngige Bits &amp; Bytes<\/a> hatte ich im Sp\u00e4tsommer 2025 die Themen Selbsthosting, Bit Umz\u00fcge, Bit Ausbau und diverse Docker -L\u00f6sungen beleuchtet.<\/p>\r\n<p>Hier m\u00f6chte ich beschreiben, wie ich mehrere langj\u00e4hrig genutzte L\u00f6sungen Anfang 2026 abl\u00f6sen werde, die ich beinahe t\u00e4glich nutze, um 24\/7 Verf\u00fcgbarkeiten zu erreichen. Dazu geh\u00f6ren Prozesse zur Qualit\u00e4tssicherung und einige Webanwendungen, die sich unter einem Dach mit noch weniger Wartungsaufwand betreiben lassen. Besonders interessierte mich in dem Zusammenhang die Kombination aus der stabilen Dockercontainerl\u00f6sung und der Option k\u00fcnftig komplett auf eine weitere Google L\u00f6sung verzichten zu k\u00f6nnen.<\/p>\r\n<p><!--more--><\/p>\r\n<p><a href=\"https:\/\/github.com\/msgbyte\/tianji\" target=\"_blank\" rel=\"noopener\">Tianji<\/a>\u00a0ist eine einheitliche Plattform, die Website-Analyse, Verf\u00fcgbarkeits\u00fcberwachung und Serverstatusverfolgung in einer einzigen, schlanken, selbstgehosteten Anwendung vereint. Und nat\u00fcrlich und nicht \u00fcberraschend ist die L\u00f6sung wieder als <a href=\"https:\/\/wiki.opensourceisawesome.com\/books\/tianji\/page\/install-and-setup-tianji\" data-cke-saved-href=\"https:\/\/wiki.opensourceisawesome.com\/books\/tianji\/page\/install-and-setup-tianji\" data-cke-saved- target=\"_blank\" rel=\"noopener\">Docker Container<\/a> in wenigen Minuten installiert und erweitert meine digitale Unabh\u00e4ngigkeit, weil ich u.a. Google Analytics f\u00fcr Besucheranalysen nicht mehr ben\u00f6tige. So steht jetzt in Q1 2026 auf meiner ToDo ganz oben die Abl\u00f6sung diverser Anwendungen in meiner Infrastruktur:<\/p>\r\n<ul>\r\n<li><a href=\"https:\/\/loeben.net\/blog\/taeglich-gelebte-bits\/\">Uptime KUMA<\/a><\/li>\r\n<li><a href=\"https:\/\/loeben.net\/blog\/projekte\/\">Munin<\/a><\/li>\r\n<li>PHP Server Monitor<\/li>\r\n<\/ul>\r\n<h1><span class=\"ez-toc-section\" id=\"Ueberblick\"><\/span><strong>\u00dcberblick<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h1>\r\n<p>Entstanden aus der Frustration \u00fcber die Notwendigkeit, mehrere spezialisierte Tools \u2013 Google Analytics f\u00fcr Besucheranalysen, Verf\u00fcgbarkeitsmonitore f\u00fcr Verbindungspr\u00fcfungen und Prometheus f\u00fcr Servermetriken \u2013 zu verwalten, bietet Tianji essenzielle \u00dcberwachungsfunktionen in einer gut wartbaren Docker-Container-L\u00f6sung ohne den operativen Aufwand der Verwaltung separater Dienste.<\/p>\r\n<h2><span class=\"ez-toc-section\" id=\"Entwickelt-fuer-pragmatische-Teams\"><\/span><strong>Entwickelt f\u00fcr pragmatische Teams<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n<p>Tianji wurde f\u00fcr Entwickler und Teams entwickelt, die umfassendes Monitoring ohne komplexe Unternehmensstrukturen umsetzen wollen. <strong>Tianji<\/strong> bietet Website-Analysen (Seitenaufrufe, eindeutige Besucher, Traffic-Quellen), aktives und passives Uptime-Monitoring, Server-Health-Dashboards und Telemetrie-Erfassung f\u00fcr Open-Source-Projekte. Die Funktionen f\u00fcr die Teamarbeit, Benachrichtigungssysteme und OpenAPI-Unterst\u00fctzung erm\u00f6glichen die Integration in bestehende Prozesse.<\/p>\r\n<h2><span class=\"ez-toc-section\" id=\"Bereitstellung-und-Erweiterbarkeit\"><\/span><strong>Bereitstellung und Erweiterbarkeit<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n<p>Tianji wurde unter der Apache-2.0-Lizenz ver\u00f6ffentlicht und ist von Umami und Uptime Kuma inspiriert. Es unterst\u00fctzt Docker-Bereitstellung, Helm-Charts und Ein-Klick-Hosting. Zu den weiteren Funktionen geh\u00f6ren Umfragetools, Lighthouse-Performanceberichte, Webhooks und Wartelistenverwaltung. Somit ist die L\u00f6sung eine praktische Alternative zu fragmentierten Monitoring-L\u00f6sungen f\u00fcr kleine bis mittelgro\u00dfe Projekte.<\/p>\r\n<h3><span class=\"ez-toc-section\" id=\"Highlights\"><\/span>Highlights<span class=\"ez-toc-section-end\"><\/span><\/h3>\r\n<ul>\r\n<li>Website-Analyse mit PV\/UV-Tracking und Traffic-Einblicken<\/li>\r\n<li>Verf\u00fcgbarkeits\u00fcberwachung mit aktiven Pr\u00fcfungen und passiver Ergebniserfassung<\/li>\r\n<li>Echtzeit-Serverstatus-Dashboards und Gesundheitsmetriken<\/li>\r\n<li>Teamzusammenarbeit, Benachrichtigungen, Telemetrie und OpenAPI-Integration<\/li>\r\n<\/ul>\r\n<h4><span class=\"ez-toc-section\" id=\"Vorteile\"><\/span><strong>Vorteile<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\r\n<ul>\r\n<li>Er\u00fcbrigt sich durch eine einheitliche Schnittstelle und macht mehrere \u00dcberwachungstools \u00fcberfl\u00fcssig.<\/li>\r\n<li>Selbstgehostete Bereitstellung gew\u00e4hrleistet Datenschutz und Datenkontrolle<\/li>\r\n<li>Leichtbauweise, geeignet f\u00fcr kleine bis mittlere Arbeitslasten<\/li>\r\n<li>Apache 2.0-Lizenz mit Unterst\u00fctzung f\u00fcr Docker- und Helm-Bereitstellung<\/li>\r\n<\/ul>\r\n<h4><span class=\"ez-toc-section\" id=\"Ueberlegungen\"><\/span><strong>\u00dcberlegungen<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\r\n<ul>\r\n<li>M\u00f6glicherweise mangelt es an spezialisierten Werkzeugen f\u00fcr fortgeschrittene Analyseanforderungen.<\/li>\r\n<li>Neueres Projekt mit kleinerer Gemeinschaft im Vergleich zu etablierten Alternativen.<\/li>\r\n<li>Der All-in-One-Ansatz bietet eine breite Palette an Funktionen f\u00fcr maximalen Komfort.<\/li>\r\n<li>Beschr\u00e4nkt auf den TypeScript-Stack; weniger flexibel als polyglotte L\u00f6sungen<\/li>\r\n<\/ul>\r\n<p><iframe loading=\"lazy\" title=\"Tianji - Open Source, Self Hosted, Website Stats and System Uptime Monitoring.\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/54F7mZcrg7M?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\r\n<h1><span class=\"ez-toc-section\" id=\"Fazit\"><\/span>Fazit<span class=\"ez-toc-section-end\"><\/span><\/h1>\r\n<p>Mehrere L\u00f6sungen und deren Wartung lassen sich optimieren und reduzieren den Betriebsaufwand. Was will ein &#8222;<em>fauler<\/em>&#8220; Admin mehr. \ud83d\ude09<\/p>\r\n<p>Wenn sich nach der bis Ende Q1 2026 geplanten Testphase die Tianji L\u00f6sung im privatem Umfeld bew\u00e4hrt haben sollte, plane ich den Einsatz der L\u00f6sung auch im <a href=\"https:\/\/blog3.bytewerk.net\" target=\"_blank\" rel=\"noopener\">ByteWerk.Net<\/a>. Das langfristige Ziel ist die Etablierung eines weiteren <a href=\"https:\/\/johan.de\" target=\"_blank\" rel=\"noopener\">JOhan\u2122<\/a> Service in 2026. Vermutlich wird die Qualit\u00e4tssicherungs-L\u00f6sung mit dem Namen <strong>QSS JOhan\u2122 Service<\/strong> etabliert und vermarktet werden. Schauen wir mal&#8230;<\/p>\r\n<p>In diesem Sinne einen guten Rutsch und einen guten Start in das neue Jahre w\u00fcnschend<\/p>\r\n<figure id=\"attachment_3871\" aria-describedby=\"caption-attachment-3871\" style=\"width: 150px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-3871 size-thumbnail\" src=\"https:\/\/loeben.net\/blog\/wp-content\/uploads\/2025\/06\/hanjo-150x150.png\" alt=\"\" width=\"150\" height=\"150\" title=\"\" srcset=\"https:\/\/loeben.net\/blog\/wp-content\/uploads\/2025\/06\/hanjo-150x150.png 150w, https:\/\/loeben.net\/blog\/wp-content\/uploads\/2025\/06\/hanjo.png 161w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><figcaption id=\"caption-attachment-3871\" class=\"wp-caption-text\">Loeben<\/figcaption><\/figure>\r\n","protected":false},"excerpt":{"rendered":"<p>Was gibt&#8217;s Neues unter der Haube der Loeben.Net Infrastruktur? Mein letzter Beitrag mit einem Blick unter die Haube und in von mir genutzter Webtechnologie liegt jetzt schon wieder einige Monate zur\u00fcck. In dem Beitrag T\u00e4glich gelebte nachhaltige und unabh\u00e4ngige Bits &amp; Bytes hatte ich im Sp\u00e4tsommer 2025 die Themen Selbsthosting, Bit Umz\u00fcge, Bit Ausbau und [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":4046,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[11,1290],"tags":[35,1239,1240,194,462,191,190,36,498,1233,1269,808],"class_list":["post-4042","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hanjo-loeben","category-oss","tag-bytewerk-net","tag-docker","tag-docker-container","tag-johan","tag-johan-2","tag-monitoring","tag-munin","tag-open-source","tag-open-source-loesung","tag-selfhosting","tag-tianji","tag-webanwendung"],"_links":{"self":[{"href":"https:\/\/loeben.net\/blog\/wp-json\/wp\/v2\/posts\/4042","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/loeben.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/loeben.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/loeben.net\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/loeben.net\/blog\/wp-json\/wp\/v2\/comments?post=4042"}],"version-history":[{"count":7,"href":"https:\/\/loeben.net\/blog\/wp-json\/wp\/v2\/posts\/4042\/revisions"}],"predecessor-version":[{"id":4075,"href":"https:\/\/loeben.net\/blog\/wp-json\/wp\/v2\/posts\/4042\/revisions\/4075"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/loeben.net\/blog\/wp-json\/wp\/v2\/media\/4046"}],"wp:attachment":[{"href":"https:\/\/loeben.net\/blog\/wp-json\/wp\/v2\/media?parent=4042"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/loeben.net\/blog\/wp-json\/wp\/v2\/categories?post=4042"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/loeben.net\/blog\/wp-json\/wp\/v2\/tags?post=4042"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}