Drift

Hold øye med serveren, gjør den i stand til å håndtere flere brukere, bestem hvor lenge data skal beholdes, og løs de problemene administratorer oftest møter.

Helsekontroller

  • amctl --local system status (i containeren: docker compose exec antimatter amctl --local system status). Helsekontrollen i Docker-bildet kjører den hvert 30. sekund, så docker compose ps viser healthy eller unhealthy.
  • GET /api/v4/system/ping svarer uten pålogging, for en ekstern overvåker eller en lastbalanser: curl -fsS https://chat.example.com/api/v4/system/ping.
  • antimatter db ping sjekker at databasen er tilgjengelig med de konfigurerte innstillingene.
  • Systemkonsoll › Rapportering › Systemstatistikk viser antall brukere, innlegg og økter, og Optimalisering av arbeidsområder viser konfigurasjonsproblemer som bør sjekkes.

Målepunkter

Serveren kan publisere Prometheus-metrikker: forespørselsrater og varighet, websocket-forbindelser, database- og cachebruk, jobber, plugin-tilknytningspunkter og mer. Slå dem på i Systemkonsoll › Miljø › Ytelsesovervåking:

InnstillingNøkkel og variabelStandard
Aktiver ytelsesovervåkingMetricsSettings.Enable, AM_METRICSSETTINGS_ENABLEav
LyttadresseMetricsSettings.ListenAddress, AM_METRICSSETTINGS_LISTENADDRESS:8067
Aktiver klientytelsesovervåkingMetricsSettings.EnableClientMetricspå: nettlesere og apper rapporterer sine egne tider

Prometheus henter deretter http://<server>:8067/metrics. Hver metrik publiseres under sitt Mattermost-navn (mattermost_…) og sitt Antimatter-navn (antimatter_…), så eksisterende Mattermost-dashboards fortsetter å fungere. Apper publiserer sine egne metrikker, for eksempel Agents-appen på /plugins/mattermost-ai/metrics.

Metrikportet krever ikke pålogging: hold den på et privat nettverk. Nettstedets compose-fil publiserer den ikke; for å hente den fra verten, legg til "127.0.0.1:8067:8067" i ports for antimatter-tjenesten.

Metrics-appen

Uten en Prometheus-tjener samler Metrics-appen (av som standard, se Medfølgende apper) de samme metrikene i en liten tidsrekkedatabase inne i Antimatter: hvert 60. sekund, med en beholdt periode på 15 dager. Den slår på metrikkepunktet når den starter. Siden i Systemkonsoll › Plugins viser databasens størrelse og lar deg laste ned uttrekk av dataene, for din egen analyse eller for å vedlegge i en feilrapport; den siste dagen legges også til i støttepakker.

Støttepakk

Et supportpakke er en zip-fil med det som trengs for å diagnostisere et problem: versjoner, statistikk, konfigurasjonen med hemmelighetene fjernet, listen over apper og jobber, databasens skjema, den siste loggen og ytelsesprofiler. Generer en med amctl system supportpacket, eller i Systemkonsollen fra menyen øverst i sidefeltet (Kommersiell support, deretter kan du velge hva som skal inkluderes). Les den før du deler den: Den inneholder ikke meldinger, men den inneholder navnene på samfunn, brukere og innstillinger.

Ytelse og skalering

En tjener med 2 CPU-kjerner og 4 GB minne kan betjene noen få hundre personer. Før du legger til flere tjenere, se på:

  • Databasen. PostgreSQL gjør mest av jobben: gi den rask lagring og minne. Lesereplikater kan ta lasten for lesing (SqlSettings.DataSourceReplicas, en liste over tilkoblings-URLer).
  • Søk. Meldinger søkes i databasen som standard. For store servere kan Elasticsearch eller OpenSearch ta over søk og indeksering: Systemkonsoll › Miljø › Elasticsearch (ElasticsearchSettings: Backend-type Elasticsearch eller OpenSearch, Serveradresse, legitimasjon, deretter aktiver indeksering, bygg indeksen og aktiver søk).
  • Samtaler. Samtalemedier er den tyngste lasten. Flytt dem til en rtcd-tjener: se Samtaler og tale.
  • Åpne filer. Hver tilkoblet person holder en websocket åpen. Produksjonscompose-filen i antimatter-docker hever grensen til 49152 (ulimits: nofile); gjør det samme med systemd (LimitNOFILE).
  • Logger. Senk LogSettings.ConsoleLevel til INFO eller WARN: DEBUG logger mye på en travl tjener.

Høy tilgjengelighet

Flere Antimatter-servere kan kjøre som en klynge bak en lastbalanser, uten lisens. De må dele den samme PostgreSQL-databasen, den samme S3-filopplagringen og konfigurasjonen i databasen (AM_CONFIG). I Systemkonsoll › Miljø › Høy tilgjengelighet (ClusterSettings): Slå på Aktiver høy tilgjengelighet (ClusterSettings.Enable), gi hver node det samme Klynge-navn (ClusterSettings.ClusterName), og la nodene nå hverandre på gossipp-porten, 8074 TCP og UDP (ClusterSettings.GossipPort). Nodene finner hverandre gjennom databasen. Lastbalansereren må lede websockets. For samtaler i en klynge, bruk rtcd.

