Operasyon
Pangangalagaan ang server, pagpapalaki ng kakayahang tumanggap ng mas maraming tao, pagpasya kung gaano katagal itatago ang data, at pag-aayos ng mga pinakakaraniwang problema ng mga administrator.
Health checks
amctl --local system status(sa loob ng container:docker compose exec antimatter amctl --local system status). Tinatakbo ng health check ng Docker image ito bawat 30 segundo, kaya ipapakita ngdocker compose psanghealthyounhealthy.GET /api/v4/system/pingay sumasagot nang walang pag-sign in, para sa external monitor o load balancer:curl -fsS https://chat.example.com/api/v4/system/ping.antimatter db pingay sinusuri kung maabot ang database gamit ang naka-configure na settings.- System Console › Reporting › Mga Statistics ng System ang nagpapakita ng bilang ng mga user, post at session.
- System Console › Reporting › Site health ang nagc-check sa database, search, cluster, push, jobs, sign-in, compliance at iba pa tuwing oras, at naglilista ng mga bagay na nangangailangan ng atensyon kasama ang antas ng seryosidad; i-mute ang isang natuklasan na hindi mo na kailangang makita muli, at hanapin ito mamaya sa tab na Muted kasama ang kung sino ang nag-mute at kailan. Naka-on bilang default; pinalitan nito ang Optimization ng Workspace para sa mga full system administrator (ang isang delegated administrator na makakabasa lamang ng mga statistics ng site ay nakikita pa rin ang Optimization ng Workspace). I-off ito gamit ang
AM_FEATUREFLAGS_HEALTHDASHBOARD=false.


