Toiminta
Valvo palvelinta, tee siitä kykenevämpi palvelemaan enemmän käyttäjiä, määritä, kuinka kauan tietoja säilytetään, ja korjaa ylläpitäjien yleisimmät ongelmat.
Tilan tarkistus
amctl --local system status(kontissa:docker compose exec antimatter amctl --local system status). Docker-kuvan tilan tarkistus suorittaa komennon 30 sekunnin välein, jotendocker compose psnäyttäähealthytaiunhealthy.GET /api/v4/system/pingvastaa ilman kirjautumista, mikä sopii ulkoiselle valvojalle tai kuormantasajalle:curl -fsS https://chat.example.com/api/v4/system/ping.antimatter db pingtarkistaa, että tietokanta on tavoitettavissa määritetyillä asetuksilla.- Järjestelmäkonsoli › Raportointi › Järjestelmätilastot näyttää käyttäjien, viestien ja istuntojen määrän.
- System Console › Reporting › Site health checks the database, search, cluster, push, jobs, sign-in, compliance and more every hour, and lists what needs attention with its severity; mute a finding you don't need to see again, and find it later on the Muted tab with who muted it and when. On by default; it replaces Workspace Optimization for full system administrators (a delegated administrator who can only read site statistics still sees Workspace Optimization). Turn it off with
AM_FEATUREFLAGS_HEALTHDASHBOARD=false.


