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 psviserhealthyellerunhealthy.GET /api/v4/system/pingsvarer uten pålogging, for en ekstern overvåker eller en lastbalanser:curl -fsS https://chat.example.com/api/v4/system/ping.antimatter db pingsjekker 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:
| Innstilling | Nøkkel og variabel | Standard |
|---|---|---|
| Aktiver ytelsesovervåking | MetricsSettings.Enable, AM_METRICSSETTINGS_ENABLE | av |
| Lyttadresse | MetricsSettings.ListenAddress, AM_METRICSSETTINGS_LISTENADDRESS | :8067 |
| Aktiver klientytelsesovervåking | MetricsSettings.EnableClientMetrics | på: 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.ConsoleLeveltilINFOellerWARN:DEBUGlogger 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:00UTC som standard). Kjør slettingen nå kjører den øyeblikkelig, og Politikklogg viser hva hver kjøring slettet.
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:00som standard) i ett av formatene arkiveringssystemer leser: CSV, Actiance XML eller Global Relay (en zip-fil, eller EML sendt via SMTP).amctl compliance-exportkjø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.