Zum Inhalt springen

Einbindung

Wie kann ich inping einbinden?

Sie legen kostenlos ein Konto und ein Projekt mit einer URL an, dann prüfen die Runner von inping diese URL ohne Installation. Für Server-Daten kommt der Agent hinzu, den ein einziger Befehl installiert. Eigene Runner, Benachrichtigungen, Statusseite, API und MCP ergänzen Sie nach Bedarf.

Die Befehle unten sind die der Anleitung, mit Platzhaltern wie <token>. In der App zeigt der Dialog sie fertig ausgefüllt, ein Klick kopiert sie. Jeden Schritt erklärt die vollständige Installationsanleitung.

Schritt 1

Konto anlegen

Registrieren Sie sich mit Ihrer E-Mail-Adresse und bestätigen Sie sie. Der kostenlose Tarif braucht keine Zahlungsdaten und umfasst 1 Projekt, 10 URLs und 25 Seiten je Projekt, 2 Agents und 1 eigenen Runner. Die weiteren Tarife stehen auf der Preisseite; die Zahlung läuft über den Reseller Paddle.

Was danach gilt: Sie sind Admin Ihres Teams und laden Mitglieder als Admin, Bearbeiter oder Betrachter ein. Unter Einstellungen → Sicherheit richten Sie die Zwei-Faktor-Authentifizierung oder einen Passkey ein. Für weitere Kunden legen Sie über den Team-Wechsler eigene Teams an.

Schritt 2

Projekt und URL anlegen

Unter Neues Projekt legen Sie ein Projekt je Anwendung an und tragen seine erste URL ein. Über URL hinzufügen kommen weitere dazu, mit Intervall, erwartetem Statuscode und Timeout, bei Bedarf mit Basic Auth oder eigenen Headern. Unter Seiten wählen Sie, was die Änderungserkennung beobachten soll, und lassen die Sitemap auswerten.

Was dann passiert: Die Runner übernehmen die URL in ihren Plan und melden im gewählten Intervall. Antwortzeiten und Zustand erscheinen im Dashboard. Es ist nichts zu installieren, und Sie brauchen bis hierhin keinen Zugang zum Server.

Mehr dazu unter Wie inping die Erreichbarkeit misst.

Schritt 3

Agent auf dem Server installieren

Unter Agents → Agent hinzufügen erhalten Sie ein Token, das genau einmal angezeigt wird und 24 Stunden gilt. Innerhalb eines Projekts finden Sie denselben Dialog unter Server → Agent hinzufügen, dann nennt der Befehl das Projekt bereits.

--project <project-id>=<Pfad> nennt die ID des Projekts aus den Projekteinstellungen und das Verzeichnis seines Codes. Wiederholen Sie die Angabe für jedes Projekt auf dem Server.

Debian und Ubuntu

Auch für Raspberry Pi OS, Linux Mint und andere Debian-basierte Systeme mit systemd. Der Dienst läuft als eigener Nutzer inping-agent, der die Projektdateien lesen können muss.

Installieren

curl -fsSL https://www.inping.io/install.sh | INPING_TOKEN=<token> sudo --preserve-env=INPING_TOKEN sh -s -- --project <project-id>=/srv/shop

Leserechte auf das Projekt geben

sudo usermod -aG www-data inping-agent
sudo systemctl restart inping-agent

Prüfen

systemctl status inping-agent          # active (running)
journalctl -u inping-agent -n 20
sudo inping-agent check                # die Konfiguration von der Plattform

Ausführlich im Artikel Linux-Server überwachen.

Rocky Linux, AlmaLinux, CentOS Stream, Fedora

Derselbe Befehl wie unter Debian. SELinux darf aktiv bleiben, ein eigenes Policy-Modul ist nicht nötig. Fedora-Pakete werden aufgelistet, aber nicht auf Hinweise geprüft.

Installieren

curl -fsSL https://www.inping.io/install.sh | INPING_TOKEN=<token> sudo --preserve-env=INPING_TOKEN sh -s -- --project <project-id>=/var/www/shop