Dataoppbevaring

Som standard beholder Antimatter alle meldinger og filer for alltid. For å slette gamle automatisk, gå til Systemkonsoll › Samsvar › Politikker for databevaring:

  • Global beholdingspolitikk setter Beholdelse av kanaler og direktemeldinger og Beholdelse av filer for hele serveren: Behold for alltid, eller et antall timer, dager eller år (DataRetentionSettings.EnableMessageDeletion, MessageRetentionHours, EnableFileDeletion, FileRetentionHours).
  • Egendefinerte beholdingspolitikker setter en annen varighet for utvalgte team og kanaler.
  • Slettingen kjører hver dag på det tidspunktet du velger (DataRetentionSettings.DeletionJobStartTime, 02:00 UTC som standard). Kjør slettingen nå kjører den øyeblikkelig, og Politikklogg viser hva hver kjøring slettet.
Slettede meldinger og filer er borte for alltid, fra databasen og fra filopplagringen. Kontroller varighetene før du slår på en policy, og husk at sikkerhetskopiene dine fortsatt inneholder slettede data inntil de utløper.

Compliance-eksport og revisjonslogger

  • Systemkonsoll › Samsvar › Eksport for samsvar eksporterer alle meldinger og filer hver dag (Aktiver samsvarseksport, MessageExportSettings.EnableExport, av som standard; Tidspunkt for eksport av samsvar, 01:00 som standard) i ett av formatene arkiveringssystemer leser: CSV, Actiance XML eller Global Relay (en zip-fil, eller EML sendt via SMTP). amctl compliance-export kjører og laster ned eksportene fra kommandolinjen.
  • Overvåking av samsvar (ComplianceSettings) skriver ut daglige rapporter til en mappe. Dette er den eldre mekanismen; bruk Eksport for samsvar i stedet.
  • Revisjonlogging (beta, ExperimentalAuditSettings) logger administrative og sikkerhetsrelaterte hendelser (pålogging, endringer av rettigheter og innstillinger) i en egen fil.
  • Egendefinerte vilkår og betingelser ber alle om å godta dine vilkår før de bruker Antimatter, og igjen etter at du har endret dem.

Vanlige problemer

«Kan ikke koble til serveren», eller meldinger vises først etter en omlastning

Websocketen får ikke gjennom. Kontroller at reverse proxyen slipper gjennom Upgrade- og Connection-hoder (se nginx-eksemplet), og at nettstedets URL samsvarer nøyaktig med adressen i nettleseren, inkludert https.

Opplasting mislykkes med «413 Request Entity Too Large»

Proxyen nekter størrelsen. Øk grensen (nginx client_max_body_size) til minst Maksimal filstørrelse i Systemkonsoll › Miljø › Fillokal (FileSettings.MaxFileSize, 100 MB som standard).

Folk kan ikke starte samtaler, eller de blir med, men hører ingenting

Hvis bare administratorer kan starte samtaler, slå av Test mode for samtaler. Hvis samtaleknappen mangler i kanaler i et fellesskap, er fellesskapet av typen Fellesskap, der samtaler er slått av som standard: administratorer for kanalen eller fellesskapet kan slå på samtaler i en kanal, eller endre typen på fellesskapet (se Hvor samtaler er på). Hvis folk blir med, men ikke hører noe, er mediaporten blokkert, eller serveren melder feil adresse: åpne 8443 UDP og TCP, og sett ICE Host Override bak NAT. Folk på nettverk som blokkerer begge deler, trenger en TURN-server. Se Samtaler og tale.

GIF-velgeren er tom

Sjekk GIF-tjeneste-URL (http://gifs:8080/v2 med nettstedets compose-fil) og API-nøkkel (GIFS_API_KEY i .env) i Systemkonsoll › Plugins › GIF-er, og at gifs-tjenesten kjører: docker compose ps gifs.

Ingen e-poster mottas

Bruk Test forbindelse i Systemkonsoll › Miljø › SMTP, sjekk at Avsenderadresse for varsler ikke fortsatt er test@example.com, og søk i loggen etter smtp eller mail.

En app viser «Kunne ikke starte»

Søk etter id-en i loggen (docker compose logs antimatter | grep <app id>). Deaktiver og aktiver den i Plugin Management for å starte den på nytt.

Serveren starter ikke

Les slutten av loggen. Ofte er databasen utilgjengelig (kontroller AM_SQLSETTINGS_DATASOURCE med antimatter db ping), en database-migrasjon mislyktes (gjenopprett sikkerhetskopien tatt før oppgraderingen og rapporter feilen), eller lytteporten er opptatt.

Låst ute fra administrator-kontoen

Fra serveren krever lokal modus ingen passord:

docker compose exec antimatter amctl --local user change-password admin --password 'a-new-password'
docker compose exec antimatter amctl --local user resetmfa admin
docker compose exec antimatter amctl --local roles system-admin admin

Rapportere en feil

Opprett en sak i Antimatter-samfunnets repository med versjon, hvordan du installerte, hva du gjorde og relevante logglinjer. Rapportér sikkerhetsproblemer privat, som sikkerhetspolitikken forklarer.