Bewerkingen
De server in de gaten houden, hem in staat stellen om meer gebruikers te verwerken, beslissen hoe lang gegevens worden bewaard en de problemen oplossen die beheerders het vaakst tegenkomen.
Gezondheidscontroles
amctl --local system status(in de container:docker compose exec antimatter amctl --local system status). De gezondheidscontrole van het Docker-image voert dit elke 30 seconden uit, zodatdocker compose pshealthyofunhealthytoont.GET /api/v4/system/pingreageert zonder inloggen, voor een externe monitor of een load balancer:curl -fsS https://chat.example.com/api/v4/system/ping.antimatter db pingcontroleert of de database bereikbaar is met de geconfigureerde instellingen.- Systeemconsole › Rapportage › Systeem-statistieken toont het aantal gebruikers, berichten en sessies, en Optimalisatie van de werkruimte toont een lijst met configuratieproblemen die aandacht verdienen.
Metrieken
De server kan Prometheus-metrieken publiceren: aanvraagfrequenties en -duraties, websocket-verbindingen, database- en cachegebruik, taken, plugin-hooks en meer. Schakel ze in via Systeemconsole › Omgeving › Prestatiemonitoring Inschakelen:
| Instelling | Sleutel en variabele | Standaardwaarde |
|---|---|---|
| Prestatiemonitoring Inschakelen | MetricsSettings.Enable, AM_METRICSSETTINGS_ENABLE | Uit |
| Luister Adres | MetricsSettings.ListenAddress, AM_METRICSSETTINGS_LISTENADDRESS | :8067 |
| Clientprestatiemonitoring inschakelen | MetricsSettings.EnableClientMetrics | aan: browsers en apps rapporteren hun eigen tijden |
Prometheus scant vervolgens http://<server>:8067/metrics. Elke metriek wordt gepubliceerd onder de Mattermost-naam (mattermost_…) en de Antimatter-naam (antimatter_…), zodat bestaande Mattermost-dashboards blijven werken. Apps publiceren hun eigen metrieken, bijvoorbeeld de Agents-app op /plugins/mattermost-ai/metrics.
De metriekenpoort vereist geen inloggen: houd deze op een privé-netwerk. Het compose-bestand van de site publiceert deze niet; om deze vanaf de host te scannen, voeg je "127.0.0.1:8067:8067" toe aan de ports van de antimatter-service.
De Metrics-app
Zonder een Prometheus-server verzamelt de Metrics-app (standaard uitgeschakeld, zie Ingesloten apps) dezelfde metingen in een kleine tijdreeksdatabase binnen Antimatter: elke 60 seconden, met een bewaartermijn van 15 dagen. Bij het starten wordt het metingen-eindpunt ingeschakeld. De pagina in Systeemconsole › Plugins toont de grootte van de database en biedt de mogelijkheid om dumps van de gegevens te downloaden, voor eigen analyse of om bij een bugrapport toe te voegen; de gegevens van de afgelopen dag worden ook aan ondersteuningspakketten toegevoegd.
Ondersteuningspakket
Een ondersteuningspakket is een zip-bestand met alles wat nodig is om een probleem te diagnosticeren: versies, statistieken, de configuratie met de gevoelige gegevens eruit gehaald, de lijst met apps en taken, het databasemodel, de recente logboeken en prestatieprofielen. Genereer er een met amctl system supportpacket, of in de Systeemconsole via het menu bovenaan de zijbalk (Commerciële ondersteuning, waarna u kunt kiezen wat u wilt opnemen). Lees het door voordat u het deelt: het bevat geen berichten, maar wel de namen van werkruimten, gebruikers en instellingen.
Prestaties en schaalbaarheid
Eén server met 2 CPU-kernen en 4 GB geheugen kan enkele honderden gebruikers bedienen. Voordat u servers toevoegt, bekijk dan:
- De database. PostgreSQL doet het meeste werk: geef hem snelle opslag en geheugen. Leesreplica's kunnen de leeslast overnemen (
SqlSettings.DataSourceReplicas, een lijst met verbindings-URL's). - Zoeken. Berichten worden standaard in de database doorzocht. Voor grote servers kunnen Elasticsearch of OpenSearch het zoeken en indexeren overnemen: Systeemconsole › Omgeving › Elasticsearch (
ElasticsearchSettings: Zoekbackend Elasticsearch of OpenSearch, Serverconnectie Adres, inloggegevens, daarna indexering inschakelen, de index bouwen en zoeken inschakelen). - Gesprekken. Gespreksmedia vormen de zwaarste belasting. Verplaats ze naar een rtcd-server: zie Gesprekken en spraak.
- Open bestanden. Elke verbonden gebruiker houdt een websocket open. Het productie-compose-bestand van antimatter-docker verhoogt de limiet naar 49152 (
ulimits: nofile); doe hetzelfde met systemd (LimitNOFILE). - Logboeken. Zet
LogSettings.ConsoleLevellager naarINFOofWARN:DEBUGgenereert veel logboeken op een drukke server.
Hoge beschikbaarheid
Meerdere Antimatter-servers kunnen als cluster draaien achter een load balancer, zonder licentie. Ze moeten dezelfde PostgreSQL-database, dezelfde S3-bestandsopslag en de configuratie in de database (AM_CONFIG) delen. In Systeemconsole › Omgeving › Hoge Beschikbaarheid (ClusterSettings): zet High Availability modus aanzetten (ClusterSettings.Enable) aan, geef elke node dezelfde Clusternaam (ClusterSettings.ClusterName) en zorg dat de nodes elkaar kunnen bereiken op de gossip-poort, 8074 TCP en UDP (ClusterSettings.GossipPort). Nodes vinden elkaar via de database. De load balancer moet websockets doorgeven. Voor gesprekken in een cluster, gebruik rtcd.
Gegevensbewaring
Standaard bewaart Antimatter elk bericht en bestand voor altijd. Om oude items automatisch te verwijderen, ga naar Systeemconsole › Voldoet aan › Beleid inzake gegevensbewaring:
- Het Algemeen gegevensbewaarbeleid stelt Bewaring van kanalen en privéberichten en Bewaring van bestanden in voor de hele server: Voor altijd bewaren, of een aantal uren, dagen of jaren (
DataRetentionSettings.EnableMessageDeletion,MessageRetentionHours,EnableFileDeletion,FileRetentionHours). - Aangepast bewaarbeleid stelt een andere duur in voor geselecteerde gemeenschappen en kanalen.
- De wistaak wordt dagelijks uitgevoerd op het door u gekozen tijdstip (
DataRetentionSettings.DeletionJobStartTime, standaard02:00UTC). Wistaak Nu Uitvoeren voert deze onmiddellijk uit, en het Beleidslogboek toont wat elke uitvoering heeft verwijderd.
Nalevingsexport en auditlogboeken
- Systeemconsole › Voldoet aan › Nalevingsexport exporteert dagelijks alle berichten en bestanden (Inschakelen nalevingsexport,
MessageExportSettings.EnableExport, standaard uit; Nalevingsexport tijd, standaard01:00) in een van de formaten die archiveringssystemen lezen: CSV, Actiance XML of Global Relay (een zip-bestand, of EML verzonden via SMTP).amctl compliance-exportvoert exporten uit en downloadt ze vanuit de opdrachtregel. - Nalevingsmonitoring (
ComplianceSettings) schrijft dagelijkse rapporten naar een map. Dit is het oudere mechanisme; gebruik bij voorkeur Nalevingsexport. - Auditlogging (beta,
ExperimentalAuditSettings) registreert administratieve en beveiligingsgerelateerde gebeurtenissen (inloggen, wijzigingen aan rechten en instellingen) in een eigen bestand. - Aangepaste Servicevoorwaarden vraagt iedereen om uw voorwaarden te aanvaarden voordat ze Antimatter gebruiken, en opnieuw nadat u ze hebt gewijzigd.
Veelvoorkomende problemen
“Kan niet verbinden met de server”, of berichten verschijnen alleen na een herladen
De websocket komt niet door. Controleer of de reverse proxy de Upgrade- en Connection-headers doorgeeft (zie het nginx-voorbeeld) en of de site-URL exact overeenkomt met het adres in de browser, inclusief https.
Uploads mislukken met “413 Request Entity Too Large”
De proxy weigert de grootte. Verhoog de limiet (nginx client_max_body_size) tot minstens Maximale bestandsgrootte in Systeemconsole › Omgeving › Bestandsopslag (FileSettings.MaxFileSize, standaard 100 MB).
Mensen kunnen geen gesprekken starten, of ze deelnemen maar horen niets
Als alleen beheerders gesprekken kunnen starten, schakel dan Test mode voor gesprekken uit. Als de knop voor gesprekken ontbreekt in de kanalen van een community, is het om een community van het type Community te gaan, waarbij gesprekken standaard zijn uitgeschakeld: de beheerders van het kanaal of de community kunnen gesprekken inschakelen in een kanaal, of het type van de community wijzigen (zie Waar gesprekken zijn ingeschakeld). Als deelnemers niets horen, is de mediaport geblokkeerd of geeft de server het verkeerde adres door: open UDP- en TCP-poort 8443 en stel ICE Host Override in achter NAT. Gebruikers op netwerken die beide blokkeren hebben een TURN-server nodig. Zie Gesprekken en spraak.
De GIF-kiezer is leeg
Controleer GIF-service-URL (http://gifs:8080/v2 met het compose-bestand van de site) en API-sleutel (de GIFS_API_KEY van .env) in Systeemconsole › Plugins › GIF's, en of de gifs-service draait: docker compose ps gifs.
Er komen geen e-mails aan
Gebruik Verbinding testen in Systeemconsole › Omgeving › SMTP, controleer of het Melding Van-adres niet nog steeds test@example.com is, en zoek in het logboek naar smtp of mail.
Een app toont “Failed to start”
Zoek de id ervan in het logboek (docker compose logs antimatter | grep <app id>). Schakel deze uit en weer in in Plugin Management om hem opnieuw te starten.
De server start niet
Lees het einde van het logboek. Meestal is de database onbereikbaar (controleer AM_SQLSETTINGS_DATASOURCE met antimatter db ping), is een databasemigratie mislukt (herstel de back-up die vóór de upgrade is gemaakt en meld de fout), of is de luisterpoort in gebruik.
Uitgesloten van het beheerdersaccount
Vanaf de server vereist lokale modus geen wachtwoord:
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
Een bug melden
Maak een issue aan in de Antimatter community repository, met de versie, hoe je het hebt geïnstalleerd, wat je hebt gedaan en de relevante logregels. Meld beveiligingsproblemen privé, zoals de beveiligingsbeleid uitlegt.