Operacions

Vigila el servidor, fes que pugui gestionar més usuaris, decideix com de temps es mantenen les dades i resol els problemes que els administradors troben amb més freqüència.

Comprovacions d'estat

  • amctl --local system status (al contenidor: docker compose exec antimatter amctl --local system status). La comprovació d'estat de la imatge Docker l'executa cada 30 segons, de manera que docker compose ps mostra healthy o unhealthy.
  • GET /api/v4/system/ping respon sense iniciar sessió, per a un monitor extern o un equilibrador de càrrega: curl -fsS https://chat.example.com/api/v4/system/ping.
  • antimatter db ping comprova que la base de dades és accessible amb la configuració establerta.
  • Consola del sistema › Informes › Estadístiques del sistema mostra el nombre d'usuaris, publicacions i sessions.
  • 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
Consola del sistema › Informes › Estat del lloc, agrupat per gravetat.
System Console › Reporting › Server Logs, with level badges, filters and a live tail toggle
Consola del sistema › Informes › Registres del servidor.

Mètriques

El servidor pot publicar mètriques de Prometheus: taxes i durades de sol·licituds, connexions websocket, ús de la base de dades i la memòria cau, tasques, ganxos de connectors i més. Activeu-les a Consola del sistema › Entorn › Monitoratge de rendiment:

ParàmetreClau i variableValor per defecte
Habilita la supervisió del rendimentMetricsSettings.Enable, AM_METRICSSETTINGS_ENABLEdesactivat
Adreça d'escoltaMetricsSettings.ListenAddress, AM_METRICSSETTINGS_LISTENADDRESS:8067
Habilita la supervisió del rendiment del clientMetricsSettings.EnableClientMetricsactivat: els navegadors i les aplicacions informen de les seves pròpies temporitzacions

Després, Prometheus recull http://<server>:8067/metrics. Cada mètrica es publica amb el seu nom de Mattermost (mattermost_…) i el seu nom d'Antimatter (antimatter_…), de manera que els panells de control existents de Mattermost continuen funcionant. Les aplicacions publiquen les seves pròpies mètriques, per exemple l'aplicació Agents a /plugins/mattermost-ai/metrics.

El port de mètriques no requereix inici de sessió: mantén-lo en una xarxa privada. El fitxer compose del lloc no el publica; per recollir-lo des de l'amfitrió, afegeix "127.0.0.1:8067:8067" a ports del servei antimatter.

L'aplicació Mètriques

Sense un servidor Prometheus, l'aplicació de mètriques (vegeu Aplicacions integrades) recull les mateixes mètriques en una petita base de dades de sèries temporals dins d'Antimatter: cada 60 segons, amb una retenció de 15 dies. Activar Habilita la supervisió del rendiment també activa l'aplicació, llevat que l'hagis desactivat tu mateix. Activa el punt final de mètriques quan s'inicia. La seva pàgina a Consola del sistema › Connectors mostra la mida de la base de dades i et permet descarregar bolcats de les dades, per a la teva pròpia anàlisi o per adjuntar-los a un informe d'error; l'últim dia també s'afegeix als paquets de suport.

Paquet de suport

Un paquet de suport és un fitxer zip amb el que cal per diagnosticar un problema: versions, estadístiques, la configuració amb els secrets eliminats, la llista d'aplicacions i tasques, l'esquema de la base de dades, el registre recent i els perfils de rendiment. N'heu de generar un amb amctl system supportpacket, o bé a la Consola del sistema des del menú de la part superior de la seva barra lateral (Suport comercial, que després us permet triar què incloure). Llegiu-lo abans de compartir-lo: no conté missatges, però sí noms de comunitats, usuaris i configuracions.

Rendiment i escalabilitat

