জ্যাবিক্স একটি এন্টারপ্রাইজ-স্তরের ওপেন সোর্স মনিটরিং সিস্টেম। বর্তমানে, Zabbix হল সবচেয়ে জনপ্রিয় এবং শক্তিশালী ফ্রি মনিটরিং সিস্টেমগুলির মধ্যে একটি। এর সহজ ইনস্টলেশন এবং কনফিগারেশনের কারণে, Zabbix শত শত হোস্টের পাশাপাশি ছোট কনফিগারেশনের সাথে বড় পরিকাঠামো নিরীক্ষণ করতে ব্যবহার করা যেতে পারে। এই নিবন্ধে আমরা আপনাকে দেখাব কিভাবে Linux Ubuntu এবং CentOS-এ একটি ওয়েব ইন্টারফেস সহ একটি Zabbix সার্ভার 5.0 এর মৌলিক বৈশিষ্ট্যগুলি ইনস্টল এবং কনফিগার করতে হয় এবং কিভাবে Windows বা Linux চালিত সার্ভারে Zabbix এজেন্ট ইনস্টল করতে হয় এবং নিরীক্ষণের জন্য নতুন হোস্ট যোগ করতে হয়।
আপনি নীচের একটি স্ক্রিনশটে Zabbix সার্ভার ড্যাশবোর্ড ইন্টারফেস দেখতে পারেন৷
৷
সহজ এবং সহজে কনফিগার করা Zabbix C (একটি সার্ভার, একটি প্রক্সি এবং একটি এজেন্ট) এবং PHP (ফ্রন্টএন্ড) এ লেখা আছে। Zabbix সার্ভার এবং Zabbix প্রক্সি শুধুমাত্র লিনাক্স সিস্টেমে কাজ করে। Zabbix এজেন্ট বিভিন্ন ধরণের সমর্থিত অপারেটিং সিস্টেম এবং প্ল্যাটফর্মে ইনস্টল করা যেতে পারে৷
Zabbix সার্ভার ইনস্টলেশনের মধ্যে রয়েছে:
- একটি zabbix_server বাইনারি (সাধারণত, এটি একটি পরিষেবা হিসাবে কাজ করে);
- MySQL/MariaDB/PostgreSQL ডাটাবেস;
- পিএইচপি হ্যান্ডলার সহ Apache2/Nginx ওয়েব সার্ভার;
- ফ্রন্টএন্ড সাইট ফাইল (.php, .js, .css, ইত্যাদি)।
সাধারণত, অপারেটিং স্কিমটি এইরকম দেখায়:
- একজন Zabbix এজেন্ট একটি সার্ভারে ডেটা পাঠায়;
- একটি Zabbix সার্ভার ডেটা গ্রহণ করে এবং প্রক্রিয়া করে;
- যদি প্রাপ্ত ডেটা নির্দিষ্ট শর্ত পূরণ করে, একটি ট্রিগার সক্রিয় করা হয়;
- অ্যাক্টিভেটেড ট্রিগার নির্দেশ করে যে একটি সমস্যা আছে। ফ্রন্টএন্ডে (একটি সাইটে) একটি বিজ্ঞপ্তি প্রদর্শিত হয় এবং কনফিগারেশনের উপর নির্ভর করে, একটি ইমেল বিজ্ঞপ্তি পাঠানো হয় বা কিছু ক্রিয়া সম্পাদন করা হয় (উদাহরণস্বরূপ, একটি পর্যবেক্ষণ করা পরিষেবা পুনরায় চালু করা হয়)।
Zabbix সমস্ত পরিচিত প্রোটোকলের সাথে কাজ করতে পারে। এক্সটার্নাল স্ক্রিপ্ট ব্যবহার করার ক্ষমতার জন্য ধন্যবাদ, Zabbix যেকোন এক্সিকিউটেবল স্ক্রিপ্ট/বাইনারী থেকে ডাটা এক্সিকিউট এবং রিসিভ করতে পারে।
লিনাক্সে (Ubuntu, CentOS) Zabbix সার্ভার কিভাবে ইনস্টল করবেন?
এই টিউটোরিয়ালে আমরা দেখাব কিভাবে একটি প্যাকেজ ম্যানেজার ব্যবহার করে লিনাক্সে (উবুন্টু সার্ভার 18.4 এবং CentOS 8) Zabbix সার্ভার ইনস্টল করতে হয়।
ডাউনলোড পৃষ্ঠায় যান https://www.zabbix.com/download এবং আপনার লিনাক্স বিতরণের সাথে মেলে এমন সংগ্রহস্থল নির্বাচন করুন। সমস্ত জনপ্রিয় লিনাক্স ডিস্ট্রোগুলির জন্য প্রস্তুত প্যাকেজ রয়েছে৷
উদাহরণ স্বরূপ, উবুন্টু 18.04-এ Zabbix ইনস্টল করতে, পালাক্রমে নিম্নলিখিত নির্বাচন করুন:
Zabbix সংস্করণ (5.0 LTS) -> OS বিতরণ (Ubuntu) -> OS সংস্করণ (18.04 Bionic) -> ডেটাবেস (MySQL) -> ওয়েব সার্ভার (Nginx বা Apache)।
ডাউনলোড করুন এবং সংগ্রহস্থল যোগ করুন:
# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+bionic_all.deb
# dpkg -i zabbix-release_5.0-1+bionic_all.deb
#টি উপযুক্ত আপডেট
তারপর আপনি প্রয়োজনীয় প্যাকেজ ইনস্টল করতে পারেন:
# apt ইনস্টল zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agent
CentOS 8/RHEL 8-এ Zabbix ইনস্টল করতে, সর্বশেষ Zabbix সংস্করণের সাথে সংগ্রহস্থলকে সংযুক্ত করুন (আপনি 4.0/5.0 LTS শাখা বা সর্বশেষ Zabbix 5.2 থেকে Zabbix ইনস্টল করতে পারেন):
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# dnf সব পরিষ্কার করুন কোড>
ধরুন যে nginx, MySQL/MariaDB, php এবং php-fpm সার্ভারে ইতিমধ্যে ইনস্টল করা আছে। Zabbix সার্ভার এবং এজেন্ট ইনস্টল করতে dnf (yum) প্যাকেজ ম্যানেজার ব্যবহার করুন:
# dnf ইনস্টল zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent
তারপর MySQL-এ Zabbix-এর জন্য একটি ডাটাবেস তৈরি করুন (আপনি MySQL-এর পরিবর্তে PostgreSQL ব্যবহার করতে পারেন, আগের কমান্ডগুলিতে শুধু 'mysql'-কে 'pgsql' দিয়ে প্রতিস্থাপন করুন)।
একটি ডাটাবেস তৈরি করুন এবং ব্যবহারকারীর অ্যাকাউন্টে অনুমতি দিন, যার অধীনে Zabbix DB অ্যাক্সেস করবে:
mysql -uroot
mysql> ডাটাবেস তৈরি করুন zabbix অক্ষর সেট utf8 collate utf8_bin;
mysql> zabbix-এ সমস্ত সুবিধা প্রদান করুন। />mysql> ছেড়ে দিন;
Zabbix ডাটাবেস আমদানি করুন। আপনি একটি ব্যবহারকারী তৈরি করার সময় আপনার নির্দিষ্ট করা পাসওয়ার্ডটি লিখুন৷
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p Zabbix
/etc/zabbix/zabbix_server.conf
সম্পাদনা করুন , আপনার তৈরি করা ব্যবহারকারীর পাসওয়ার্ড উল্লেখ করুন।
DBPassword=Zabbix_User_Password
যেহেতু আমার ক্ষেত্রে nginx একটি ওয়েব সার্ভার হিসাবে ব্যবহৃত হয়, তাই নিম্নলিখিত লাইনগুলিকে মন্তব্য না করে nginx.conf সম্পাদনা করুন:
# listen 80; # server_name example.com;
#
সরান এবং Zabbix সার্ভার হোস্টনাম দিয়ে example.com প্রতিস্থাপন করুন। আমার ক্ষেত্রে এটা test.zabbix.local.
/etc/httpd/conf.d/zabbix.conf
সম্পাদনা করুন .
পিএইচপি-তে টাইম জোন সেট করুন। নিচের লাইনটি /etc/zabbix/php-fpm.conf
-এ আনকমেন্ট করুন :
php_value[date.timezone] = Canada/Pacificনিশ্চিত করুন যে আপনার Zabbix সার্ভারের সময় একটি নির্ভরযোগ্য NTP উৎসের সাথে সিঙ্ক্রোনাইজ করা হয়েছে।
আপনি এই PHP প্যারামিটারগুলিকে /etc/php.ini:
এও সেট করতে পারেনmemory_limit 128M upload_max_filesize 8M post_max_size 16M max_execution_time 300 max_input_time 300 max_input_vars 10000
স্টার্টআপে zabbix-সার্ভার পরিষেবা যোগ করুন এবং এটি চালান:
# systemctl zabbix-server zabbix-agent nginx php7.2-fpm সক্ষম করুন
# systemctl পুনরায় চালু করুন zabbix-server zabbix-agent nginx php7.2-fpm
Zabbix ওয়েব ইন্টারফেস কনফিগারেশন
এখন আপনাকে অবশ্যই Zabbix ফ্রন্টেন্ট (ওয়েব ইন্টারফেস) কনফিগার করতে হবে। একটি ব্রাউজারে আগে নির্দিষ্ট করা Zabbix সার্ভার URL খুলুন। আমার ক্ষেত্রে, এটি test.zabbix.local (অথবা আপনি যে ডোমেনটি নির্দিষ্ট করেছেন। এটি আপনার হোস্ট ফাইলে বা DNS সার্ভারে নিবন্ধন করতে মনে রাখবেন)। নিশ্চিত করুন যে ওকে সমস্ত ইনস্টলার প্রয়োজনীয়তার পাশে দেখানো হয়েছে৷
৷
DB এর সাথে সংযোগ করতে ডাটাবেস সংযোগ পরামিতি এবং ব্যবহারকারীর শংসাপত্রগুলি নির্দিষ্ট করুন৷ আগে তৈরি করা ব্যবহারকারীর নাম এবং পাসওয়ার্ড ব্যবহার করুন৷
আপনার Zabbix সার্ভারের নাম উল্লেখ করুন। আমি ডিফল্ট পোর্ট - TCP 10051 ছেড়ে যাওয়ার পরামর্শ দিচ্ছি।
ডিফল্টরূপে, Zabbix দুটি নেটওয়ার্ক পোর্ট ব্যবহার করে:- TCP 10050 — প্যাসিভ এজেন্ট পোর্ট, যা Zabbix সার্ভার ক্লায়েন্ট পোল করতে ব্যবহার করে;;
- TCP 10051 — পোর্ট যার মাধ্যমে Zabbix সার্ভার ক্লায়েন্টদের (সক্রিয় এজেন্ট) থেকে ডেটা গ্রহণ করে।
ফায়ারওয়ালে এই পোর্টগুলি খুলতে মনে রাখবেন। উদাহরণস্বরূপ, CentOS চলমান একটি Zabbix সার্ভারে আপনি firewall-cmd ব্যবহার করে ফায়ারওয়ালডে পোর্টগুলি খুলতে পারেন:
# firewall-cmd --add-service={http,https} --permanentfirewall-cmd --add-port={10051/tcp,10050/tcp} -permanent
এজেন্টে 10050 পোর্ট খোলার জন্য এটি যথেষ্ট:
# firewall-cmd --permanent --add-port=10050/tcp
ফায়ারওয়ালড পুনরায় চালু করুন:
# ফায়ারওয়াল-cmd –রিলোড
তারপর পরবর্তী ধাপে ক্লিক করুন এবং সমাপ্ত . ইনস্টলেশনের পরে, আপনাকে লগইন করতে বলা হবে। ডিফল্ট লগইন হল প্রশাসন , ডিফল্ট পাসওয়ার্ড হল zabbix (এটি পরিবর্তন করুন)।
Zabbix সার্ভার ইনস্টলেশন শেষ।
আপনি অন্যান্য OS-এ Zabbix সার্ভার ইনস্টলেশনের ধাপে ধাপে নির্দেশাবলী এবং সোর্স কোড থেকে কীভাবে zabbix-সার্ভার তৈরি করবেন বা ডকার কন্টেনারে এটি চালাবেন তার নির্দেশিকাগুলি https://www.zabbix.com/download-এ পেতে পারেন৷
আপনি সক্রিয় ডিরেক্টরি LDAP ব্যবহার করে ব্যবহারকারীদের প্রমাণীকরণ করতে Zabbix কনফিগার করতে পারেন।Windows এ Zabbix Agent কিভাবে ইনস্টল করবেন?
আসুন উইন্ডোজ চলমান একটি সার্ভারে একটি Zabbix এজেন্ট ইনস্টল করার চেষ্টা করি এবং এটিকে আমাদের Zabbix মনিটরিং সার্ভারে যোগ করি। আপনি এখানে উইন্ডোজের জন্য একটি Zabbix এজেন্ট সংস্করণ ডাউনলোড করতে পারেন:https://www.zabbix.com/download_agents।
আপনার প্রয়োজন এজেন্ট সংস্করণ নির্বাচন করুন. আমি msi বেছে নেব (amd64) (ওপেনএসএসএল ছাড়া)। আপনি যদি GPO বা SCCM ব্যবহার করে ডোমেন সার্ভার/কম্পিউটারে Zabbix Agent ইনস্টল করতে যাচ্ছেন, তাহলে আপনি বাইনারি এবং কনফিগারেশন ফাইল সহ একটি ZIP সংরক্ষণাগার ডাউনলোড করতে পারেন।
ইনস্টলার চালান, লাইসেন্স চুক্তি স্বীকার করুন এবং Zabbix সার্ভারে সংযোগ করার জন্য সেটিংস নির্দিষ্ট করুন। অনুগ্রহ করে মনে রাখবেন যে "সক্রিয় চেকের জন্য সার্ভার বা প্রক্সি" ক্ষেত্রে আমি IP:PORT
-এ একটি IP ঠিকানা লিখেছি বিন্যাস যেহেতু আমি একটি ডিফল্ট পোর্ট রেখেছি, আমি 192.168.20.30:10051
প্রবেশ করেছি .
পরবর্তী ক্লিক করুন কয়েকবার, তারপর ইনস্টল করুন ক্লিক করুন৷ .
নিশ্চিত করুন যে এজেন্ট ইনস্টল করা হয়েছে। Zabbix এজেন্ট অবশ্যই পরিষেবার তালিকায় উপস্থিত হবে।
আপনার Windows হোস্টে Windows Firewall-এ আপনার Zabbix সার্ভার IP ঠিকানা থেকে অন্তর্মুখী সংযোগের অনুমতি দিন:
নতুন-NetFirewallRule -DisplayName "ZabbixMonitoring" -RemoteAddress 192.168.20.30 -Direction Inbound -Protocol TCP –LocalPort 10050 -Action Allow
Zabbix সার্ভারে কিভাবে নতুন হোস্ট যোগ করবেন?
এজেন্টটি কার্যকর কিনা তা নিশ্চিত করতে, আপনার Zabbix সার্ভারে testnode2 হোস্ট যোগ করুন এবং এতে কিছু চেক (টেমপ্লেট) বরাদ্দ করুন৷
দ্রষ্টব্য . Zabbix-এ 2 ধরনের চেক রয়েছে:- প্যাসিভ — একটি Zabbix সার্ভার এজেন্টের কাছ থেকে কিছু ডেটার অনুরোধ করে;
- সক্রিয় — এজেন্ট সার্ভারে ডেটা পাঠাচ্ছে।
এজেন্ট ইনস্টলেশনের সময়, আমরা সক্রিয় চেকগুলির জন্য IP:PORT হিসাবে সার্ভারটিকে নির্দিষ্ট করেছি৷
৷
আপনি Zabbix ওয়েব ইন্টারফেসের মাধ্যমে একটি নতুন মনিটরিং হোস্ট যোগ করতে পারেন। কনফিগারেশন-এ যান -> হোস্ট .
হোস্ট তৈরি করুন ক্লিক করুন৷ এবং বিস্তারিত পূরণ করুন। মনে রাখবেন যে হোস্টের নাম ডিভাইসের হোস্টনাম বা এজেন্ট কনফিগারেশন ফাইলের হোস্টনেম প্যারামিটারের সাথে হুবহু মিলতে হবে।
টেমপ্লেট-এ অন্তর্নির্মিত Windows টেমপ্লেট যোগ করুন ট্যাব Zabbix-এর টেমপ্লেটগুলি হল মান, ট্রিগার, গ্রাফ এবং আবিষ্কারের নিয়মগুলির সেট যা এক বা একাধিক হোস্টকে বরাদ্দ করা যেতে পারে৷
অন্তর্নির্মিত টেমপ্লেটগুলিতে "সক্রিয়" লেবেল রয়েছে এবং এর অর্থ হল সক্রিয় চেকগুলি ব্যবহার করা হবে৷
যোগ করুন ক্লিক করুন৷ . সার্ভার এবং এজেন্ট একে অপরকে না দেখা পর্যন্ত অপেক্ষা না করার জন্য (এটি সাধারণত কয়েক মিনিট সময় নেয়), testnode2 এ Zabbix Agent পরিষেবা পুনরায় চালু করুন এবং এজেন্ট লগটি দেখুন (C:\Program Files\Zabbix Agent\zabbix_agentd. txt
)।
“শুরু হয়েছে [সক্রিয় চেক #1]
” বার্তার অর্থ হল হোস্টের জন্য কিছু সক্রিয় চেক সার্ভারে পাওয়া গেছে। তারপরে আপনার Zabbix সার্ভার এজেন্টের কাছ থেকে যে ডেটা পেয়েছে তা দেখুন। এটি করতে, মনিটরিং এ যান৷ -> সর্বশেষ ডেটা এবং হোস্ট -এ হোস্ট নির্বাচন করুন ক্ষেত্র।
এই বিভাগটি নির্বাচিত হোস্ট বা জ্যাবিক্স সার্ভারে আসা হোস্টের গ্রুপগুলির সর্বশেষ ডেটা দেখায়৷
দয়া করে মনে রাখবেন যে আমার ক্ষেত্রে Zabbix ড্যাশবোর্ডে একটি বিজ্ঞপ্তি রয়েছে যে BITS পরিষেবা চলছে না৷ আমরা আমাদের হোস্টে অন্তর্নির্মিত টেমপ্লেটগুলি বরাদ্দ করার পর থেকে বিজ্ঞপ্তিটি উপস্থিত হয়েছে৷ টেমপ্লেটগুলির মধ্যে একটিতে একটি বিআইটিএস চেক রয়েছে এবং বিআইটিএস পরিষেবাটি চলমান অবস্থায় না থাকলে সংশ্লিষ্ট ট্রিগার সক্রিয় করা হয়৷
উইন্ডোজের জন্য এজেন্ট কনফিগার করা হয়েছে।
লিনাক্সে Zabbix এজেন্ট ইনস্টল করা হচ্ছে
চলুন লিনাক্সে Zabbix Agent ইন্সটল করি। প্যাকেজ ম্যানেজার ব্যবহার করে উবুন্টু সার্ভার 18.04 এ Zabbix এজেন্ট ইনস্টল করতে, Zabbix রেপো ডাউনলোড করুন এবং ইনস্টল করুন। তারপর রিপোজিটরি থেকে Zabbix এজেন্ট ইনস্টল করুন:# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1 +$(lsb_release -sc)_all.deb
# sudo dpkg -i zabbix-release_5.0-1+$(lsb_release -sc)_all.deb
# sudo apt আপডেট
# sudo apt -y ইনস্টল zabbix-agent
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release- 5.0-1.el8.noarch.rpm
# dnf সব পরিষ্কার করুন
# dnf zabbix-এজেন্ট ইনস্টল করুন
Zabbix এজেন্ট শুরু করার আগে, কনফিগারেশন ফাইল /etc/zabbix/zabbix_agentd.conf সম্পাদনা করুন। সক্রিয় চেকের জন্য আপনার Zabbix সার্ভারের IP ঠিকানা নির্দিষ্ট করুন৷
৷Server=IP ServerActive=192.168.20.30:10051 Hostname=testagent
তারপর এজেন্ট পরিষেবা শুরু করুন:
#টি পরিষেবা zabbix-এজেন্ট শুরু
নিশ্চিত করুন যে এজেন্ট সফলভাবে শুরু হয়েছে৷
৷
# cat /var/log/zabbix/zabbix_agentd.log
লাইন “সক্রিয় চেকের তালিকা পার্স করতে পারে না ” মানে সার্ভারে হোস্টের জন্য কোনো সক্রিয় চেক নেই৷
৷উইন্ডোজ এজেন্টের মতো, আপনাকে অবশ্যই আপনার লিনাক্স হোস্টকে Zabbix-এ যোগ করতে হবে। আপনার Zabbix সার্ভারের হোস্ট সেটিংসে হোস্ট নেম প্যারামিটারটি নোট করুন:এটি অবশ্যই Zabbix এজেন্ট কনফিগারেশন ফাইলে নির্দিষ্ট করা হোস্টনাম প্যারামিটারের সাথে মেলে। উপরের কনফিগারেশন ফাইলে আমি হোস্টের নাম testagent হিসেবে উল্লেখ করেছি .
আপনার Zabbix এজেন্ট পুনরায় চালু করুন এবং লগ চেক করুন. নিশ্চিত করুন যে এজেন্ট থেকে ডেটা আপনার Zabbix সার্ভারে উপস্থিত হয়েছে। Linux-এ Zabbix এজেন্ট কনফিগার করা হয়েছে।
পরবর্তী নিবন্ধে আমরা ICMP Ping-এর মাধ্যমে Zabbix-এ হোস্টের উপলভ্যতার এজেন্টহীন নিরীক্ষণ দেখব।