Leserechte auf das Projekt geben

sudo usermod -aG nginx inping-agent && sudo systemctl restart inping-agent

Ausführlich im Artikel Linux-Server überwachen.

Alpine Linux

Alpine hat kein systemd. Sie legen den Nutzer vorab an und richten danach den OpenRC-Dienst ein; das vollständige Rezept steht in Kapitel 4 der Installationsanleitung. Voraussetzung ist apk add curl.

Nutzer anlegen und installieren

adduser -S -D -H -h /var/lib/inping-agent -s /sbin/nologin inping-agent
curl -fsSL https://www.inping.io/install.sh | INPING_TOKEN=<token> sh -s -- --project <project-id>=/srv/shop
macOS

Für Intel und Apple Silicon. Der Befehl läuft im Terminal und fragt nach dem Administrator-Passwort; das Skript legt den versteckten Nutzer _inping-agent und zwei launchd-Dienste an.

Installieren

curl -fsSL https://www.inping.io/install.sh | INPING_TOKEN=<token> sudo --preserve-env=INPING_TOKEN sh -s -- --project <project-id>=/srv/shop
FreeBSD

FreeBSD 13 und 14, auch in Jails. fetch gehört zum Basissystem. Das Skript richtet einen rc.d-Dienst und die Update-Aufgabe per Cron ein.

Als root installieren

fetch -qo - https://www.inping.io/install.sh | INPING_TOKEN=<token> sh -s -- --project <project-id>=/usr/local/www/shop

Leserechte auf das Projekt geben

pw groupmod www -m inping-agent
service inping_agent restart
Windows

Windows Server 2019 und neuer, Windows 10 und 11, in PowerShell 5.1 oder 7 als Administrator. Der Dienst läuft als virtuelles Konto NT SERVICE\inping-agent.

Installieren (PowerShell)

