MariaDB
 sql >> डेटाबेस >  >> RDS >> MariaDB

MariaDB क्लस्टर के लिए MaxCtrl का उपयोग करते हुए MaxScale बेसिक मैनेजमेंट - भाग दो

पिछली ब्लॉग पोस्ट में, हमने MaxCtrl कमांड-लाइन क्लाइंट का उपयोग करते हुए 4 बुनियादी प्रबंधन घटकों को कवर किया है। इस ब्लॉग पोस्ट में, हम MaxScale घटकों के शेष भाग को कवर करने जा रहे हैं जो आमतौर पर एक MariaDB क्लस्टर में उपयोग किए जाते हैं:

  • फ़िल्टर प्रबंधन
  • MaxScale प्रबंधन
  • लॉगिंग प्रबंधन

इस ब्लॉग पोस्ट के सभी आदेश MaxScale 2.5.3 पर आधारित हैं।

फ़िल्टर प्रबंधन

फ़िल्टर मैक्सस्केल में एक मॉड्यूल है जो मैक्सस्केल सेवा के लिए प्रोसेसिंग और रूटिंग इंजन के रूप में कार्य करता है। फ़िल्टरिंग मैक्सस्केल के क्लाइंट कनेक्शन और बैकएंड डेटाबेस सर्वर के मैक्सस्केल कनेक्शन के बीच होती है। इस पथ (MaxScale का क्लाइंट-साइड वास्तविक डेटाबेस सर्वर से बाहर) को एक पाइपलाइन माना जा सकता है, फ़िल्टर को उस पाइपलाइन में रखा जा सकता है ताकि उस सामग्री को मॉनिटर, संशोधित, कॉपी या ब्लॉक किया जा सके जो इसके माध्यम से बहती है।

मैक्सस्केल सेवा की प्रोसेसिंग क्षमताओं को बढ़ाने के लिए कई फ़िल्टर लागू किए जा सकते हैं, जैसा कि निम्न तालिका में दिखाया गया है:

फ़िल्टर का नाम

विवरण

बिनलॉग

एक बिनलॉगर सेवा के साथ संयुक्त रूप से स्लेव सर्वर के लिए बाइनरी लॉग इवेंट को चुनिंदा रूप से दोहराता है।

कैश

एक साधारण कैश जो SELECTs के परिणाम को कैशिंग करने में सक्षम है, ताकि बाद के समान SELECTs सीधे MaxScale द्वारा प्रस्तुत किए जा सकें, बिना किसी क्वेरी को रूट किए। सर्वर।

लगातार महत्वपूर्ण पठन

गैर-महत्वपूर्ण पठन के स्केलआउट की अनुमति देते हुए MaxScale के माध्यम से लगातार महत्वपूर्ण पढ़ने की अनुमति देता है।

डेटाबेस फ़ायरवॉल

नियमों के समूह से मेल खाने वाली क्वेरी को ब्लॉक करता है। इस फ़िल्टर को दुर्भावनापूर्ण हमलों के बजाय आकस्मिक दुरुपयोग से बचाने के लिए सर्वोत्तम प्रयास समाधान के रूप में देखा जाना चाहिए।

संकेत

एक सेवा में रूटिंग संकेत जोड़ता है, राउटर को एक निश्चित प्रकार के सर्वर पर क्वेरी को रूट करने का निर्देश देता है।

स्ट्रीम डालें

बल्क इंसर्ट को CSV डेटा स्ट्रीम में कनवर्ट करता है जो बैकएंड सर्वर द्वारा LOAD DATA LOCAL INFILE मैकेनिज्म के माध्यम से खपत होती है

लुआ

एक Lua स्क्रिप्ट में फ़ंक्शन के एक सेट को कॉल करता है।

मास्किंग

किसी विशेष कॉलम के दिए गए मान को अस्पष्ट करता है

मैक्सरो

पंक्तियों की संख्या को सीमित करना जो एक चयन, एक तैयार कथन, या संग्रहीत प्रक्रिया क्लाइंट एप्लिकेशन पर वापस आ सकती है।

नामांकित सर्वर

रेगुलर एक्सप्रेशन (regex) मिलानों के आधार पर क्वेरी को सर्वर तक रूट करता है।

