செயலாக்கம்
சர்வரை கவனமாகக் கண்காணிக்கவும், அதிக பயனர்களைக் கையாளும்படி செய்யவும், தரவு எவ்வளவு காலம் வைக்கப்பட வேண்டும் என்பதைத் தீர்மானிக்கவும், நிர்வாகிகள் மிகவும் அடிக்கடி சந்திக்கும் பிரச்சனைகளைத் திருத்தவும்.
ஆரோக்கியப் பரிசோதனைகள்
amctl --local system status(கண்டெய்னரில்:docker compose exec antimatter amctl --local system status). Docker இமேஜின் ஆரோக்கியப் பரிசோதனை இதை ஒவ்வொரு 30 வினாடிகளுக்கும் இயக்குகிறது, எனவேdocker compose pshealthyஅல்லதுunhealthyஎனக் காட்டுகிறது.GET /api/v4/system/pingஉள்நுழைவின் மூலம் பதிலளிக்கிறது, வெளிப்புற கண்காணிப்பு அல்லது லோட் பேலன்சருக்காக:curl -fsS https://chat.example.com/api/v4/system/ping.antimatter db pingஅமைக்கப்பட்ட அமைப்புகளுடன் தரவுத்தளம் அணுகக்கூடியதா என்பதைச் சரிபார்க்கிறது.- அமைப்பு கன்சோல் › அறிக்கைகள் › அமைப்பு புள்ளிவிவரங்கள் பயனர்கள், பதிவுகள் மற்றும் அமர்வுகளின் எண்ணிக்கையைக் காட்டுகிறது, மேலும் பணிப்பரப்பு மேலாண்மை கவனிக்க வேண்டிய அமைப்புப் பிரச்சனைகளின் பட்டியலை வழங்குகிறது.
அளவீடுகள்
சர்வர் Prometheus அளவீடுகளை வெளியிட முடியும்: கோரிக்கை விகிதங்கள் மற்றும் காலங்கள், வெப்சாகெட் இணைப்புகள், தரவுத்தளம் மற்றும் கேஷ் பயன்பாடு, பணிகள், செயலி ஹூக்குகள் மற்றும் மேலும். அமைப்பு கன்சோல் › சூழல் › செயல்திறன் கண்காணிப்பு இல் இவற்றை இயக்கவும்:
| அமைப்பு | Key மற்றும் variable | இயல்பு |
|---|---|---|
| செயல்திறன் கண்காணிப்பை இயக்கவும் | MetricsSettings.Enable, AM_METRICSSETTINGS_ENABLE | அணை |
| கேட்கும் முகவரி | MetricsSettings.ListenAddress, AM_METRICSSETTINGS_LISTENADDRESS | :8067 |
| வாடிக்கையாளர் செயல்திறன் கண்காணிப்பை இயக்கவும் | MetricsSettings.EnableClientMetrics | இயக்கப்பட்டது: உலாவிகள் மற்றும் செயலிகள் தங்கள் சொந்த நேர அளவீடுகளை அறிவிக்கின்றன |
Prometheus பின்னர் http://<server>:8067/metrics ஐ ஸ்கிரேப் செய்கிறது. ஒவ்வொரு அளவீடும் அதன் Mattermost பெயரின் (mattermost_…) கீழும் அதன் Antimatter பெயரின் (antimatter_…) கீழும் வெளியிடப்படுகிறது, எனவே ஏற்கனவே உள்ள Mattermost டாஷ்போர்டுகள் செயல்படத் தொடர்கின்றன. செயலிகள் தங்கள் சொந்த அளவீடுகளை வெளியிடுகின்றன, எடுத்துக்காட்டாக Agents செயலி /plugins/mattermost-ai/metrics இல்.
அளவீடுகள் துறைமுகத்திற்கு உள்நுழைவு தேவையில்லை: இதை தனிப்பட்ட நெட்வொர்க்கில் வைக்கவும். தளத்தின் compose கோப்பு இதை வெளியிடவில்லை; ஹோஸ்ட்டிலிருந்து ஸ்கிரேப் செய்ய, antimatter சேவையின் ports இல் "127.0.0.1:8067:8067" ஐச் சேர்க்கவும்.
Metrics செயலி
Prometheus சரவரர் இல்லாமல், Metrics அமைப்பு (இயல்பாக அணைக்கப்படும்; இணைப்படப்ட அமைப்புகள் பார்) Antimatter-க்குள்ளே ஒரு சிறிய நேர-வரிசை தரவுத்தொகுப்பில் அதே மெட்ரிக்ஸ்களை சேகரிக்கிறது: 60 வினாடிகளுக்கு ஒருமுறை, 15 நாட்கள் வரை. இது இயங்கும்போது மெட்ரிக்ஸ் எண்ட்பாயிண்டை இயக்குகிறது. அமைப்பு கன்சோல் › பிளக்-இன்கள் பக்கத்தில் தரவுத்தொகுப்பின் அளவு காட்டப்படும்; உங்கள் சொந்த பகுப்பாய்வுக்காக அல்லது பிளாக் ரிபோர்ட்டுக்கு இணைக்க தரவு டம்ப்ஸ்களை பதிவிறக்கலாம்; கடைசி நாள் தரவு ஆதரவு பாகெட்டிலும் சேர்க்கப்படும்.
ஆதரவு பாகெட்
ஆதரவு பாகெட் என்பது ஒரு பிரச்சினையை கண்டறிய தேவையான விவரங்களைக் கொண்ட ஜிப் கோப்பு: பதிப்புகள், புள்ளியியல், ரகசியங்கள் நீக்கப்ட அமைப்புகள், அமைப்புகள் மற்றும் ஜாப்ஸ்களின் பட்டியல், தரவுத்தொகுப்பு ஸ்கீமா, சமீபத்திய லாக் மற்றும் செயல்திறன் புரொபைல்கள். amctl system supportpacket மூலம் அல்லது அமைப்பு கன்சோலில் பகக்கவாட்டுப் பட்டையின் மேலே உள்ள மெனுவில் (வணிக ஆதரவு, பின்னர் சேர்க்க தேர்ந்தெடுக்க) ஒன்றை உருவாக்குங்கள். பகிரும் முன் அதை படிக்கவும்: அதில் செய்திகள் இல்லை, ஆனால் சமூகங்கள், பயனர்கள் மற்றும் அமைப்புகளின் பெயர்கள் உள்ளன.
செயல்திறன் மற்றும் விரிவாக்கம்
2 CPU கோர்ஸ் மற்றும் 4 GB மெமரி கொண்ட ஒரு சரவரர் சில நூறு மக்களுக்கு சேவை செய்யும். சரவரர்களை சேர்க்கும் முன் பார்த்துக்கொள்ளவும்:
- தரவுத்தொகுப்பு. PostgreSQL பெரும்பாலான வேலையை செய்கிறது: அதற்கு வேகமான சேமிப்பு மற்றும் மெமரி அளிக்கவும். படிப்பு பிரதிக்கள் (read replicas) படிப்பு சுமைகளை ஏற்கலாம் (
SqlSettings.DataSourceReplicas, இணைப்பு URL-களின் பட்டியல்). - தேடலு. இயல்பாக செய்திகள் தரவுத்தொகுப்பில் தேடப்படும். பெரிய சரவரர்களுக்கு, Elasticsearch அல்லது OpenSearch தேடலும் இண்டெக்ஸிங்கும் செய்யலாம்: அமைப்பு கன்சோல் › சூழலு › Elasticsearch (
ElasticsearchSettings: பின்னணி வகை Elasticsearch அல்லது OpenSearch, சரவரர் இணைப்பு முகவரி, அங்கீகார விவரங்கள், பின்னர் இண்டெக்ஸிங்கை இயக்குங்கள், இண்டெக்ஸை உருவாக்குங்கள், தேடலை இயக்குங்கள்). - அழைப்புகள். அழைப்பு ஊடகங்கள் (call media) மிகவும் கனமான சுமை. அவற்றை rtcd சரவரருக்கு நகர்த்தவும்: அழைப்புகள் மற்றும் குரல் பார்.
- இதழ்கள். ஒவ்வொரு இணைப்ட பயனரும் ஒரு வெப்சாகெட்டை திறந்திருக்கிறார். antimatter-docker-ன் உற்பத்தி compose கோப்பு எல்லைக்கு 49152-க்கு உயர்த்துகிறது (
ulimits: nofile); systemd-ல் அதே செய்க (LimitNOFILE). - லாக்கள்.
LogSettings.ConsoleLevel-ஐINFOஅல்லதுWARNஆக குறைக்கவும்:DEBUGபிஸியான சரவரரில் அதிகமாக லாக் செய்கிறது.
உயர் கிடைப்பு (High availability)
பல Antimatter சர்வர்கள் லோட் பேலன்சரின் பின்னே ஒரு கிளஸ்டராக இயங்கலாம், லைசென்ஸ் இல்லாமலே. அவை ஒரே PostgreSQL தரவுத்தளத்தையும், ஒரே S3 கோப்பு சேமிப்பையும், தரவுத்தளத்தில் உள்ள அமைப்புகளையும் (AM_CONFIG) பகிர வேண்டும். அமைப்பு கன்சோல் › சூழல் › உயர் கிடைப்பு (ClusterSettings) இல்: உயர் அணுகல் முறையை இயக்கு (ClusterSettings.Enable) ஐ இயக்கு, ஒவ்வொரு நோடுக்கும் ஒரே கிளஸ்டர் பெயர் (ClusterSettings.ClusterName) ஐ அளிக்கவும், மேலும் நோட்கள் ஒன்றோடொன்று ஃபிளாப் போர்ட்டில், 8074 TCP மற்றும் UDP (ClusterSettings.GossipPort) மூலம் தொடர்பு கொள்ளட்டும். நோட்கள் தரவுத்தளம் மூலம் ஒன்றையொன்று கண்டறியும். லோட் பேலன்சர் வெப்சாகெட்டுகளை (websockets) கடத்த வேண்டும். கிளஸ்டரில் அழைப்புகளுக்கு rtcd ஐப் பயன்படுத்தவும்.
தரவு வைப்பு
இயல்பாக Antimatter அனைத்து செய்திகளையும் கோப்புகளும் என்றும் வைத்திருக்கும். பழையவற்றை தானாக நீக்க, அமைப்பு கன்சோல் › சட்டப்படி செயல்பாடு › தரவு வைப்பு கொள்கைகள் இல் செல்லவும்:
- உலகளாவிய வைப்பு கொள்கை முழு சர்வருக்கும் சேனல் & நேரடி செய்தி வைப்பு மற்றும் கோப்பு வைப்பு ஐ அமைக்கிறது: எப்போதும் வைத்திரு, அல்லது மணி நேரங்கள், நாட்கள் அல்லது ஆண்டுகளின் எண்ணிக்கை (
DataRetentionSettings.EnableMessageDeletion,MessageRetentionHours,EnableFileDeletion,FileRetentionHours). - தனிப்பயன் வைப்பு கொள்கைகள் தேர்ந்தெடுக்கப்பட்ட சமூகங்களுக்கும் சேனல்களுக்கும் வேறு கால அளவை அமைக்கின்றன.
- நீக்குதலு பணி நீங்கள் தேர்ந்த நேரம் ஒவ்வொரு நாளும் இயங்குகிறது (
DataRetentionSettings.DeletionJobStartTime, இயல்பாக02:00UTC). நீக்குதலு பணியை இப்போது இயக்கு அதை உடனடியாக இயக்குகிறது, பாலிசி பதிவு ஒவ்வொரு இயக்கமும் என்னவற்றை நீக்கியது என்பதை பட்டியலிடுகிறது.
சட்டப்படி ஏற்றுமதி மற்றும் ஆடிட் பதிவுகள்
- அமைப்பு கன்சோல் › சட்டப்படி செயல்பாடு › காப்பீட்டு ஏற்றுமதி தினமும் அனைத்து செய்திகளையும் மற்றும் கோப்பைகளையும் ஏற்றும் (சட்டப்படி ஏற்றுமதியை இயக்கு,
MessageExportSettings.EnableExport, இயல்பாக அணைப்பு; கவனியாமை ஏற்றுமதி நேரம், இயல்பாக01:00) காப்பகப்படுத்து அமைப்புகளால் படிக்கப்படும் வடிவங்களில் ஒன்றில்: CSV, Actiance XML, அல்லது Global Relay (zip கோப்பு, அல்லது SMTP வழியாக அனுப்பப்படும் EML).amctl compliance-exportகட்டளை வரிசையிலிருந்து ஏற்றுகளை இயக்கவும் மற்றும் பதிவிறக்கவும். - சட்டப்படி கண்காணிப்பு (
ComplianceSettings) ஒரு நிரலில் (directory) தினசரி அறிக்கைகளை எழுதுகிறது. இது பழைய வழிமுறை; சட்டப்படி ஏற்றுமதியை (Compliance Export) விருப்பமாகப் பயன்படுத்தவும். - ஆடிட் பதிவு (beta,
ExperimentalAuditSettings) நிர்வாக மற்றும் பாதுகாப்பு நிகழ்வுகளை (உள்நுழைவுகள், அனுமதி மற்றும் அமைப்பு மாற்றங்கள்) தனித்தனி கோப்பில் பதிவு செய்கிறது. - தனியீய சேவை விதிமுறைகள் Antimatter-ஐப் பயன்படுத்தும் முன் அனைவரையும் உங்கள் விதிமுறைகளை ஏற்குமாறு கேட்கிறது, மேலும் அவற்றை நீங்கள் மாற்றிய பிறகும் மீண்டும் கேட்கிறது.
பொதுவான பிரச்சினைகள்
"சர்வருடன் இணைக்க முடியவில்லை" அல்லது மறுபதிவு செய்த பிறகே செய்திகள் தோன்றும்
WebSocket இணைப்பு செல்லவில்லை. ரிவர்ஸ் புரொக்ஸி Upgrade மற்றும் Connection ஹெடர்களை கடத்துகிறதா என்பதைச் சரிபார்க்கவும் (nginx எடுத்துக்காட்டு காண்க), மேலும் https உட்பட, உங்கள் இணையதள URL-ல் உள்ள முகவரி உங்கள் உலாவியில் உள்ள முகவரியுடன் துல்லியமாக பொருந்துகிறதா என்பதைச் சரிபார்க்கவும்.
"413 Request Entity Too Large" என்ற தவறுடன் பதிவேற்றங்கள் தோல்வியடைகின்றன
ப்ராக்ஸி அளவை நிராகரிக்கிறது. அதன் வரம்பை அமைப்பு கன்சோல் › சூழல் › கோப்பு சேமிப்பு இல் உள்ள அதிகபட்ச கோப்பு அளவு (அதிகபட்ச கோப்பு அளவு) ஐ விட குறைந்தது FileSettings.MaxFileSize (இயல்பாக 100 MB) ஆக உயர்த்தவும் (nginx client_max_body_size ஐ உயர்த்தவும்).
அழைப்புகளைத் தொடங்க முடியவில்லை, அல்லது சேர்ந்தாலும் ஒலி கேட்கவில்லை
நிர்வாகிகள்தவிர யாரும் அழைப்புகளைத் தொடங்க முடியாவிட்டால், அழைப்புகளின் சோதனை முறையை அணைக்கவும். ஒரு சமூகத்தின் சேனல்களில் அழைப்பு பொத்தான் இல்லையெனில், அது சமூகம் வகையைச் சேர்ந்தது; அங்கு அழைப்புகள் இயல்பாக அணைக்கப்பட்டிருக்கும்: அதன் சேனல் அல்லது சமூக நிர்வாகிகள் ஒரு சேனலில் அழைப்புகளை இயக்கலாம், அல்லது சமூகத்தின் வகையை மாற்றலாம் (அழைப்புகள் இயக்கப்பட்டிருக்கும் இடம் காண்க). மக்கள் சேர்ந்தாலும் ஒலி கேட்கப்படவில்லை என்றால், ஊடகப் போர்ட் தடைசெய்யப்பட்டிருக்கிறது அல்லது சர்வர் தவறான முகவரியை அறிவிக்கிறது: 8443 UDP மற்றும் TCP-யைத் திறக்கவும், NAT-க்குப் பின் ICE Host Overrideயை அமைக்கவும். இரண்டையும் தடைசெய்யும் நெட்வொர்க்குகளில் இருப்பவர்களுக்கு TURN சர்வர் தேவை. அழைப்புகள் மற்றும் குரல் காண்க.
GIF தேர்வி (picker) காலியாக உள்ளது
அமைப்பு கன்சோல் › பிளக்-இன்கள் › GIFகள் இல் GIF சேவை URL (தளத்தின் compose கோப்புடன் http://gifs:8080/v2) மற்றும் API விசை (.env இல் உள்ள GIFS_API_KEY) ஐச் சரிபார்க்கவும், மேலும் gifs சேவை இயங்குகிறதா என்பதை உறுதிசெய்யவும்: docker compose ps gifs.
மின்னஞ்சல்கள் வரவில்லை
அமைப்பு கன்சோல் › சூழல் › SMTP இல் இணைப்பை சோதி (Test Connection) ஐப் பயன்படுத்தவும், அறிவிப்பு அனுப்பியவர் முகவரி (Notification From Address) இன்னும் test@example.com ஆக உள்ளதா என்பதைச் சரிபார்க்கவும், பதிவில (log) smtp அல்லது mail எனத் தேடவும்.
ஒரு செயலி (app) "தொடங்க தோல்வியடைந்தது" என்று காட்டுகிறது
அதன் id ஐ பதிவில் (log) தேடவும் (docker compose logs antimatter | grep <app id>). அதை மீண்டும் இயக்க, பிளக்-இன் நிர்வாகத்தில் (Plugin Management) அதை முடக்கி (disable) பின்னர் இயக்கவும் (enable).
சர்வர் இயங்கத் தொடங்கவில்லை
அதன் பதிவின் (log) முடிவைப் படிக்கவும். பெரும்பாலும் தரவுத்தளம் அணுக முடியவில்லை (antimatter db ping மூலம் AM_SQLSETTINGS_DATASOURCE ஐச் சரிபார்க்கவும்), தரவுத்தள மாற்றம் (migration) தோல்வியடைந்தது (படிப்படியாக மேம்படுத்தும் முன் எடுக்கப்பட்ட காப்பிதை மீட்டெடுத்து, பிழையை அறிக்கையிடவும்), அல்லது கேட்கும் துறைமுகம் (listen port) பிடிக்கப்பட்டுள்ளது.
நிர்வாகி கணக்கில் இருந்து முடக்கப்பட்டிருக்கிறீர்கள்
சர்வரிலிருந்து, உள்ளூர் முறைக்கு கடவுச்சொல் தேவையில்லை:
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
பிழையை அறிவித்தல்
Antimatter சமூக ஊடகக் களஞ்சியத்தில் ஒரு பிரச்சனையைத் திறக்கவும்; அதில் பதிப்பு, நீங்கள் எப்படி நிறுவியீர்கள், நீங்கள் என்ன செய்தீர்கள் மற்றும் தொடர்புடைய பதிவு வரிசைகளைச் சேர்த்து அனுப்பவும். பாதுகாப்பு பிரச்சனைகளை தனியாக அறிவிக்கவும், பாதுகாப்புக் கொள்கை விளக்குவது போல.