Drift
Håll koll på servern, gör den klar för fler användare, avgör hur länge data ska bevaras och åtgärda de problem som administratörer oftast stöter på.
Hälsokontroller
amctl --local system status(i containern:docker compose exec antimatter amctl --local system status). Docker-bildens hälsokontroll körs var 30:e sekund, sådocker compose psvisarhealthyellerunhealthy.GET /api/v4/system/pingsvarar utan inloggning, för en extern övervakare eller en lastbalanserare:curl -fsS https://chat.example.com/api/v4/system/ping.antimatter db pingkontrollerar att databasen är nåbar med de konfigurerade inställningarna.- Systemkonsol › Rapporter › Systemstatistik visar antalet användare, inlägg och sessioner, och Optimering av workspace listar konfigurationsproblem som bör undersökas.
Metriker
Servern kan publicera Prometheus-mätvärden: anslutningshastigheter och varaktighet, websocket-anslutningar, databas- och cacheanvändning, jobb, plugin-hakar och mer. Aktivera dem i Systemkonsol › Miljö › Prestandamonitorering:
| Inställning | Nyckel och variabel | Standard |
|---|---|---|
| Aktiverar prestandamonitorering | MetricsSettings.Enable, AM_METRICSSETTINGS_ENABLE | Av |
| Lyssnaradress | MetricsSettings.ListenAddress, AM_METRICSSETTINGS_LISTENADDRESS | :8067 |
| Aktivera monitorering av klientprestanda | MetricsSettings.EnableClientMetrics | på: webbläsare och appar rapporterar sina egna tider |
Prometheus skrapar sedan http://<server>:8067/metrics. Varje metrik publiceras under sitt Mattermost-namn (mattermost_…) och sitt Antimatter-namn (antimatter_…), så befintliga Mattermost-dashboards fortsätter att fungera. Appar publicerar egna metrik, till exempel appen Agents på /plugins/mattermost-ai/metrics.
Metrikporten kräver ingen inloggning: håll den på ett privat nätverk. Webbplatsens compose-fil publicerar den inte; för att skrapa den från värden, lägg till "127.0.0.1:8067:8067" i ports för tjänsten antimatter.
Appen Metrics
Utan en Prometheus-server samlar appen Metrics (avställd som standard, se Medföljande appar) in samma mått i en liten tidsseriedatabas i Antimatter: varje 60:e sekund, med 15 dagars data. Den aktiverar måttändpunkten när den startar. Sidan i Systemkonsol › Plugins visar databasens storlek och gör det möjligt att ladda ner dumpar av datan, för egen analys eller för att bifoga till en buggrapport; den senaste dagens data läggs också till i supportpaket.
Supportpaket
Ett supportpaket är en zip-fil med det som behövs för att diagnostisera ett problem: versioner, statistik, konfigurationen med dess hemligheter borttagna, listan över appar och jobb, databasschemat, den senaste loggen och prestandaprofiler. Generera ett med amctl system supportpacket, eller i Systemkonsolen från menyn högst upp i sidofältet (Kommersiell support, där du sedan kan välja vad som ska ingå). Läs igenom det innan du delar det: det innehåller inte meddelanden, men det innehåller namn på communityer, användare och inställningar.
Prestanda och skalbarhet
En server med 2 CPU-kärnor och 4 GB minne kan betjäna några hundra personer. Innan du lägger till fler servrar, se till:
- Databasen. PostgreSQL gör det mesta av jobbet: ge den snabb lagring och minne. Läsreplikor kan ta hand om läslasten (
SqlSettings.DataSourceReplicas, en lista med anslutnings-URL:er). - Sök. Meddelanden söks i databasen som standard. För stora serverar kan Elasticsearch eller OpenSearch ta över sökning och indexering: Systemkonsol › Miljö › Elasticsearch (
ElasticsearchSettings: Typ av backend Elasticsearch eller OpenSearch, Anslutningsadress för server, autentiseringsuppgifter, aktivera sedan indexering, bygg indexet och aktivera sökning). - Samtal. Samtalsmedia är den tyngsta lasten. Flytta dem till en rtcd-server: se Samtal och röst.
- Öppna filer. Varje ansluten person håller en websocket öppen. Produktionscompose-filen i antimatter-docker höjer gränsen till 49152 (
ulimits: nofile); gör detsamma med systemd (LimitNOFILE). - Loggar. Sänk
LogSettings.ConsoleLeveltillINFOellerWARN:DEBUGloggar mycket på en travlig server.
Hög tillgänglighet
Flera Antimatter-servrar kan köra som ett kluster bakom en lastbalanserare, utan licens. De måste dela samma PostgreSQL-databas, samma S3-filförvaring och konfigurationen i databasen (AM_CONFIG). I Systemkonsol › Miljö › High Availability (ClusterSettings): aktivera Aktivera Hög tillgänglighet (ClusterSettings.Enable), ge varje nod samma Klusternamn (ClusterSettings.ClusterName) och låt noderna nå varandra på gossip-porten, 8074 TCP och UDP (ClusterSettings.GossipPort). Noderna hittar varandra genom databasen. Lastbalanseraren måste släppa igenom websockets. För samtal i ett kluster, använd rtcd.
Databevarande
Som standard behåller Antimatter alla meddelanden och filer för alltid. För att automatiskt ta bort äldre, gå till Systemkonsol › Efterlevnad › Gallringspolicys:
- Den Övergripande bevarandepolicyn anger Bevarande av kanaler och direktmeddelanden samt Bevarande av filer för hela servern: Spara för alltid, eller ett antal timmar, dagar eller år (
DataRetentionSettings.EnableMessageDeletion,MessageRetentionHours,EnableFileDeletion,FileRetentionHours). - Anpassade gallringspolicys anger en annan tidsperiod för utvalda communityer och kanaler.
- Raderingsjobbet körs varje dag vid den tidpunkt du väljer (
DataRetentionSettings.DeletionJobStartTime, standardvärdet är02:00UTC). Kör radering nu startar jobbet omedelbart, och Policy-loggen visar vad varje körning raderade.
Compliance-export och revisionsloggar
- Systemkonsol › Efterlevnad › Efterlevnadsexport exporterar alla meddelanden och filer varje dag (Aktivera efterlevnadsrapportexport,
MessageExportSettings.EnableExport, inaktiverad som standard; Tidpunkt för export av efterlevnadsrapport,01:00som standard) i ett av de format som arkiveringssystem läser: CSV, Actiance XML eller Global Relay (en zip-fil, eller EML som skickas via SMTP).amctl compliance-exportstartar och hämtar exporter från kommandoraden. - Efterlevnadsmonitorering (
ComplianceSettings) skriver dagliga rapporter till en katalog. Det är den äldre mekanismen; använd hellre Efterlevnadsexport. - Granskningsloggning (beta,
ExperimentalAuditSettings) loggar administrativa och säkerhetsrelaterade händelser (inloggningar, ändringar av behörigheter och inställningar) i en egen fil. - Anpassade användarvillkor ber alla att acceptera dina villkor innan de använder Antimatter, och igen efter att du har ändrat dem.
Vanliga problem
”Kan inte ansluta till servern”, eller meddelanden visas först efter en omladdning
Websocketen kommer inte igenom. Kontrollera att reverse proxyn vidarebefordrar Upgrade- och Connection-rubrikerna (se nginx-exemplet) och att webbadressen exakt matchar adressen i webbläsaren, inklusive https.
Uppladdningar misslyckas med ”413 Request Entity Too Large”
Proxyn nekar på grund av storleken. Öka dess gräns (nginx client_max_body_size) till minst Maximal filstorlek i Systemkonsol › Miljö › Lagringsplats för filer (FileSettings.MaxFileSize, 100 MB som standard).
Personer kan inte starta samtal, eller går med men hör inget
Om bara administratörer kan starta samtal, stäng av Test mode för samtal. Om knapp för samtal saknas i en communitys kanaler är communityn av typen Community, där samtal är avstängda som standard: kanal- eller communityadministratörer kan aktivera samtal i en kanal eller ändra communityns typ (se Var samtal är aktiverade). Om personer går med men inte hör något är mediaporten blockerad eller servern anger fel adress: öppna 8443 UDP och TCP och ställ in ICE Host Override bakom NAT. Personer på nätverk som blockerar båda behöver en TURN-server. Se Samtal och röst.
GIF-väljaren är tom
Kontrollera GIF-tjänstens URL (http://gifs:8080/v2 i sajtens compose-fil) och API-nyckel (GIFS_API_KEY i .env) i Systemkonsol › Plugin › GIF-bilder, samt att tjänsten gifs körs: docker compose ps gifs.
Inga e-postmeddelanden kommer fram
Använd Testa anslutningen i Systemkonsol › Miljö › SMTP, kontrollera att Meddelande från adress inte längre är test@example.com, och sök i loggen efter smtp eller mail.
En app visar ”Misslyckades att starta”
Sök efter dess id i loggen (docker compose logs antimatter | grep <app id>). Inaktivera och aktivera den i Pluginhantering för att starta om den.
Servern startar inte
Läs slutet av dess logg. Oftast är databasen oåtkomlig (kontrollera AM_SQLSETTINGS_DATASOURCE med antimatter db ping), en databasmigration misslyckades (återställ säkerhetskopian som togs innan uppgraderingen och rapportera felet) eller så är lyssnande porten upptagen.
Låst ut från administratörskontot
Från servern kräver lokal läge inget lösenord:
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
Rapportera ett fel
Öppna ett ärende i Antimatters community-repository med version, hur du installerade, vad du gjorde och relevanta loggrader. Rapportera säkerhetsproblem privat, enligt säkerhetspolicyn.