Un servidor amb 2 nuclis de CPU i 4 GB de memòria pot donar servei a pocs centenars de persones. Abans d'afegir servidors, reviseu:

  • La base de dades. PostgreSQL fa la major part de la feina: proveu-lo d'emmagatzematge ràpid i memòria. Les rèpliques de lectura poden assumir la càrrega de lectura (SqlSettings.DataSourceReplicas, una llista d'URLs de connexió).
  • Cerca. Per defecte, la cerca de missatges es fa a la base de dades. En servidors grans, Elasticsearch o OpenSearch poden assumir la cerca i la indexació: Consola del sistema › Entorn › Elasticsearch (ElasticsearchSettings: Tipus de motor Elasticsearch o OpenSearch, Adreça de connexió al servidor, credencials, i després habiliteu la indexació, construiu l'índex i habiliteu la cerca).
  • Trucades. Els mitjans de les trucades són la càrrega més pesada. Mou-los a un servidor rtcd: vegeu Trucades i veu.
  • Fitxers oberts. Cada persona connectada manté un websocket obert. El fitxer compose de producció d'antimatter-docker augmenta el límit a 49152 (ulimits: nofile); feu el mateix amb systemd (LimitNOFILE).
  • Registres. Reduïu LogSettings.ConsoleLevel a INFO o WARN: DEBUG genera molts registres en un servidor ocupat.
  • Compressió. Amb Mode del servidor web configurat a gzip, AM_FEATUREFLAGS_ENABLEBROTLICOMPRESSION=true negocia la compressió Brotli per a les respostes de l'API amb els clients que l'accepten, en lloc de gzip (opcional, desactivat per defecte; reinicia el servidor després de canviar-ho).

Alta disponibilitat

Diversos servidors d'Antimatter poden executar-se com a clúster darrere d'un equilibrador de càrrega, sense llicència. Han de compartir la mateixa base de dades PostgreSQL, l'emmagatzematge de fitxers S3 i la configuració a la base de dades (AM_CONFIG). A Consola del sistema › Entorn › Alta disponibilitat (ClusterSettings): activeu Activa el mode d’alta disponibilitat (ClusterSettings.Enable), doneu a cada node el mateix Nom del clúster (ClusterSettings.ClusterName) i permeteu que els nodes es comuniquin entre ells pel port de gossip, 8074 TCP i UDP (ClusterSettings.GossipPort). Els nodes es troben a través de la base de dades. L'equilibrador de càrrega ha de transmetre les connexions websocket. Per a les trucades en un clúster, utilitzeu rtcd.

Retenció de dades

De manera predeterminada, Antimatter conserva tots els missatges i fitxers per sempre. Per suprimir-los automàticament, aneu a Consola del sistema › Conformitat › Polítiques de retenció de dades:

  • La Política de retenció global estableix la Retenció de canals i missatges directes i la Retenció de fitxers per a tot el servidor: Mantén per sempre, o un nombre d’hores, dies o anys (DataRetentionSettings.EnableMessageDeletion, MessageRetentionHours, EnableFileDeletion, FileRetentionHours).
  • Les polítiques de retenció personalitzades estableixen una durada diferent per a comunitats i canals seleccionats.
  • La tasca d’eliminació s’executa cada dia a l’hora que triïs (DataRetentionSettings.DeletionJobStartTime, per defecte 02:00 UTC). Executa la tasca d’eliminació ara la fa executar immediatament, i el Registre de la política llista el que ha eliminat cada execució.
Els missatges i fitxers suprimits desapareixen definitivament, tant de la base de dades com de l'emmagatzematge de fitxers. Comproveu les durades abans d'activar una política i recordeu que les vostres còpies de seguretat encara contenen les dades suprimides fins que caduquin.

Exportació de conformitat i registres d'auditoria

  • Consola del sistema › Conformitat › Exportació de compliment exporta tots els missatges i fitxers cada dia (Activa l’exportació de compliment, MessageExportSettings.EnableExport, desactivada per defecte; Hora d’exportació de conformitat, per defecte 01:00) en un dels formats que llegeixen els sistemes d’arxiu: CSV, XML d’Actiance o Global Relay (un fitxer zip, o EML enviat per SMTP). amctl compliance-export executa i baixa les exportacions des de la línia d’ordres.
  • Monitoratge de compliment (ComplianceSettings) escriu informes diaris en un directori. És el mecanisme més antic; és preferible l’exportació de compliment.
  • Registre d’auditoria (beta, ExperimentalAuditSettings) registra els esdeveniments administratius i de seguretat (inici de sessió, canvis de permisos i de configuració) en un fitxer propi. Un registre d'inici de sessió única també indica si aquell inici de sessió va crear el compte.
  • Termes de servei personalitzats demana a tothom que accepti els vostres termes abans d'utilitzar Antimatter, i de nou quan els modifiqueu.

Problemes habituals

"No es pot connectar al servidor" o els missatges només apareixen després d'una recàrrega

El websocket no passa. Assegureu-vos que el proxy invers transmet les capçaleres Upgrade i Connection (vegeu l'exemple d'nginx) i que l'URL del lloc coincideix exactament amb l'adreça del navegador, incloent-hi https.

Les pujades fallen amb "413 Request Entity Too Large"

El proxy rebutja la mida. Augmenteu el seu límit (nginx client_max_body_size) fins a com a mínim Mida màxima del fitxer a Consola del sistema › Entorn › Emmagatzematge de fitxers (FileSettings.MaxFileSize, 100 MB per defecte).

La gent no pot iniciar trucades, o s'uneix però no sent res

Si només els administradors poden iniciar trucades, desactiva el Mode de prova de les trucades. Si el botó de trucada no apareix als canals d'una comunitat, la comunitat és del tipus Comunitat, on les trucades estan desactivades per defecte: els administradors del canal o de la comunitat poden activar les trucades en un canal o canviar el tipus de la comunitat (vegeu On s'activen les trucades). Si les persones s'uneixen però no senten res, el port de mitjans està bloquejat o el servidor anuncia una adreça incorrecta: obre el port 8443 UDP i TCP i configura Substitució de l'amfitrió ICE darrere d'un NAT. Les persones en xarxes que bloquegen tots dos necessiten un servidor TURN. Vegeu Trucades i veu.

El selector de GIFs és buit

Comprova l’URL del servei de GIF (http://gifs:8080/v2 amb el fitxer compose del lloc) i la Clau d'API (el GIFS_API_KEY de .env) a Consola del sistema › Connectors › GIF, i que el servei gifs s’estigui executant: docker compose ps gifs.

No arriben correus electrònics

Utilitza Provar connexió a Consola del sistema › Entorn › SMTP, comprova que l’Adreça d’origen de les notificacions no sigui encara test@example.com, i busca al registre smtp o mail.

Una aplicació mostra "Failed to start"

Cercu-ne el seu id al registre (docker compose logs antimatter | grep <app id>). Desactiveu-la i activeu-la a la gestió de plugins per reiniciar-la.

El servidor no s'arrenca

Llegiu el final del seu registre. El més habitual és que la base de dades no sigui accessible (comproveu AM_SQLSETTINGS_DATASOURCE amb antimatter db ping), que una migració de la base de dades hagi fallat (restaurau la còpia de seguretat feta abans de la actualització i informeu de l'error), o que el port d'escucha estigui ocupat.

Bloquejat del compte d'administrador

Des del servidor, el mode local no requereix cap contrasenya:

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

Informar d'un error

Obre un problema al repositori de la comunitat d'Antimatter, amb la versió, com l'has instal·lat, què has fet i les línies de registre rellevants. Informa dels problemes de seguretat de manera privada, com explica la política de seguretat.