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, joten docker compose ps näyttää healthy tai unhealthy.
  • GET /api/v4/system/ping vastaa ilman kirjautumista, mikä sopii ulkoiselle valvojalle tai kuormantasajalle: curl -fsS https://chat.example.com/api/v4/system/ping.
  • antimatter db ping tarkistaa, 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.
System Console › Reporting › Site health, with open findings grouped by severity
Järjestelmäkonsoli › Raportointi › Sivuston kunto ryhmiteltynä vakavuusasteen mukaan.
System Console › Reporting › Server Logs, with level badges, filters and a live tail toggle
Järjestelmäkonsoli › Raportointi › Palvelinlokit.

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:

AsetusAvain ja muuttujaOletusarvo
Ota käyttöön suorituskyvyn seurantaMetricsSettings.Enable, AM_METRICSSETTINGS_ENABLEEi käytössä
KuunteluosoiteMetricsSettings.ListenAddress, AM_METRICSSETTINGS_LISTENADDRESS:8067
Ota käyttöön asiakassovellusten suorituskyvyn seurantaMetricsSettings.EnableClientMetricskä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.ConsoleLevel arvoksi INFO tai WARN: DEBUG loki on erittäin runsas vilkkaalla palvelimella.
  • Pakkaus. Kun Web-palvelintila on asetettu gzip-muotoon, asetus AM_FEATUREFLAGS_ENABLEBROTLICOMPRESSION=true neuvottelee 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, oletusarvo 02:00 UTC). Suorita poistotehtävä nyt ajaa sen välittömästi, ja käytäntöloki luettelee, mitä kukin suoritus poisti.
Poistetut viestit ja tiedostot poistuvat pysyvästi tietokannasta ja tiedostovarastosta. Tarkista säilytysajat, ennen kuin otat käytännön käyttöön, ja muista, että varmuuskopioissasi on poistettuja tietoja, kunnes ne vanhenevat.

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, oletuksena 01:00) muodossa, jonka arkistointijärjestelmät lukevat: CSV, Actiance XML tai Global Relay (zip-tiedosto tai SMTP:llä lähetetty EML). amctl compliance-export suorittaa 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.