Agenten-Shop

Ossi Galkin avatarGeschrieben vonOssi Galkin Vor über einer Woche aktualisiertTable of contents

Frends Agents ist immer mit SQLite installiert. Es wird zum Speichern von beispielsweise Konfigurationsdaten verwendet. Darüber hinaus können Frends Agents eine externe Datenbank von SQL Database verwenden.

Im Allgemeinen sind die Agent Store-Datenbanken recht leicht, aber die gemeinsame Statusnutzung, Zeitpläne und Dateitrigger nutzen die Datenbank. Eine übermäßige Nutzung dieser erhöht also die Belastung der Datenbank.

Diese Datenbank oder der Agent Store wird verwendet, umHA-Funktionenund zum Speichern von Protokollmeldungen, bevor sie an einen Core auf Legacy-Agenten gesendet werden. Sie können auch einen SQL-Cluster für einen Agent Store verwenden, damit die Datenbank nicht zu einem Fehlerpunkt wird.

Ein Gesamtbild davon, was wo gespeichert wird, unabhängig davon, ob Sie einen Legacy- oder plattformübergreifenden Agenten haben und ob Sie eine externe Datenbank haben oder nicht, ist

  • Plattformübergreifend ohne konfigurierte Datenbank
    -speichert alle Daten in SQLite

  • Plattformübergreifend mit konfigurierter Datenbank
    -speichert Daten, die für Trigger und gemeinsame Statusaufgaben benötigt werden, in einer realen Datenbank, mit der sich alle Agenten in der Agentengruppe verbinden
    -speichert den Rest der Informationen in SQLite-Dateien (Prozesse, Umgebungsvariablen usw.), die agentenspezifisch sind

  • Legacy-Agent ohne konfigurierte Datenbank
    -speichert die meisten Daten in SQL LocalDB
    -speichert Protokolle, die nicht in SQLite gesendet wurden
    -stores lösen Initialisierungsfehler in SQLite aus

  • Legacy-Agent mit konfigurierter Datenbank
    -speichert die meisten Daten im SQL-Server, mit dem sich alle Agenten in der Agentengruppe verbinden
    -speichert Protokolle, die nicht in SQLite gesendet wurden
    -stores lösen Initialisierungsfehler in SQLite aus

Voraussetzungen

Der Agent Store benötigt eine Azure SQL-Datenbank oder SQL Server 2016 oder neuer.

Plattformübergreifender Agent Store-Initialisierer

In Frends 5.5 und früher war dieDatabaseInitialisierer.exewar nur im Kubernetes-Installationspaket verfügbar. Es kann jedoch verwendet werden, um einen Agent Store für beliebige Agenttypen einzurichten. Frends 5.6 wird es auch für typische plattformübergreifende Installer enthalten.

Der DatabaseInitialisierer.exebenötigt Zugriff auf die Datenbank, um:

  • Erstellen einer Datenbank

  • Erstellen Sie einen Login

  • Erstellen gespeicherter Prozeduren

  • Tabellen ändern

  • Erstellen von Sicherungsaufträgen

  • Ausführen von Sicherungsaufträgen

Normalerweise ist es am besten, DB Admin dafür zu erteilen. Wenn die gesamte Agentengruppe diese Rechte hat, funktioniert der Initialisierer sofort. Andernfalls müssen Sie eine ausreichendeSQL-Verbindungszeichenfolge dafür.

Normalerweise ist das Ausführen von DatabaseInitializer.exe ein unkomplizierter Vorgang, Sie können sein Verhalten jedoch mit verschiedenen Optionen in der Befehlszeile ändern.

Normalerweise müssen Sie DatabaseInitializer.exe in der Verbindungszeichenfolge zulassen, die über--connectionstringParameter. Wenn das Konto, mit dem Sie die EXE ausführen, beispielsweise über Administratorrechte verfügt, können SieIntegrierte Sicherheit=Truein der Verbindungszeichenfolge.

Normalerweise müssen Sie auch den Benutzernamen angeben, den der Agent verwendet, über den Parameter--sqlBenutzername. Wenn dieser Benutzer die integrierte Sicherheit nicht verwendet, geben Sie bitte auch ein Passwort mit--sqlUserPassword. Dies ist derselbe Benutzer, der in der Agnet-Gruppe angegeben istEinstellung.

Sie können .\Frends.DatabaseInitializer.exe -? ausführen, um Hilfe zu anderen Parametern anzuzeigen.

Frends.DatabaseInitializer 2.0.0.0
Copyright c 2022. Alle Rechte vorbehalten.
FEHLER:
Option „?“ ist unbekannt.
Erforderliche Option „c, Verbindungszeichenfolge“ fehlt.
VERWENDUNG:
Stellen Sie eine lokale Agentendatenbank für einen Benutzer bereit:
Frends.DatabaseInitializer --connectionstring "Datenquelle=(lokal);Anfangskatalog=FRENDS;Integrierte Sicherheit=True"
--migrationNamespace Frends.DatabaseInitializer.AgentStore --sqlUserName HFWS460\FrendsUser
Aktualisieren Sie eine vorhandene Konfigurationsspeicherdatenbank auf Azure:
Frends.DatabaseInitializer --assemblyFile .\Frends.DatabaseMigrations.dll --connectionstring
"Server=tcp:[Servername].database.windows.net;Database=myDataBase;Benutzer
ID=[LoginForDb]@[Servername];Passwort=meinPasswort;Trusted_Connection=Falsch;Verschlüsseln=Wahr;" --doNotCreate
--migrationNamespace Frends.DatabaseMigrations.ConfigurationStore