क्वेरी लॉग ऑल

क्वेरी सामग्री को CSV प्रारूप में एक फ़ाइल में लॉग करता है।

Regex

रेगुलर एक्सप्रेशन मैचों और टेक्स्ट प्रतिस्थापन का उपयोग करके क्वेरी सामग्री को फिर से लिखता है।

टी

क्लाइंट से अनुरोध की प्रतियां बनाएं और प्रतियां मारियाडीबी मैक्सस्केल के भीतर किसी अन्य सेवा को भेजें।

थ्रॉटल

डेटाबेस फ़ायरवॉल फ़िल्टर की limit_queries कार्यक्षमता को प्रतिस्थापित और विस्तारित करता है

शीर्ष

फ़िल्टर से गुजरने वाले चयनित SQL कथन के क्वेरी प्रदर्शन पर नज़र रखता है।

लेन-देन प्रदर्शन निगरानी

लेन-देन के प्रदर्शन विश्लेषण के लिए प्रत्येक SQL कथन की निगरानी करता है जो फ़िल्टर से गुजरता है, लेन-देन के अनुसार समूहीकृत होता है।

प्रत्येक फ़िल्टर के कॉन्फ़िगर करने के अपने तरीके होते हैं। फ़िल्टर आमतौर पर मैक्सस्केल सेवा से जुड़े होते हैं। उदाहरण के लिए, बिनलॉग फ़िल्टर को बिनलॉगर सेवा पर लागू किया जा सकता है, केवल एक दास सर्वर पर डेटा के सबसेट को दोहराने के लिए जो विशाल तालिकाओं के लिए डिस्क स्थान को बहुत कम कर सकता है। संबंधित फ़िल्टर के लिए पैरामीटर कॉन्फ़िगर करने के सही तरीके के लिए MaxScale फ़िल्टर दस्तावेज़ देखें।

फ़िल्टर बनाएं

प्रत्येक MaxScale फ़िल्टर को कॉन्फ़िगर करने का अपना तरीका होता है। इस उदाहरण में, हम अपनी तालिका "credit_cards" में कॉलम "card_no" के लिए हमारे संवेदनशील डेटा को मास्क करने के लिए एक मास्किंग फ़िल्टर बनाने जा रहे हैं। मास्किंग के लिए एक नियम फ़ाइल की आवश्यकता होती है, जो JSON प्रारूप में लिखी जाती है। सबसे पहले, हमारी नियम फ़ाइलों को होस्ट करने के लिए एक निर्देशिका बनाएं:

$ mkdir /var/lib/maxscale/rules

फिर, एक टेक्स्ट फ़ाइल बनाएँ:

$ vi /var/lib/maxscale/rules/masking.json

नीचे दी गई पंक्तियों को निर्दिष्ट करें:

{
    "rules": [
        {
            "obfuscate": {
                "column": "card_no"
            }
        }
    ]
}

मारियाडीबी क्लाइंट द्वारा देखे जाने वाले संवेदनशील डेटा की सुरक्षा के लिए उपरोक्त सरल नियम किसी भी तालिका के लिए कॉलम card_no के आउटपुट को आसानी से अस्पष्ट कर देंगे।

नियम फ़ाइल बनने के बाद, हम निम्न कमांड का उपयोग करके फ़िल्टर बना सकते हैं:

maxctrl: create filter Obfuscates-card masking rules=/var/lib/maxscale/rules/masking.json
OK

ध्यान दें कि कुछ फ़िल्टर के लिए अलग-अलग पैरामीटर की आवश्यकता होती है। इस मास्किंग फ़िल्टर के लिए, मूल पैरामीटर "नियम" है, जहां हमें JSON प्रारूप में बनाई गई मास्किंग नियम फ़ाइल को निर्दिष्ट करने की आवश्यकता होती है।

किसी सेवा में फ़िल्टर संलग्न करें