Mittarit
Palvelin voi julkaista Prometheus-metriikat: pyyntöjen määrät ja kestot, websocket-yhteydet, tietokannan ja välimuistin käyttö, työtehtävät, liiteohjelmien hakukohdat ja niin edelleen. Ota ne käyttöön kohdassa Järjestelmäkonsoli › Ympäristö › Suorituskyvyn seuranta:
| Asetus | Avain ja muuttuja | Oletusarvo |
|---|---|---|
| Ota käyttöön suorituskyvyn seuranta | MetricsSettings.Enable, AM_METRICSSETTINGS_ENABLE | Ei käytössä |
| Kuunteluosoite | MetricsSettings.ListenAddress, AM_METRICSSETTINGS_LISTENADDRESS | :8067 |
| Ota käyttöön asiakassovellusten suorituskyvyn seuranta | MetricsSettings.EnableClientMetrics | käytössä: selaimet ja sovellukset raportointavat omat ajoitukset |
Prometheus hakee sitten metrikat osoitteesta http://<server>:8067/metrics. Jokainen metriikka julkaistaan Mattermost-nimellä (mattermost_…) ja Antimatter-nimellä (antimatter_…), joten olemassa olevat Mattermost-kojelaudat toimivat edelleen. Sovellukset julkaisevat omat metrikansa, esimerkiksi Agents-sovellus osoitteessa /plugins/mattermost-ai/metrics.
Metrikkaportille ei tarvita kirjautumista: pidä se yksityisessä verkossa. Sivuston compose-tiedosto ei julkaise porttia; jos haluat hakea metrikat isäntäkoneelta, lisää "127.0.0.1:8067:8067" antimatter-palvelun ports-osaan.
Metrics-sovellus
Ilman Prometheus-palvelinta Metrics-sovellus (katso Sisällytetyt sovellukset) kerää samat mittarit pieneen aikasarjatietokantaan Antimatterin sisällä: mittaukset 60 sekunnin välein, säilytetään 15 päivän ajan. Kun Ota käyttöön suorituskyvyn seuranta on päällä, myös sovellus otetaan käyttöön, ellei sitä ole poistettu käytöstä manuaalisesti. Se ottaa mittauspään päälle käynnistyessään. Sen sivulla Järjestelmäkonsoli › Liiteohjelmat näkyy tietokannan koko, ja sieltä voi ladata tietokannan dumpit omaa analyysia varten tai liittää ne virheilmoitukseen. Viimeisen päivän tiedot lisätään myös tukipaketteihin.
Tukipaketti
Tukipaketti on zip-tiedosto, joka sisältää ongelman diagnosointiin tarvittavat tiedot: versiot, tilastot, salaisuudet poistettu asetuskokonaisuus, liiteohjelmien ja työtehtävien luettelo, tietokannan skeema, viimeaikainen lokitiedosto ja suorituskyvyn profiilit. Luo se komennolla amctl system supportpacket tai Järjestelmäkonsolista sen sivupalkin yläreunan valikosta (Kommersiellinen tuki, josta voit valita, mitä sisällytät). Lue se ennen jakamista: se ei sisällä viestejä, mutta se sisältää yhteisöjen, käyttäjien ja asetusten nimet.
Suorituskyky ja skaalaus
Yksi palvelin, jossa on 2 CPU-ydintä ja 4 Gt muistia, palvelee muutaman sadan ihmisen. Ennen palvelimien lisäämistä tarkista:
- Tietokanta. PostgreSQL hoitaa suurimman osan työstä: anna sille nopea tallennus ja muisti. Lukureplikat voivat ottaa luku-kuormaa (
SqlSettings.DataSourceReplicas, yhteys-URL:ien luettelo). - Haku. Viestit haetaan oletuksena tietokannasta. Suurilla palvelimilla Elasticsearch tai OpenSearch voi hoitaa hakan ja indeksoinnin: Järjestelmäkonsoli › Ympäristö › Elasticsearch (
ElasticsearchSettings: Hakuteknologian tyyppi Elasticsearch tai OpenSearch, Palvelimen yhteysosoite, tunnus tiedot, ota indeksointi käyttöön, luo indeksi ja ota haku käyttöön). - Puhelut. Puheluiden media on raskain kuorma. Siirrä ne rtcd-palvelimelle: ks. Puhelut ja ääni.
- Avoimet tiedostot. Jokainen yhdistetty käyttäjä pitää websocket-yhteyden auki. antimatter-dockerin tuotantoympäristön compose-tiedosto nostaa rajan arvoon 49152 (
ulimits: nofile); tee sama systemdissä (LimitNOFILE). - Lokit. Laske
LogSettings.ConsoleLevelarvoksiINFOtaiWARN:DEBUGloki on erittäin runsas vilkkaalla palvelimella. - Pakkaus. Kun Web-palvelintila on asetettu gzip-muotoon, asetus
AM_FEATUREFLAGS_ENABLEBROTLICOMPRESSION=trueneuvottelee Brotli-pakkauksen API-vastauksille asiakkaille, jotka hyväksyvät sen, gzipin sijaan (valinnainen, oletuksena pois päältä; käynnistä palvelin uudelleen muutoksen jälkeen).
Korkea saatavuus
Useat Antimatter-palvelimet voivat toimia klusterina kuormantasauksen takana ilman lisenssiä. Niiden on käytettävä samaa PostgreSQL-tietokantaa, samaa S3-tiedostovarastoa ja tietokannassa olevaa asetuskokonaisuutta (AM_CONFIG). Kohdassa Järjestelmäkonsoli › Ympäristö › Korkea saatavuus (ClusterSettings): ota Ota korkea saatavuus -tila käyttöön (ClusterSettings.Enable) käyttöön, anna jokaiselle solmulle sama Klusterin nimi (ClusterSettings.ClusterName) ja varmista, että solmut voivat tavoittaa toisensa gossip-portissa, 8074 TCP ja UDP (ClusterSettings.GossipPort). Solmut löytävät toisensa tietokannan kautta. Kuormantasauksen on välitettävä websocket-yhteydet. Klusterin puheluissa käytä rtcd:ää.
Tietojen säilytys
Oletuksena Antimatter säilyttää kaikki viestit ja tiedostot ikuisesti. Jos haluat poistaa vanhat tiedot automaattisesti, siirry kohtaan Järjestelmäkonsoli › Noudattaminen › Tietojen säilytyskäytännöt:
- Yleinen säilytyskäytäntö määrittää kanavien ja suorien viestien säilytyksen sekä tiedostojen säilytyksen koko palvelimelle: Säilytä ikuisesti tai tietty määrä tunteja, päiviä tai vuosia (
DataRetentionSettings.EnableMessageDeletion,MessageRetentionHours,EnableFileDeletion,FileRetentionHours). - Mukautetut säilytyskäytännöt määrittävät toisen säilytysajan valituille yhteisöille ja kanaville.
- Poistotehtävä suoritetaan päivittäin valitussa ajassa (
DataRetentionSettings.DeletionJobStartTime, oletusarvo02:00UTC). Suorita poistotehtävä nyt ajaa sen välittömästi, ja käytäntöloki luettelee, mitä kukin suoritus poisti.
Noudattamisen vienti ja tilintarkastuslokit
- Järjestelmäkonsoli › Noudattaminen › Noudattamisviennit vie kaikki viestit ja tiedostot päivittäin (Salli noudattamisviennit,
MessageExportSettings.EnableExport, oletuksena poissa; Compliance-viennin aika, oletuksena01:00) muodossa, jonka arkistointijärjestelmät lukevat: CSV, Actiance XML tai Global Relay (zip-tiedosto tai SMTP:llä lähetetty EML).amctl compliance-exportsuorittaa viennit ja ladataa ne komentoriviltä. - Noudattavuuden valvonta (
ComplianceSettings) kirjoittaa päivittäiset raportit hakemistoon. Se on vanhempi mekanismi; käytä mieluummin noudattamisviennit. - Tarkasteloki (beta,
ExperimentalAuditSettings) tallentaa hallinnolliset ja tietoturvatapahtumat (kirjautumiset, käyttöoikeus- ja asetusmuutokset) omaan tiedostoonsa. Yhdessä kirjautumisessa kerrotaan myös, loiiko kirjautuminen käyttäjätilin. - Mukautetut käyttöehdot pyytää kaikkia hyväksymään käyttöehdosi ennen Antimatterin käyttöä ja uudelleen, kun muutat niitä.
Yleiset ongelmat
"Ei voi yhdistää palvelimeen" tai viestit näkyvät vain uudelleenlatauksen jälkeen
WebSocket-yhteys ei onnistu. Tarkista, että välityspalvelin (reverse proxy) välittää Upgrade- ja Connection-otsakkeet (ks. nginx-esimerkki) ja että sivuston URL vastaa täsmälleen osoitetta selaimessa, myös https-pöytämerkin kanssa.
Lähetys epäonnistuu virheellä "413 Request Entity Too Large"
Välityspalvelu hylkää tiedoston koon. Nosta sen raja (client_max_body_size nginx:ssä) vähintään suurin tiedostokoko -arvoon, joka on asetettu Järjestelmäkonsoli › Ympäristö › Tiedostovarasto -osiossa (FileSettings.MaxFileSize, oletusarvo 100 Mt).
Käyttäjät eivät voi aloittaa puhelua tai liittyvät, mutta eivät kuule mitään
Jos vain ylläpitäjät voivat aloittaa puheluita, sammuta Puheluiden Test mode. Jos puhelinpainike puuttuu yhteisön kanavista, kyseessä on Yhteisö-tyyppinen yhteisö, jossa puhelut ovat oletusarvoisesti poissa: kanavan tai yhteisön ylläpitäjät voivat ottaa puhelut käyttöön kanavassa tai muuttaa yhteisön tyyppiä (ks. Missä puhelut ovat käytössä). Jos ihmiset liittyvät, mutta eivät kuule mitään, mediaportti on estetty tai palvelin ilmoittaa väärän osoitteen: avaa portti 8443 UDP- ja TCP-protokollille ja aseta ICE Host Override NAT-taustalle. Verkkojen, jotka estävät molemmat, käyttäjille tarvitaan TURN-palvelin. Katso Puhelut ja ääni.
GIF-valitsin on tyhjä
Tarkista GIF-palvelun URL (http://gifs:8080/v2 sivuston compose-tiedostossa) ja API-avain (GIFS_API_KEY .env-tiedostossa) Järjestelmäkonsoli › Liiteohjelmat › GIF:t -osiossa, sekä että gifs-palvelu on käynnissä: docker compose ps gifs.
Sähköpostit eivät saavu
Käytä Testaa yhteyttä -toimintoa Järjestelmäkonsoli › Ympäristö › SMTP -osiossa, varmista, että ilmoitusten lähettäjän osoite ei ole edelleen test@example.com, ja hae lokista smtp- tai mail-merkkijonoja.
Sovellus näyttää "Käynnistys epäonnistui"
Etsi sen tunniste lokista (docker compose logs antimatter | grep <app id>). Poista liitännäinen käytöstä ja ota se uudelleen käyttöön Liitännäisten hallinnassa käynnistääksesi se uudelleen.
Palvelin ei käynnisty
Lue lokin loppu. Yleisimmin tietokanta ei ole tavoitettavissa (tarkista AM_SQLSETTINGS_DATASOURCE -muuttuja komennolla antimatter db ping), tietokantamigraatio epäonnistui (palauta varuuskopio, joka otettiin päivityksen edellä, ja ilmoita virheestä) tai kuunteluportti on jo käytössä.
Lukittu ulos ylläpitäjätililtä
Palvelimelta paikallinen tila ei vaadi salasanaa:
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
Vian ilmoittaminen
Avaa ongelma Antimatter-yhteisön GitHub-repositoriolla ja liitä mukaan versio, asennustapa, tekemäsi toimenpiteet ja asiaan liittyvät lokirivit. Ilmoita tietoturvallisuusongelmat erikseen, kuten tietoturvallisuuspolitiikassa ohjeistetaan.