-c, --connectionstring Erforderlich. Verbindungszeichenfolge zur FRENDS-Datenbank, z. B. 'Data
Quelle=(lokal);Anfangskatalog=FRENDS;Integrierte Sicherheit=True'

-l, --logConnectionstring Bei der Migration des Konfigurationsspeichers auf 5.4 werden einige Daten aus dem
logStore zum Konfigurationsspeicher. In diesem Fall wird dieser Parameter benötigt.

-u, --sqlUserName Benutzername des SQL-Benutzers, z. B. „DOMAIN\FrendsUser“

-p, --sqlUserPassword Passwort des SQL-Benutzers bei Verwendung von SQL-Anmeldungen

-m, --giveUserTableManagementRights (Standard: false) Soll dem SQL-Benutzer die Verwaltung der Tabellen gestattet werden, verwendet
z.B. zur Reorganisation von Indizes

-a, --assemblyFile Die Assembly mit den auszuführenden Fluent-Migrationen. Wenn nicht angegeben, die interne
Es werden Agent-Datenbankmigrationen ausgeführt.

-n, --migrationNamespace (Standard: Frends.DatabaseInitializer.AgentStore) Der Namespace, aus dem
Führen Sie die Migrationen aus. Wenn nicht angegeben, werden die Agent Store-Migrationen ausgeführt.

--scriptMigrationNamespace Der Namespace, aus dem die eingebettete Entity Framework-SQL-Migration ausgeführt werden soll
Skripte. Wenn nicht angegeben, werden keine SQL-Skriptmigrationen ausgeführt.

--doNotCreate (Standard: false) Schalter zum Deaktivieren der Erstellung der Datenbank und des Benutzers

--doNotMigrate (Standard: false) Schalter zum Deaktivieren der Datenbankmigration

--doNotEnableSnapshotIsolation (Standard: false) Schalter zum Deaktivieren der standardmäßigen Aktivierung von Snapshots
Isolation (wird z. B. für Azure SQL nicht unterstützt)

-t, --timeout (Standard: 240) Das von den SQL-Befehlen verwendete Befehls-Timeout (in Sekunden),
Standardwert 240

--collation (Standard: Latin1_General_CI_AS) Die Sortierung der zu erstellenden Datenbank,
Standardwert Latin1_General_CI_AS

--showSql (Standard: false) Gibt das ausgeführte SQL aus

--doNotCreateBackupJobs (Standard: false) Wenn das Flag gesetzt ist, werden Backup-Jobs für den SQL Server nicht
erstellt werden

--doNotSetSimpleBackupRecoveryModel (Standard: false) Wenn das Flag enthalten ist, wird der Wiederherstellungsmodus nicht geändert in
einfach

--backupRetentionMonths (Standard: 2) Definieren Sie Aufbewahrungsmonate für Sicherungsdaten, Standard ist 2 Monate

--help Zeigt diesen Hilfebildschirm an.

--version Versionsinformationen anzeigen.

Legacy-Agent-Store-Initialisierer

Ein Legacy-Agent-Installationsprogramm für einen Agent-Store ist in ein Agent-Installationsprogramm integriert.

Standardmäßig sollte es ausreichen, sich in der Benutzergruppe für das Agent-Benutzerkonto zu befinden. Das Installationsprogramm versucht, es zu den Leistungsprotokollbenutzern hinzuzufügen, was für die Funktion der Leistungsindikatoren erforderlich ist.

Sie können die folgenden Optionen in der Befehlszeile eingeben, um die Optionen des Agent Store zu ändern.

DONOTCREATEDB = Datenbank nicht erstellen, Schalter --doNotCreate an Datenbankinitialisierer übergeben. Es wird nicht versucht, die Datenbank und den Benutzer zu erstellen (erforderlich für Azure oder strengere Datenbanken, bei denen der Kunde die Datenbank und den Benutzer vorher erstellt). Migrationen werden ausgeführt.

DONOTMIGRATEDB = Datenbank nicht migrieren, Schalter --donotmigrate an Datenbank-Initialisierer übergeben. Es werden keine Migrationen ausgeführt.

BACKUPRETENTIONMONTHS = Wie viele Monate soll die Sicherungsaufbewahrung für die Sicherungsaufträge festgelegt werden? Übergeben Sie den Schalter --backupRetentionMonths an den Datenbankinitialisierer.

DONOTCREATEBACKUPJOBS = Keine Backup-Jobs erstellen, den Schalter --donotcreatebackupjobs an den DB-Initialisierer übergeben. Überspringt das Erstellen von Backup-Jobs. Dies wird nur für neue Datenbanken durchgeführt, die vom Initialisierer erstellt werden.

NODBINIT = Führen Sie den Datenbankinitialisierer nicht aus, überspringen Sie die Ausführung des Datenbankinitialisierers vollständig.

Aufgrund technischer Einschränkungen kann ein Legacy-Agent nicht ohne eine externe Datenbank funktionieren. Wenn keine vorhanden ist, installiert das Agent-Installationsprogramm eine LocalDB auf demselben Computer. Diese LocalDB darf nur mit einem Agent verwendet werden. Daher können Sie ohne eine externe Datenbank nicht mehrere Legacy-Agenten auf demselben Computer installieren. Plattformübergreifende Agenten unterliegen dieser Einschränkung nicht.


Verwandte ArtikelAnwendungseinstellungen für plattformübergreifenden Frends AgentTechnische Informationen zu Frends AgentsFrends Agent Shared State Store und hohe VerfügbarkeitAgentengruppeneinstellungenEinführung in technische Informationen zu Frends Agents