Metrics
Maaaring ipaglabas ng server ang mga Prometheus metrics: request rates at durations, websocket connections, database at cache use, jobs, plugin hooks, at iba pa. I-on ito sa System Console › Environment › Performance Monitoring:
| Setting | Key at variable | Default |
|---|---|---|
| Paggawin ang Performance Monitoring | MetricsSettings.Enable, AM_METRICSSETTINGS_ENABLE | Off |
| Listen Address | MetricsSettings.ListenAddress, AM_METRICSSETTINGS_LISTENADDRESS | :8067 |
| Paggawin ang Client Performance Monitoring | MetricsSettings.EnableClientMetrics | on: ang mga browser at app ay nag-uulat ng sariling timings |
Pagkatapos, isisigaw ng Prometheus ang http://<server>:8067/metrics. Bawat metric ay ipinaglabas gamit ang pangalan nito sa Mattermost (mattermost_…) at sa Antimatter (antimatter_…), kaya patuloy na gagana ang mga existing na Mattermost dashboards. Ang mga app ay naglilipat ng sariling metrics, halimbawa ang Agents app sa /plugins/mattermost-ai/metrics.
Hindi nangangailangan ng sign-in ang port ng metrics: itago ito sa private network. Hindi ipinaglabas nito ang compose file ng site; upang isigaw ito mula sa host, magdagdag ng "127.0.0.1:8067:8067" sa ports ng antimatter service.
Ang Metrics app
Kung walang Prometheus server, ang Metrics app (tingnan ang Mga bundled app) ay nagkolekta ng parehong metrics sa isang maliit na time-series database sa loob ng Antimatter: tuwing 60 segundo, at iniiwan ang mga ito sa loob ng 15 araw. Ang pag-on ng Paggawin ang Performance Monitoring ay nag-e-enable din ng app, maliban na lang kung ikaw mismo ang pinatay ito. Pinapagana nito ang metrics endpoint kapag nagsimula ito. Ang pahina nito sa System Console › Mga Plugin ay nagpapakita ng laki ng database at nagbibigay-daan sa iyo na i-download ang mga dump ng data, para sa iyong sariling pagsusuri o para idikit sa isang bug report; ang pinakabagong araw ay dinadagdag din sa mga support packet.
Support packet
Ang support packet ay isang zip file na may mga kailangan upang ma-diagnose ang isang problema: mga bersyon, estadistika, ang configuration na tinanggal ang mga sekreto, ang listahan ng mga app at jobs, ang schema ng database, ang kamakailang log at mga performance profile. I-generate ito gamit ang amctl system supportpacket, o sa System Console mula sa menu sa itaas ng kanyang sidebar (Commercial Support, na pagkatapos ay nagbibigay-daan sa iyo na piliin kung ano ang ilalagay). Basahin ito bago ibahagi: hindi ito naglalaman ng mga mensahe, ngunit naglalaman ito ng mga pangalan ng mga komunidad, user, at setting.
Performance at pagpapalawak
Ang isang server na may 2 CPU cores at 4 GB ng memory ay maaaring maglingkod sa ilang daang tao. Bago magdagdag ng server, tingnan ang:
- Ang database. Ang PostgreSQL ang nagtatapos ng karamihan ng trabaho: bigyan ito ng mabilis na storage at memory. Ang mga read replica ay maaaring tumanggap ng read load (
SqlSettings.DataSourceReplicas, isang listahan ng mga connection URL). - Paghahanap. Sa default, ang mga mensahe ay hinahanap sa database. Para sa malalaking server, ang Elasticsearch o OpenSearch ay maaaring tumanggap ng paghahanap at pag-index: System Console › Environment › Elasticsearch (
ElasticsearchSettings: Uri ng backend Elasticsearch o OpenSearch, Server Connection Address, mga kredensyal, pagkatapos ay i-enable ang pag-index, i-build ang index, at i-enable ang paghahanap). - Mga Tawag. Ang media ng mga tawag ang pinakamabigat na load. Ilipat ito sa isang rtcd server: tingnan ang Mga Tawag at boses.
- Mga bukas na file. Bawat konektadong tao ay may bukas na websocket. Ang production compose file ng antimatter-docker ay tinaas ang limit sa 49152 (
ulimits: nofile); gawin ang pareho gamit ang systemd (LimitNOFILE). - Mga Log. Pababaan ang
LogSettings.ConsoleLevelsaINFOoWARN: angDEBUGay maraming naglala sa isang mabibilog na server. - Compression. Kapag ang Web Server Mode ay nakatakda sa gzip, ang
AM_FEATUREFLAGS_ENABLEBROTLICOMPRESSION=trueay nag-negotiate ng Brotli compression para sa mga API response sa mga client na tumatanggap nito, sa halip na gzip (opsyonal, naka-off bilang default; i-restart ang server pagkatapos baguhin ito).
Mataas na availability
Maraming Antimatter server ang maaaring tumakbo bilang cluster sa likod ng load balancer, nang walang lisensya. Dapat nilang magbahagi ng iisang PostgreSQL database, iisang S3 file storage, at ang configuration sa database (AM_CONFIG). Sa System Console › Environment › High Availability (ClusterSettings): i-on ang Enable High Availability Mode (ClusterSettings.Enable), bigyan ng iisang Cluster Name (ClusterSettings.ClusterName) ang bawat node, at payagan ang mga node na makapag-ugnayan sa bawat isa sa gossip port, 8074 TCP at UDP (ClusterSettings.GossipPort). Nakikilala ng mga node ang bawat isa sa pamamagitan ng database. Dapat ding ipasa ng load balancer ang websockets. Para sa mga tawag sa loob ng cluster, gamitin ang rtcd.
Retention ng data
Sa default, pinapanatili ng Antimatter ang lahat ng mensahe at file nang walang hanggan. Para matanggal ang lumang mga ito nang awtomatiko, pumunta sa System Console › Compliance › Data Retention Policies:
- Ang Global retention policy ay nagtatakda ng Channel & direct message retention at File retention para sa buong server: Keep forever, o isang bilang ng oras, araw, o taon (
DataRetentionSettings.EnableMessageDeletion,MessageRetentionHours,EnableFileDeletion,FileRetentionHours). - Ang mga Custom retention policies ay nagtatakda ng ibang haba ng panahon para sa mga napiling community at channel.
- Ang deletion job ay tumatakbo araw-araw sa oras na iyong pipili (
DataRetentionSettings.DeletionJobStartTime,02:00UTC sa default). Ang Run Deletion Job Now ay nagpapatupad nito agad, at ang Policy log ay naglilista ng mga tinanggal ng bawat run.
Compliance export at audit logs
- System Console › Pagkakaunawa › Pag-export ng Compliance ay nag-e-export ng lahat ng mensahe at file araw-araw (Enable Compliance Export,
MessageExportSettings.EnableExport, off by default; Oras ng Compliance Export,01:00by default) sa isa sa mga format na nababasa ng mga archiving system: CSV, Actiance XML, o Global Relay (isang zip file, o EML na ipinapadala sa pamamagitan ng SMTP). Angamctl compliance-exportay nagpapatakbo at nagda-download ng mga export mula sa command line. - Ang Compliance Monitoring (
ComplianceSettings) ay sumusulat ng mga araw-araw na ulat sa isang directory. Ito ang mas lumang mekanismo; mas mainam ang Compliance Export. - Audit Logging (beta,
ExperimentalAuditSettings) ang nagre-record ng mga administrative at security event (mga sign-in, pagbabago ng permiso at setting) sa isang sariling file. Ang isang single sign-on record ay nagsasabi din kung ang sign-in na iyon ay lumikha ba ng account. - Hinihingan ng Custom Terms of Service ang lahat na tanggapin ang iyong mga tuntunin bago gamitin ang Antimatter, at muli pagkatapos mong baguhin ito.
Mga karaniwang problema
"Hindi makakonekta sa server", o lumalabas lang ang mga mensahe pagkatapos ng reload
Hindi nakalilipat ang websocket. Tingnan kung ipinasa ng reverse proxy ang mga Upgrade at Connection headers (tingnan ang halimbawa ng nginx), at kung eksaktong tumutugma ang URL ng site sa address sa browser, kasama ang https.
Namamatay ang mga upload na may "413 Request Entity Too Large"
Tinutanggihan ng proxy ang laki. Ipagtaas ang limit nito (nginx client_max_body_size) ng hindi bababa sa Pinakamataas na Laki ng File sa System Console › Environment › File Storage (FileSettings.MaxFileSize, 100 MB ang default).
Hindi makapagsimula ng tawag ang mga tao, o sumasali pero walang naririnig
Kung walang makapagsimula ng tawag maliban sa mga administrator, isara ang Test mode ng Calls. Kung wala ang pindutan ng tawag sa mga channel ng isang komunidad, ang komunidad ay ng uri Komunidad, kung saan naka-off ang mga tawag sa default: maaaring i-on ng mga admin ng channel o komunidad ang tawag sa isang channel, o baguhin ang uri ng komunidad (tingnan ang Saan naka-on ang mga tawag). Kung sumasali ang mga tao pero walang naririnig, blokeado ang media port o maling address ang inuugnay ng server: buksan ang 8443 UDP at TCP, at i-set ang ICE Host Override sa likod ng NAT. Ang mga nasa network na blokeado ang parehong UDP at TCP ay nangangailangan ng TURN server. Tingnan ang Mga tawag at boses.
Walang laman ang GIF picker
Tingnan ang GIF service URL (http://gifs:8080/v2 sa compose file ng site) at API key (ang GIFS_API_KEY ng .env) sa System Console › Plugins › Mga GIF, at kung tumatakbo ang gifs service: docker compose ps gifs.
Walang dumating na email
Gamitin ang Test ng Connection sa System Console › Environment › SMTP, siguraduhing hindi pa rin test@example.com ang Mga Notisikasyon Mula sa Address, at hanapin sa log ang smtp o mail.
Napakita ng "Failed to start" ang isang app
Hanapin ang id nito sa log (docker compose logs antimatter | grep <app id>). I-disable at i-enable ito sa Plugin Management para i-restart ito.
Hindi tumatayo ang server
Basahin ang huling bahagi ng log. Sa karamihan ng mga kaso, hindi maabot ang database (suriin ang AM_SQLSETTINGS_DATASOURCE gamit ang antimatter db ping), nabigo ang migration ng database (ibalik ang backup na kinuha bago ang upgrade at ipa-report ang error), o kinuha na ang listen port.
Naka-lock out sa administrator account
Mula sa server, hindi kailangan ng password sa local mode:
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
Pag-uulat ng bug
Buksan ang issue sa Antimatter community repository, kasama ang bersyon, kung paano mo ito na-install, ang ginawa mo, at ang mga kaugnay na linya ng log. Ipa-report nang pribado ang mga problema sa seguridad, ayon sa paliwanag ng security policy.