एक फ़िल्टर को केवल किसी सेवा से जोड़कर सक्रिय किया जा सकता है। MaxCtrl का उपयोग करके किसी मौजूदा सेवा को संशोधित करना केवल कुछ मापदंडों द्वारा समर्थित है, और फ़िल्टर जोड़ना उनमें से एक नहीं है। मूल रूप से फ़िल्टर संलग्न करने के लिए हमें MaxScale की सेवा कॉन्फ़िगरेशन फ़ाइल के अंतर्गत फ़िल्टर घटक जोड़ना होगा। इस उदाहरण में, हम rr-service नामक अपनी मौजूदा राउंड-रॉबिन सेवा पर "Obfuscates-card" फ़िल्टर लागू करने जा रहे हैं।

/var/lib/maxscale/maxscale.cnf.d निर्देशिका में जाएं और rr-service.cnf खोजें, इसे टेक्स्ट एडिटर से खोलें और फिर निम्न पंक्ति जोड़ें:

filters=Obfuscates-card

नया परिवर्तन लोड करने के लिए MaxScale पुनरारंभ आवश्यक है:

$ systemctl restart maxscale

फ़िल्टर का परीक्षण करने के लिए, हम एक MariaDB क्लाइंट का उपयोग करेंगे और दो अलग-अलग सेवाओं से कनेक्ट करके आउटपुट की तुलना करेंगे। हमारी आरडब्ल्यू-सेवा पोर्ट 3306 पर सुनने वाले श्रोता से जुड़ी हुई है, बिना किसी फिल्टर के कॉन्फ़िगर किए। इसलिए, हमें MaxScale से अनफ़िल्टर्ड प्रतिक्रिया देखनी चाहिए:

$ mysql -ucard_user -p -hmaxscale_host -p3306 -e "SELECT * FROM secure.credit_cards LIMIT 1"
+----+-----------+-----------------+-------------+-----------+---------+
| id | card_type | card_no         | card_expiry | card_name | user_id |
+----+-----------+-----------------+-------------+-----------+---------+
|  1 | VISA      | 425388910909238 | NULL        | BOB SAGAT |       1 |
+----+-----------+-----------------+-------------+-----------+---------+

पोर्ट 3307 पर rr-service श्रोता से कनेक्ट होने पर, जो हमारे फ़िल्टर के साथ कॉन्फ़िगर किया गया है, हमारा "card_no" मान अस्पष्ट आउटपुट के साथ बाधित होता है:

$ mysql -ucard_user -p -hmaxscale_host -p3307 -e "SELECT * FROM secure.credit_cards LIMIT 1"
+----+-----------+-----------------+-------------+-----------+---------+
| id | card_type | card_no         | card_expiry | card_name | user_id |
+----+-----------+-----------------+-------------+-----------+---------+
|  1 | VISA      | ~W~p[=&^M~5f~~M | NULL        | BOB SAGAT |       1 |
+----+-----------+-----------------+-------------+-----------+---------+

यह फ़िल्टरिंग MaxScale द्वारा की जाती है, जो हमने पहले बनाए गए मास्किंग.जेसन के अंदर मेल खाने वाले नियमों का पालन करते हुए की है।

सूची फ़िल्टर

सभी बनाए गए फ़िल्टरों को सूचीबद्ध करने के लिए, "सूची फ़िल्टर" कमांड का उपयोग करें:

maxctrl: list filters
┌─────────────────┬────────────┬─────────────┐
│ Filter          │ Service    │ Module      │
├─────────────────┼────────────┼─────────────┤
│ qla             │            │ qlafilter   │
├─────────────────┼────────────┼─────────────┤
│ Obfuscates-card │ rr-service │ masking     │
├─────────────────┼────────────┼─────────────┤
│ fetch           │            │ regexfilter │
└─────────────────┴────────────┴─────────────┘

उपरोक्त उदाहरणों में, हमने 3 फ़िल्टर बनाए हैं। हालांकि, केवल ओबफस्केट्स-कार्ड फ़िल्टर एक सेवा से जुड़ा हुआ है।

सभी सेवाओं को विवरण में दिखाने के लिए:

maxctrl: show filters

या यदि आप कोई विशेष सेवा दिखाना चाहते हैं:

maxctrl: show filter Obfuscates-card
┌────────────┬──────────────────────────────────────────────────────┐
│ Filter     │ Obfuscates-card                                      │
├────────────┼──────────────────────────────────────────────────────┤
│ Module     │ masking                                              │
├────────────┼──────────────────────────────────────────────────────┤
│ Services   │ rr-service                                           │
├────────────┼──────────────────────────────────────────────────────┤
│ Parameters │ {                                                    │
│            │     "check_subqueries": true,                        │
│            │     "check_unions": true,                            │
│            │     "check_user_variables": true,                    │
│            │     "large_payload": "abort",                        │
│            │     "prevent_function_usage": true,                  │
│            │     "require_fully_parsed": true,                    │
│            │     "rules": "/var/lib/maxscale/rules/masking.json", │
│            │     "treat_string_arg_as_field": true,               │
│            │     "warn_type_mismatch": "never"                    │
│            │ }                                                    │
└────────────┴──────────────────────────────────────────────────────┘

फ़िल्टर मिटाएं

किसी फ़िल्टर को हटाने के लिए, पहले संबंधित सेवाओं से अनलिंक करना होगा। उदाहरण के लिए, MaxScale में निम्नलिखित फ़िल्टर पर विचार करें:

 maxctrl: list filters
┌─────────────────┬────────────┬───────────┐
│ Filter          │ Service    │ Module    │
├─────────────────┼────────────┼───────────┤
│ qla             │            │ qlafilter │
├─────────────────┼────────────┼───────────┤
│ Obfuscates-card │ rr-service │ masking   │
└─────────────────┴────────────┴───────────┘

qla फ़िल्टर के लिए, हम इसे हटाने के लिए बस निम्न कमांड का उपयोग कर सकते हैं:

 maxctrl: destroy filter qla
OK

हालांकि, Obfuscates-card फ़िल्टर के लिए, इसे rr-service से अनलिंक करना पड़ता है और दुर्भाग्य से, इसके लिए कॉन्फ़िगरेशन फ़ाइल संशोधन और MaxScale पुनरारंभ की आवश्यकता होती है। /var/lib/maxscale/maxscale.cnf.d डायरेक्टरी में जाएं और rr-service.cnf खोजें, इसे टेक्स्ट एडिटर से खोलें और फिर निम्न लाइन को हटा दें:

filters=Obfuscates-card

आप उपरोक्त पंक्ति से "Obfuscates-card" स्ट्रिंग को भी हटा सकते हैं और "फ़िल्टर" लाइन को एक खाली मान के बराबर कर सकते हैं। फिर, फ़ाइल को सहेजें और परिवर्तनों को लोड करने के लिए MaxScale सेवा को पुनरारंभ करें:

$ systemctl restart maxscale

तभी हम "नष्ट फ़िल्टर" कमांड का उपयोग करके MaxScale से Obfuscates-card फ़िल्टर को हटा सकते हैं:

maxctrl: destroy filter Obfuscates-card
OK

मैक्सस्केल प्रबंधन

उपयोगकर्ताओं की सूची बनाएं

सभी MaxScale उपयोगकर्ताओं को सूचीबद्ध करने के लिए, "उपयोगकर्ताओं की सूची बनाएं" कमांड का उपयोग करें:

maxctrl: list users
┌───────┬──────┬────────────┐
│ Name  │ Type │ Privileges │
├───────┼──────┼────────────┤
│ admin │ inet │ admin      │
└───────┴──────┴────────────┘

एक MaxScale उपयोगकर्ता बनाएं

डिफ़ॉल्ट रूप से, बनाया गया उपयोगकर्ता केवल-पढ़ने वाला उपयोगकर्ता होता है:

 maxctrl: create user dev mySecret
OK

व्यवस्थापक उपयोगकर्ता बनाने के लिए, --type=admin आदेश निर्दिष्ट करें:

 maxctrl: create user dba mySecret --type=admin
OK

एक MaxScale उपयोगकर्ता हटाएं

किसी उपयोगकर्ता को हटाने के लिए, बस "उपयोगकर्ता को नष्ट करें" कमांड का उपयोग करें:

 maxctrl: destroy user dba
OK

अंतिम शेष प्रशासनिक उपयोगकर्ता को हटाया नहीं जा सकता। अंतिम व्यवस्थापकीय उपयोगकर्ता को निकालने का प्रयास करने से पहले एक प्रतिस्थापन व्यवस्थापकीय उपयोगकर्ता बनाएँ।

मैक्सस्केल पैरामीटर दिखाएं

मैक्सस्केल उदाहरण के लिए सभी लोड किए गए पैरामीटर दिखाने के लिए, "मैक्सस्केल दिखाएं" कमांड का उपयोग करें:

maxctrl: show maxscale
┌──────────────┬──────────────────────────────────────────────────────────────────────┐
│ Version      │ 2.5.3                                                                │
├──────────────┼──────────────────────────────────────────────────────────────────────┤
│ Commit       │ de3770579523e8115da79b1696e600cce1087664                             │
├──────────────┼──────────────────────────────────────────────────────────────────────┤
│ Started At   │ Mon, 21 Sep 2020 04:44:49 GMT                                        │
├──────────────┼──────────────────────────────────────────────────────────────────────┤
│ Activated At │ Mon, 21 Sep 2020 04:44:49 GMT                                        │
├──────────────┼──────────────────────────────────────────────────────────────────────┤
│ Uptime       │ 1627                                                                 │
├──────────────┼──────────────────────────────────────────────────────────────────────┤
│ Parameters   │ {                                                                    │
│              │     "admin_auth": true,                                              │
│              │     "admin_enabled": true,                                           │
│              │     "admin_gui": true,                                               │
│              │     "admin_host": "127.0.0.1",                                       │
│              │     "admin_log_auth_failures": true,                                 │
│              │     "admin_pam_readonly_service": null,                              │
│              │     "admin_pam_readwrite_service": null,                             │
│              │     "admin_port": 8989,                                              │
│              │     "admin_secure_gui": true,                                        │
│              │     "admin_ssl_ca_cert": null,                                       │
│              │     "admin_ssl_cert": null,                                          │
│              │     "admin_ssl_key": null,                                           │
│              │     "auth_connect_timeout": 10000,                                   │
│              │     "auth_read_timeout": 10000,                                      │
│              │     "auth_write_timeout": 10000,                                     │
│              │     "cachedir": "/var/cache/maxscale",                               │
│              │     "connector_plugindir": "/usr/lib/x86_64-linux-gnu/mysql/plugin", │
│              │     "datadir": "/var/lib/maxscale",                                  │
│              │     "debug": null,                                                   │
│              │     "dump_last_statements": "never",                                 │
│              │     "execdir": "/usr/bin",                                           │
│              │     "language": "/var/lib/maxscale",                                 │
│              │     "libdir": "/usr/lib/x86_64-linux-gnu/maxscale",                  │
│              │     "load_persisted_configs": true,                                  │
│              │     "local_address": null,                                           │
│              │     "log_debug": false,                                              │
│              │     "log_info": false,                                               │
│              │     "log_notice": false,                                             │
│              │     "log_throttling": {                                              │
│              │         "count": 0,                                                  │
│              │         "suppress": 0,                                               │
│              │         "window": 0                                                  │
│              │     },                                                               │
│              │     "log_warn_super_user": false,                                    │
│              │     "log_warning": false,                                            │
│              │     "logdir": "/var/log/maxscale",                                   │
│              │     "max_auth_errors_until_block": 10,                               │
│              │     "maxlog": true,                                                  │
│              │     "module_configdir": "/etc/maxscale.modules.d",                   │
│              │     "ms_timestamp": true,                                            │
│              │     "passive": false,                                                │
│              │     "persistdir": "/var/lib/maxscale/maxscale.cnf.d",                │
│              │     "piddir": "/var/run/maxscale",                                   │
│              │     "query_classifier": "qc_sqlite",                                 │
│              │     "query_classifier_args": null,                                   │
│              │     "query_classifier_cache_size": 0,                                │
│              │     "query_retries": 1,                                              │
│              │     "query_retry_timeout": 5000,                                     │
│              │     "rebalance_period": 0,                                           │
│              │     "rebalance_threshold": 20,                                       │
│              │     "rebalance_window": 10,                                          │
│              │     "retain_last_statements": 0,                                     │
│              │     "session_trace": 0,                                              │
│              │     "skip_permission_checks": false,                                 │
│              │     "sql_mode": "default",                                           │
│              │     "syslog": true,                                                  │
│              │     "threads": 1,                                                    │
│              │     "users_refresh_interval": 0,                                     │
│              │     "users_refresh_time": 30000,                                     │
│              │     "writeq_high_water": 16777216,                                   │
│              │     "writeq_low_water": 8192                                         │
│              │ }                                                                    │
└──────────────┴──────────────────────────────────────────────────────────────────────┘

MaxScale पैरामीटर बदलें

  • auth_connect_timeout
  • auth_read_timeout
  • auth_write_timeout
  • admin_auth
  • admin_log_auth_failures
  • निष्क्रिय

बाकी मापदंडों को /etc/maxscale.conf के अंदर सेट किया जाना चाहिए, जिसके लिए नए परिवर्तनों को लागू करने के लिए MaxScale पुनरारंभ की आवश्यकता होती है।

मैक्सस्केल जीयूआई

MaxGUI, MaxScale को कॉन्फ़िगर करने और प्रबंधित करने के लिए एक नया ब्राउज़र-आधारित टूल है, जिसे संस्करण 2.5 में पेश किया गया है। यह लोकलहोस्ट इंटरफ़ेस, 127.0.0.1 पर मैक्सस्केल होस्ट के पोर्ट 8989 के माध्यम से पहुँचा जा सकता है। डिफ़ॉल्ट रूप से, admin_secure_gui=true सेट करना और admin_ssl_key और admin_ssl_cert पैरामीटर दोनों को कॉन्फ़िगर करना आवश्यक है। हालाँकि, इस ब्लॉग पोस्ट में, हम /etc/maxscale.cnf:

के अंदर [maxctrl] निर्देश के तहत निम्न पंक्ति जोड़कर सादे HTTP के माध्यम से कनेक्टिविटी की अनुमति देने जा रहे हैं:
admin_secure_gui = false

परिवर्तन लोड करने के लिए MaxScale सेवा को पुनरारंभ करें:

$ systemctl restart maxscale

चूंकि GUI लोकलहोस्ट इंटरफ़ेस पर सुन रहा है, हम अपने स्थानीय वर्कस्टेशन से GUI तक पहुँचने के लिए SSH टनलिंग का उपयोग कर सकते हैं:

$ ssh -L 8989:localhost:8989 [email protected]<Maxscale public IP address>

फिर, एक वेब ब्राउज़र खोलें, URL को http://127.0.0.1:8989/ पर इंगित करें और लॉग इन करें। MaxGUI उसी क्रेडेंशियल का उपयोग करता है जैसे maxctrl, इस प्रकार डिफ़ॉल्ट पासवर्ड "व्यवस्थापक" है पासवर्ड "मारीडब"। सुरक्षा उद्देश्यों के लिए, विशेष रूप से इस उद्देश्य के लिए एक मजबूत पासवर्ड के साथ एक नया व्यवस्थापक उपयोगकर्ता बनाना चाहिए। एक बार लॉग इन करने के बाद, आपको नीचे के रूप में मैक्सजीयूआई डैशबोर्ड देखना चाहिए:

अधिकांश MaxCtrl प्रबंधन कमांड जो हमने इस ब्लॉग श्रृंखला में दिखाए हैं, वे कर सकते हैं इस जीयूआई से सीधे प्रदर्शन किया जा सकता है। यदि आप "नया बनाएं" बटन पर क्लिक करते हैं, तो आपको निम्नलिखित संवाद के साथ प्रस्तुत किया जाएगा:

जैसा कि आप देख सकते हैं, MaxScale के सभी महत्वपूर्ण घटकों को सीधे प्रबंधित किया जा सकता है जीयूआई से, एक अच्छे सहज ज्ञान युक्त स्वच्छ रूप के साथ, चीजों को प्रबंधित करने के लिए बहुत सरल और अधिक सरल बनाता है। उदाहरण के लिए, मैक्सस्केल सेवा को पुनरारंभ करने की आवश्यकता के बिना, फ़िल्टर को सीधे UI से जोड़ा जा सकता है, जैसा कि इस ब्लॉग पोस्ट में "एक सेवा के लिए एक फ़िल्टर संलग्न करें" अनुभाग के तहत दिखाया गया है।

इस नए GUI के बारे में अधिक जानकारी के लिए, इस MaxGUI गाइड को देखें।

लॉगिंग प्रबंधन

लॉगिंग पैरामीटर दिखाएं

लॉगिंग पैरामीटर प्रदर्शित करने के लिए, "शो लॉगिंग" कमांड का उपयोग करें:

 maxctrl: show logging
┌────────────────────┬────────────────────────────────┐
│ Current Log File   │ /var/log/maxscale/maxscale.log │
├────────────────────┼────────────────────────────────┤
│ Enabled Log Levels │ alert                          │
│                    │ error                          │
│                    │ warning                        │
│                    │ notice                         │
├────────────────────┼────────────────────────────────┤
│ Parameters         │ {                              │
│                    │     "highprecision": true,     │
│                    │     "log_debug": false,        │
│                    │     "log_info": false,         │
│                    │     "log_notice": true,        │
│                    │     "log_warning": true,       │
│                    │     "maxlog": true,            │
│                    │     "syslog": true,            │
│                    │     "throttling": {            │
│                    │         "count": 10,           │
│                    │         "suppress_ms": 10000,  │
│                    │         "window_ms": 1000      │
│                    │     }                          │
│                    │ }                              │
└────────────────────┴────────────────────────────────┘

लॉगिंग पैरामीटर संपादित करें

ऊपर दिखाए गए सभी लॉगिंग पैरामीटर को रनटाइम में MaxCtrl कमांड के माध्यम से कॉन्फ़िगर किया जा सकता है। उदाहरण के लिए, हम "ऑल्टर लॉगिंग" कमांड का उपयोग करके log_info को चालू कर सकते हैं:

maxctrl: alter logging log_info true

लॉग घुमाएं

डिफ़ॉल्ट रूप से, MaxScale /etc/logrotate.d/maxscale_logrotate के अंतर्गत लॉग रोटेट कॉन्फ़िगरेशन फ़ाइल प्रदान करता है। लॉग रोटेशन कॉन्फ़िगरेशन के आधार पर, लॉग फ़ाइल को मासिक रूप से घुमाया जाता है और MaxCtrl के "रोटेट लॉग्स" कमांड का उपयोग करता है। हम निम्न आदेश के साथ लॉग रोटेशन को तुरंत होने के लिए बाध्य कर सकते हैं:

$ logrotate --force /etc/logrotate.d/maxscale_logrotate

निम्न आदेश के साथ सत्यापित करें:

$ ls -al /var/log/maxscale/
total 1544
drwxr-xr-x  2 maxscale maxscale    4096 Sep 21 05:53 ./
drwxrwxr-x 10 root     syslog      4096 Sep 20 06:25 ../
-rw-r--r--  1 maxscale maxscale      75 Sep 21 05:53 maxscale.log
-rw-r--r--  1 maxscale maxscale  253250 Sep 21 05:53 maxscale.log.1
-rw-r--r--  1 maxscale maxscale 1034364 Sep 18 06:25 maxscale.log.2
-rw-r--r--  1 maxscale maxscale  262676 Aug  1 06:25 maxscale.log.3

निष्कर्ष

हम MaxCtrl क्लाइंट का उपयोग करके MaxScale परिनियोजन और प्रबंधन की श्रृंखला के अंत तक पहुँच चुके हैं। इस ब्लॉग श्रृंखला में, हमने विभिन्न नवीनतम मैक्सस्केल संस्करणों (लेखन तिथि के सापेक्ष) का उपयोग किया है और हमने प्रत्येक संस्करण में कई महत्वपूर्ण सुधार देखे हैं।

MaxScale को बाज़ार में सबसे अच्छे डेटाबेस लोड बैलेंसर टूल में से एक बनाने में उनकी कड़ी मेहनत के लिए MariaDB MaxScale टीम को बधाई।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मारियाडीबी में TIME_FORMAT () कैसे काम करता है

  2. कैसे MAKEDATE () मारियाडीबी में काम करता है

  3. मारियाडीबी डेटाबेस को एन्क्रिप्टेड और अनएन्क्रिप्टेड राज्यों में ले जाना

  4. प्रोएक्टिव MySQL मॉनिटरिंग (डेवलपर स्टूडियो/सलाहकार कोण)

  5. मारियाडीबी JSON_DEPTH () समझाया गया