$env:INPING_TOKEN = '<token>'; & ([scriptblock]::Create((irm https://www.inping.io/install.ps1))) -Project '<project-id>=D:\sites\shop'

Leserechte auf das Projekt geben

icacls 'D:\sites\shop' /grant 'NT SERVICE\inping-agent:(OI)(CI)RX' /T
Restart-Service inping-agent

Ausführlich im Artikel Windows Server überwachen.

Docker Compose

Der Agent läuft neben Ihren Diensten und meldet jeden einzeln. Version und Digest des Images stehen in den Release-Hinweisen unter /agents/install, im Dialog sind die Werte bereits eingetragen. Die Registrierung liest das Token von der Standardeingabe, es landet in keiner Datei.

.env neben der Compose-Datei

INPING_AGENT_IMAGE=ghcr.io/medienakzent/inping-agent:<version>@sha256:<digest>
INPING_API_URL=https://www.inping.io
INPING_PROJECT_ID=<project-id>

Ergänzung der docker-compose.yml

services:
  inping-agent:
    image: ${INPING_AGENT_IMAGE:?set INPING_AGENT_IMAGE to a release}
    restart: unless-stopped
    read_only: true
    cap_drop: [ALL]
    security_opt:
      - no-new-privileges:true
    configs:
      - source: inping-agent
        target: /etc/inping/agent.toml
    volumes:
      - inping-agent-state:/var/lib/inping-agent
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /:/host/root:ro
      - ./:/srv/app:ro
    networks: [default, inping]
    depends_on: [inping-docker-proxy]

  inping-docker-proxy:
    image: tecnativa/docker-socket-proxy:0.3.0
    restart: unless-stopped
    environment:
      CONTAINERS: 1
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    networks: [inping]

configs:
  inping-agent:
    content: |
      api_url = "${INPING_API_URL:?set INPING_API_URL}"
      state_dir = "/var/lib/inping-agent"

      [docker]
      endpoint = "tcp://inping-docker-proxy:2375"

      [[project]]
      id = "${INPING_PROJECT_ID:?set INPING_PROJECT_ID}"
      path = "/srv/app"

volumes:
  inping-agent-state:

networks:
  inping:
    internal: true

Einmal registrieren und starten

echo "<token>" | docker compose run --rm -T inping-agent register --token -
docker compose up -d

Ausführlich im Artikel Docker-Container überwachen.

Linux und macOS ohne root

Für Shared Hosting, Server ohne root-Zugang oder Entwicklungsrechner. Alles bleibt im Home-Verzeichnis, der Agent liest, was Ihr Konto lesen darf. Unter Linux beendet der User-Manager den Agent beim letzten Logout, wenn Lingering nicht aktiv ist.

Installieren

curl -fsSL https://www.inping.io/install.sh | INPING_TOKEN=<token> sh -s -- --user --project <project-id>=$HOME/www/shop

Was dann passiert: Innerhalb eines Intervalls, standardmäßig 60 Sekunden, steht der Agent auf Online, und die Anzeigen für CPU, Speicher und Datenträger füllen sich. Die Host-Pakete folgen wenige Sekunden nach dem Start, die Projektpakete mit der ersten Prüfung. Schwachstellen erscheinen innerhalb eines Tages. Für eine Synology gilt das Vorgehen über den Container Manager. Die Uhr des Servers sollte per NTP laufen, denn Berichte, die der Plattform um mehr als 60 Sekunden voraus sind, werden abgelehnt.

Schritt 4, optional

Eigenen Runner betreiben

inping betreibt eigene Runner. Einen zusätzlichen brauchen Sie, wenn Sie aus Ihrem Netz oder von einem bestimmten Standort aus messen möchten. Der Runner läuft auf Linux mit systemd (amd64, arm64) oder als Docker-Image.

Linux mit systemd

curl -fsSL https://www.inping.io/install-runner.sh | INPING_TOKEN=<token> sudo --preserve-env=INPING_TOKEN sh

Docker: .env neben der Compose-Datei

INPING_RUNNER_IMAGE=ghcr.io/medienakzent/inping-runner:<version>@sha256:<digest>
INPING_API_URL=https://www.inping.io

Docker: einmal registrieren und starten

echo "<token>" | docker compose run --rm -T runner register --token -
docker compose up -d

Private Netze erlauben: /etc/inping/runner.toml

private_networks = true

Das Token steht unter Runner → Runner hinzufügen für das Team oder im Projekt unter Runner → Runner hinzufügen für nur dieses Projekt; beides ist Team-Admins vorbehalten.

Private Netze erlauben Sie lokal mit private_networks = true in runner.toml; die Plattform gibt sie nur eigenen Runnern frei, nie ihren eigenen. Loopback, Link-Local und Cloud-Metadaten-Adressen bleiben auch dann gesperrt.

Was dann passiert: Der Runner tauscht das Token gegen einen eigenen Schlüssel und steht innerhalb einer Minute auf Online. Seine Ergebnisse zählen in der Mehrheitsentscheidung mit.

Schritt 5

Benachrichtigungen einrichten

Im Projekt legen Sie unter Benachrichtigungen → Regel hinzufügen fest, bei welchen Ereignissen wer informiert wird: per E-Mail an das Team, an bis zu zehn externe Adressen und an die Kundenkontakte des Projekts, oder per Webhook.

Was dann passiert: Externe Adressen und Kontakte erhalten eine Bestätigungsmail und danach erst Meldungen (Double-Opt-in, 72 Stunden gültig). Webhooks senden einen signierten POST mit JSON. Prüfen Sie die Kopfzeile X-Inping-Signature, das ist sha256=HMAC-SHA256(secret, timestamp + "." + body), und verwerfen Sie alte Zeitstempel. Eine Zustellung mit Test-Ereignis lässt sich direkt auslösen.

Welche Ereignisse es gibt, steht unter Alarme und Benachrichtigungen.

Schritt 6, optional

Statusseite veröffentlichen

In den Projekteinstellungen wählen Sie unter Statusseite eine Adresse, also inping.io/status/<name>. Welche URLs öffentlich sind, markieren Sie im Dialog der jeweiligen URL. Logo, Farbe und Texte legen Sie dort ebenfalls fest. Für eine eigene Domain setzen Sie einen CNAME wie status.kunde.example und lassen ihn von inping prüfen; das Zertifikat entsteht automatisch beim ersten Aufruf.

Was dann passiert: Die Seite ist ohne Login erreichbar und zeigt die öffentlichen URLs mit Namen, Zustand, 90 Tagen Uptime und offenen Störungen. Suchmaschinen bleiben außen vor, solange Sie die Indexierung nicht erlauben. Details unter Statusseiten.

Schritt 7, optional

API und MCP anbinden

Unter Einstellungen → Sicherheit → API-Tokens erzeugen Sie mit Neues Token ein persönliches Token. Es liest standardmäßig (projects:read) und darf auf Wunsch auch ändern (projects:write). Das Token wird nur einmal angezeigt; ohne Datum läuft es ein Jahr. Für jeden Endpunkt gibt es die API-Dokumentation.

Was dann passiert: Ein angebundener KI-Assistent nutzt die MCP-Werkzeuge list-projects, get-project-status, create-project, list-issues und search-logs mit denselben Rechten wie Sie. Für Logs und Fehler aus Ihrer Anwendung tragen Sie den DSN aus Projekt → Einstellungen → Logs und Fehler in das Sentry-SDK ein, siehe Logs und Fehler.

Erste Anfrage: Ihre Teams

curl -H "Authorization: Bearer <token>" https://www.inping.io/api/v1/tenants

MCP in Claude Code

claude mcp add --transport http inping https://www.inping.io/mcp --header "Authorization: Bearer <token>"

Ohne Konto

Wie prüfe ich ein Projekt ohne Konto?

Ein einziger Befehl prüft die Pakete eines Projektverzeichnisses gegen OSV.dev, ohne Konto und ohne Installation. Er läuft auf Linux, macOS und FreeBSD ohne root.

Aktuelles Verzeichnis prüfen

curl -fsSL https://www.inping.io/scan.sh | sh -s -- .

Ausgabe als JSON

curl -fsSL https://www.inping.io/scan.sh | sh -s -- . --json > findings.json

Im CI-Job: nur bei hoch und kritisch abbrechen

curl -fsSL https://www.inping.io/scan.sh | sh -s -- . --fail-on high || exit 1

Was dann passiert: Das Skript lädt die Agent-Datei für Ihr System in ein temporäres Verzeichnis, prüft sie, führt den Scan aus und entfernt sie wieder. Jedes Verzeichnis mit einer Lock-Datei gilt als Projekt; node_modules, vendor und ähnliche Ordner bleiben außen vor. An OSV gehen nur Paketnamen und Versionen. An inping geht zusätzlich der Bericht mit Projektnamen und -pfaden, Paketen, Funden, Betriebssystem und Agent-Version. Mit --no-report bleibt er lokal, ein Konto wird nicht angelegt.

Die Ausgabe nennt einen Link zu einem Bericht ohne Login. Er ist nicht gelistet und läuft nach 30 Tagen ab, wenn aus ihm kein Projekt entstanden ist; aus ihm lässt sich ein Projekt anlegen, die Pakete werden dann direkt übernommen.

Die Exit-Codes: 0 sauber, 1 Befunde, 2 Fehler oder OSV nicht erreichbar. Unter Windows installieren Sie den Agent und führen inping-agent.exe scan <Verzeichnis> aus.

Sicherheit

Wie sicher ist der Agent auf meinem Server?

Der Agent liest nur, schreibt ausschließlich in sein eigenes Zustandsverzeichnis, öffnet keinen Port und spricht nur ausgehend über HTTPS mit inping. Die Programmdateien sind signiert, Docker-Images per Digest festgelegt.

  • Eigener Nutzer: Der Dienst läuft als unprivilegierter Nutzer, Sie geben ihm gezielt Leserechte auf das Projekt. Unter Linux begrenzen ihn die systemd-Härtung und ab Kernel 5.13 seine eigene Landlock-Sandbox.
  • Welche Dateien: Welche Projektverzeichnisse er auf Pakete liest, legen Sie lokal fest. Log-Quellen legen Sie in inping fest, auch Dateipfade; gelesen wird, was sein Dienstbenutzer lesen darf.
  • Signierte Versionen: Das Skript prüft die SHA-256-Summe des Downloads und die minisign-Signatur, wenn minisign installiert ist. Unter Windows wird nur die SHA-256-Summe geprüft.
  • Updates: Der Agent ersetzt sich nicht selbst. Eine getrennte Update-Aufgabe läuft alle 6 Stunden mit root-Rechten, installiert nur signierte Versionen und kehrt zur alten zurück, wenn der Dienst nicht startet. Mit --user kommt der Agent ganz ohne root aus.
  • Docker: Der Container läuft mit read_only, ohne Capabilities und sieht den Docker-Socket nur durch einen Proxy, der jedes Schreiben ablehnt. Lesen unter /containers lässt der Proxy zu: Er schützt den Host vor dem Agent, nicht die Inhalte anderer Container.
  • Skript vorab lesen: https://www.inping.io/install.sh ist öffentlich, Sie können es vor dem Ausführen ansehen.

Welchen Netzwerkzugriff braucht inping?

WerZielWie
Agent und Installationsskriptwww.inping.ioHTTPS, Port 443
Runnerwww.inping.io und die geprüften WebsitesHTTPS, Port 443, für die Websites deren Adresse
Docker-Imagesghcr.ioHTTPS, Port 443
Ein-Zeilen-Scanwww.inping.io und api.osv.devHTTPS, Port 443
EingehendnichtsKein Port muss geöffnet werden
Der Agent auf dem Server liest lokale Quellen und sendet nur ausgehend über HTTPS an inpingIhr Server/proc, DateisystemeLock-DateienPaketdatenbankCron, TimerDocker (über Proxy)Agentnur lesend,eigener DienstnutzerZustandToken, Puffer443inpingnur HTTPS,nur ausgehend
Der Agent liest, was auf dem Server ohnehin vorliegt, und schreibt nur in sein eigenes Zustandsverzeichnis. Er baut selbst die Verbindung auf: kein offener Port, kein Zugriff von außen.

Häufige Fragen

Fragen zur Einbindung

Muss ich für inping einen Port öffnen?

Nein. Agent, Runner und Installationsskripte bauen nur ausgehende Verbindungen auf: zu inping per HTTPS auf Port 443, der Runner außerdem zu den geprüften Adressen auf deren Port. Auf dem Server lauscht nichts.

Wo bekomme ich das Registrierungs-Token?

In der App beim Hinzufügen eines Agents oder Runners, unter Agents → Agent hinzufügen oder Runner → Runner hinzufügen. Das Token wird genau einmal angezeigt und gilt 24 Stunden. Der Dialog zeigt den fertigen Befehl mit Token für jedes System.

Wie aktualisiert sich der Agent?

Auf Systemen mit systemd prüft ein Timer alle 6 Stunden auf eine neue signierte Version, installiert sie, startet den Dienst neu und kehrt zur alten Version zurück, wenn er nicht hochkommt. macOS, FreeBSD und Windows haben eigene Update-Aufgaben. Unter Alpine führen Sie den Installationsbefehl erneut aus, in Docker tragen Sie Version und Digest in die .env ein.

Wie entferne ich den Agent wieder?

Das Installationsskript entfernt ihn mit --uninstall, mit --purge auch Konfiguration, Zustand und Nutzer. Danach löschen Sie den Agent in inping unter Agents, Agent wählen, Einstellungen.

Kann ich inping ohne Konto ausprobieren?

Ja. Der Ein-Zeilen-Scan prüft die Pakete eines Projektverzeichnisses ohne Konto und ohne Installation gegen OSV.dev. Er läuft auf Linux, macOS und FreeBSD und endet bei Befunden mit einem Fehlercode.