Operasi
Pantau pelayan, pastikan ia dapat mengendalikan lebih ramai pengguna, tentukan berapa lama data hendaklah disimpan, dan betulkan masalah yang paling kerap dihadapi oleh pentadbir.
Semakan kesihatan
amctl --local system status(dalam kontena:docker compose exec antimatter amctl --local system status). Semakan kesihatan imej Docker menjalankannya setiap 30 saat, jadidocker compose psakan menunjukkanhealthyatauunhealthy.GET /api/v4/system/pingmenjawab tanpa perlu log masuk, untuk pemantau luaran atau penyeimbang beban:curl -fsS https://chat.example.com/api/v4/system/ping.antimatter db pingmemeriksa sama ada pangkalan data boleh dicapai dengan tetapan yang dikonfigurasi.- Konsol Sistem › Pelaporan › Statistik Sistem menunjukkan bilangan pengguna, hantaran dan sesi, manakala Optimisasi Ruang Kerja menyenaraikan masalah konfigurasi yang perlu diperiksa.
Metrik
Pelayan boleh menerbitkan metrik Prometheus: kadar dan tempoh permintaan, sambungan websocket, penggunaan pangkalan data dan cache, kerja, hook plugin dan lain-lain. Aktifkannya dalam Konsol Sistem › Persekitaran › Pemantauan Prestasi:
| Tetapan | Kunci dan pemboleh ubah | Lalai |
|---|---|---|
| Bilakah Pemantauan Prestasi | MetricsSettings.Enable, AM_METRICSSETTINGS_ENABLE | Tutup |
| Alamat Dengar | MetricsSettings.ListenAddress, AM_METRICSSETTINGS_LISTENADDRESS | :8067 |
| Bilakah Pemantauan Prestasi Klien | MetricsSettings.EnableClientMetrics | on: pelayar dan aplikasi melaporkan masa sendiri |
Prometheus kemudian mengikis http://<server>:8067/metrics. Setiap metrik diterbitkan di bawah nama Mattermost (mattermost_…) dan nama Antimatter (antimatter_…), jadi papan pemuka Mattermost sedia ada terus berfungsi. Aplikasi menerbitkan metrik mereka sendiri, contohnya aplikasi Ejen di /plugins/mattermost-ai/metrics.
Port metrik tidak memerlukan log masuk: simpannya dalam rangkaian peribadi. Fail compose laman web tidak menerbitkannya; untuk mengikisnya dari hos, tambah "127.0.0.1:8067:8067" ke dalam ports perkhidmatan antimatter.
Aplikasi Metrik
Tanpa server Prometheus, aplikasi Metrik (dimatikan secara lalai, lihat Aplikasi terikat) mengumpul metrik yang sama ke dalam pangkalan data siri masa kecil di dalam Antimatter: setiap 60 saat, disimpan selama 15 hari. Ia akan mengaktifkan titik akhir metrik apabila dimulakan. Halamannya di Konsol Sistem › Plugin menunjukkan saiz pangkalan data dan membolehkan anda memuat turun hampuran data, untuk analisis anda sendiri atau untuk dilampirkan pada laporan pepijat; hari terkini juga ditambah ke pakej sokongan.
Pakej sokongan
Pakej sokongan ialah fail zip yang mengandungi apa yang diperlukan untuk mendiagnosis masalah: versi, statistik, konfigurasi dengan rahsianya dibuang, senarai aplikasi dan kerja, skema pangkalan data, log terkini dan profil prestasi. Hasilkan satu dengan amctl system supportpacket, atau di Konsol Sistem dari menu di bahagian atas bar sisinya (Sokongan Komersial, yang kemudian membolehkan anda memilih apa yang ingin disertakan). Bacanya sebelum berkongsi: ia tidak mengandungi mesej, tetapi ia mengandungi nama komuniti, pengguna dan tetapan.
Prestasi dan penskalaan
Satu server dengan 2 teras CPU dan 4 GB memori boleh melayan beberapa ratus orang. Sebelum menambah server, lihat:
- Pangkalan data. PostgreSQL melakukan sebahagian besar kerja: berikan storan pantas dan memori. Replika baca boleh mengambil beban baca (
SqlSettings.DataSourceReplicas, senarai URL sambungan). - Carian. Mesej dicari dalam pangkalan data secara lalai. Untuk pelayan bersaiz besar, Elasticsearch atau OpenSearch boleh mengambil alih carian dan pengekstrakan: Konsol Sistem › Persekitaran › Elasticsearch (
ElasticsearchSettings: Jenis backend Elasticsearch atau OpenSearch, Alamat Pelayan Sambungan, kelayakan, kemudian aktifkan pengekstrakan, bina indeks, dan aktifkan carian). - Panggilan. Media panggilan ialah beban terberat. Pindahkan ke server rtcd: lihat Panggilan dan suara.
- Fail terbuka. Setiap orang yang tersambung mengekalkan websocket terbuka. Fail compose pengeluaran antimatter-docker menaikkan had kepada 49152 (
ulimits: nofile); lakukan perkara yang sama dengan systemd (LimitNOFILE). - Log. Turunkan
LogSettings.ConsoleLevelkepadaINFOatauWARN:DEBUGmerekodkan banyak pada server yang sibuk.
Kebolehgunaan tinggi
Beberapa pelayan Antimatter boleh beroperasi sebagai kluster di sebalik penyeimbang beban, tanpa lesen. Mereka mesti berkongsi pangkalan data PostgreSQL yang sama, storan fail S3 yang sama, dan konfigurasi dalam pangkalan data (AM_CONFIG). Dalam Konsol Sistem › Persekitaran › Ketersediaan Tinggi (ClusterSettings): hidupkan Aktifkan Mod Kebolehgunaan Tinggi (ClusterSettings.Enable), berikan setiap nod Nama Kluster (ClusterSettings.ClusterName) yang sama, dan benarkan nod-nod itu mencapai satu sama lain pada port gossip, 8074 TCP dan UDP (ClusterSettings.GossipPort). Nod mencari satu sama lain melalui pangkalan data. Penyeimbang beban mesti meneruskan websockets. Untuk panggilan dalam kluster, gunakan rtcd.
Pengekalan data
Secara lalai, Antimatter menyimpan setiap mesej dan fail selamanya. Untuk memadam yang lama secara automatik, pergi ke Konsol Sistem › Pematuhan › Dasar Simpanan Data:
- Dasar Simpanan Global menetapkan Simpanan Saluran & Mesej Terus dan Simpanan fail untuk keseluruhan pelayan: Simpan selamanya, atau bilangan jam, hari atau tahun (
DataRetentionSettings.EnableMessageDeletion,MessageRetentionHours,EnableFileDeletion,FileRetentionHours). - Dasar simpanan khusus menetapkan tempoh berbeza untuk komuniti dan saluran yang dipilih.
- Kerja penghapusan dijalankan setiap hari pada masa yang anda pilih (
DataRetentionSettings.DeletionJobStartTime,02:00UTC secara lalai). Laksanakan Kerja Penghapusan Sekarang menjalankannya serta-merta, dan Log dasar menyenaraikan apa yang dipadamkan oleh setiap larian.
Eksport pematuhan dan log audit
- Konsol Sistem › Pematuhan › Eksport Pematuhan mengeksport semua mesej dan fail setiap hari (Benarkan Eksport Pematuhan,
MessageExportSettings.EnableExport, lalai dimatikan; Masa Eksport Pematuhan,01:00lalai) dalam salah satu format yang dibaca oleh sistem arkib: CSV, Actiance XML, atau Global Relay (fail zip, atau EML dihantar melalui SMTP).amctl compliance-exportmenjalankan dan memuat turun eksport dari baris arahan. - Pemantauan Pematuhan (
ComplianceSettings) menulis laporan harian ke dalam direktori. Ia adalah mekanisme yang lebih lama; lebih baik gunakan Eksport Pematuhan. - Log Audit (beta,
ExperimentalAuditSettings) merekodkan peristiwa pentadbiran dan keselamatan (log masuk, perubahan kebenaran dan tetapan) ke dalam failnya sendiri. - Terma Perkhidmatan Tersuai meminta semua orang untuk menerima terma anda sebelum menggunakan Antimatter, dan sekali lagi selepas anda mengubahnya.
Masalah biasa
"Tidak dapat menyambung ke pelayan", atau mesej hanya muncul selepas muat semula
WebSocket tidak dapat melalui. Semak bahawa proksi terbalik memulakan Upgrade dan Connection (lihat contoh nginx), dan bahawa URL laman web sepadan dengan alamat dalam pelayar dengan tepat, termasuk https.
Muat naik gagal dengan "413 Request Entity Too Large"
Proksi menolak saiz tersebut. Naikkan hadnya (nginx client_max_body_size) kepada sekurang-kurangnya Saiz Fail Maksimum dalam Konsol Sistem › Persekitaran › Penyimpanan Fail (FileSettings.MaxFileSize, 100 MB lalai).
Orang tidak dapat memulakan panggilan, atau menyertai tetapi tidak mendengar apa-apa
Jika hanya pentadbir yang boleh memulakan panggilan, matikan Mod ujian untuk Panggilan. Jika butang panggilan tidak wujud dalam saluran komuniti, komuniti tersebut ialah jenis Komuniti, di mana panggilan dimatikan secara lalai: pentadbir saluran atau komuniti boleh memulakan panggilan dalam saluran, atau mengubah jenis komuniti (lihat Di mana panggilan dihidupkan). Jika pengguna menyertai tetapi tidak mendengar apa-apa, port media disekat atau pelayan mengumumkan alamat yang salah: buka 8443 UDP dan TCP, dan tetapkan Penimpaan Host ICE di belakang NAT. Pengguna dalam rangkaian yang menyekat kedua-duanya memerlukan pelayan TURN. Lihat Panggilan dan suara.
Pemilih GIF kosong
Semak URL perkhidmatan GIF (http://gifs:8080/v2 dengan fail compose laman web) dan kunci API (GIFS_API_KEY dari .env) dalam Konsol Sistem › Plugin › GIFs, dan bahawa perkhidmatan gifs berjalan: docker compose ps gifs.
Tiada e-mel diterima
Gunakan Uji Sambungan dalam Konsol Sistem › Persekitaran › SMTP, semak bahawa Alamat Dari Pemberitahuan tidak masih test@example.com, dan cari dalam log untuk smtp atau mail.
Aplikasi menunjukkan "Gagal bermula"
Cari idnya dalam log (docker compose logs antimatter | grep <app id>). Lumpuhkan dan aktifkannya dalam Pengurusan Plugin untuk memulakannya semula.
Pelayan tidak bermula
Baca hujung lognya. Paling kerap, pangkalan data tidak dapat dicapai (semak AM_SQLSETTINGS_DATASOURCE dengan antimatter db ping), penghijrahan pangkalan data gagal (pulihkan sandaran yang diambil sebelum peningkatan dan laporkan ralat), atau port dengar diambil.
Dikunci keluar dari akaun pentadbir
Dari pelayan, mod tempatan tidak memerlukan kata laluan:
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
Melaporkan pepijat
Buka isu dalam repo komuniti Antimatter, dengan versi, cara pemasangan, apa yang anda lakukan dan baris log yang berkaitan. Laporkan masalah keselamatan secara peribadi, seperti yang diterangkan dalam dasar keselamatan.