نصب و پيكربندي Zabbix براي رديابي ايمن سرورهاي

۵۸ بازديد

يك نرم افزار مانيتورينگ منبع باز براي شبكه ها و برنامه ها است. اين برنامه نظارت بر هزاران معيار (metricها) جمع آوري شده از سرور مجازي ها ، ماشين هاي مجازي ، دستگاه هاي شبكه و برنامه هاي وب را در زمان واقعي ارائه مي دهد. اين معيارها به شما كمك مي كند تا سلامت فعلي زيرساخت IT خود را تعيين كنيد و قبل از شكايت مشتريان مشكلات سخت افزار يا اجزاي نرم افزاري را تشخيص دهيد. اطلاعات مفيد در يك پايگاه داده ذخيره مي شود ، بنابراين مي توانيد داده ها را با گذشت زمان تجزيه و تحليل كرده و كيفيت خدمات ارائه شده را بهبود بخشيد ، يا براي ارتقاء برنامه هاي خود تصميم گيري كنيد.
Zabbix از گزينه هاي مختلفي براي جمع آوري معيارها استفاده مي كند ، از جمله آن مي توان به نظارت بدون عامل بر خدمات كاربر و معماري كلاينت-سرور مجازي اشاره كرد. براي جمع آوري متريك سرور مجازي ، از يك عامل كوچك در سرويس گيرنده تحت نظارت براي جمع آوري داده ها و ارسال آن به سرور مجازي Zabbix استفاده مي كند. Zabbix از ارتباط رمزگذاري شده بين سرور مجازي و كلاينت هاي متصل پشتيباني مي كند ، بنابراين هنگام گذر از شبكه هاي ناايمن ، از داده هاي شما محافظت مي شود.
سرور مجازي Zabbix داده هاي خود را در يك پايگاه داده رابطه اي ايجاد مي كند كه توسط MySQL ، PostgreSQL يا Oracle تهيه مي شود. همچنين مي توانيد داده هاي تاريخي را در پايگاه هاي داده nosql مانند Elasticsearch و TimescaleDB ذخيره كنيد. Zabbix يك رابط وب فراهم مي كند تا بتوانيد داده ها را مشاهده كرده و تنظيمات سيستم را پيكربندي كنيد.
در اين آموزش دو ماشين پيكربندي خواهيد كرد. يكي به عنوان سرور مجازي پيكربندي مي شود و ديگري به عنوان كلاينت كه بر آن نظارت مي كنيد. سرور مجازي از يك پايگاه داده MySQL براي ضبط داده هاي مانيتورينگ استفاده مي كند و از Apache براي سرويس رابط وب استفاده مي شود.
پيش نيازها
براي دنبال كردن اين آموزش ، به موارد زير نياز داريد:
• دو سرور مجازي CentOS 7 كه با طبق مقاله نحوه راه اندازي سرور مجازي اوليه با CentOS تنظيم شده باشد ، و شامل يك كاربر غير ريشه با امتيازات sudo و فايروال باشد. روي يك سرور مجازي ، Zabbix را نصب مي كنيد. اين آموزش به اين سرور مجازي، سرور مجازي Zabbix خواهد گفت. در واقع سرور مجازي دوم شما را كنترل مي كند. به اين سرور مجازي دوم سرور مجازي دوم CentOS گفته مي شود.
سرور مجازي Zabbix به نصب Apache ، MySQL و PHP نياز دارد. نحوه نصب Linux ، Apache ، MySQL ، PHP (LAMP) را بر روي CentOS 7 دنبال كنيد تا اين موارد را روي سرور مجازي Zabbix پيكربندي كنيد.
توجه: CentOS به جاي MySQL از MariaDB استفاده مي كند ، اما در دنبال كردن اين آموزش مشكلي ايجاد نمي كند.

علاوه بر اين ، از آنجا كه شما از سرور مجازي Zabbix براي دسترسي به اطلاعات با ارزش در مورد زيرساخت هاي خود استفاده مي كنيد كه نمي خواهيد كاربران غيرمجاز به آنها دسترسي پيدا كنند ، مهم است كه با نصب گواهي TLS / SSL ، سرور مجازي خود را ايمن نگه داريد. اين كار اختياري است اما به شدت توصيه ميشود. براي به دست آوردن گواهينامه رايگان TLS / SSL مي توانيد راهنماي Let’s Encrypt on CentOS 7 را دنبال كنيد.
مرحله 1 – نصب سرور مجازي Zabbix
ابتدا بايد Zabbix را روي سرور مجازي ي كه MySQL ،Apache و PHP را نصب كرده ايد ، نصب كنيد. به عنوان كاربر غير ريشه خود به اين دستگاه وارد شويد:
⦁ $ ssh sammy@zabbix_server_ip_address

Zabbix به طور پيش فرض در مدير بسته موجود نيست ، بنابراين بسته بندي پيكربندي مخزن را با استفاده از مخزن رسمي Zabbix براي CentOS نصب كنيد. در اين آموزش از نسخه 4.2 Zabbix استفاده مي شود:
⦁ $ sudo rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm

خروجي زير را مشاهده خواهيد كرد:
Output
Retrieving https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
warning: /var/tmp/rpm-tmp.WXsYNB: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing… ################################# [100%]
Updating / installing…
1:zabbix-release-4.2-1.el7 ################################# [100%]

فعلا همه ورودي هاي مخازن فعال را از حافظه نهان پاك كنيد:
⦁ $ sudo yum clean all

سپس سرور مجازي Zabbix و Web Frontend را با پشتيباني پايگاه داده MySQL نصب كنيد:
⦁ $ sudo yum install zabbix-server-mysql zabbix-web-mysql

در طي مراحل نصب از شما در مورد وارد كردن يك كليد GPG سؤال مي شود. اين كليد صحت بسته اي را كه نصب مي كنيد تأييد مي كند. براي پايان دادن به نصب ، كليد GPG را با تايپ y و فشار دادن ENTER هنگام درخواست، بپذيريد.

همچنين ، عامل Zabbix را نصب كنيد ، كه به شما امكان مي دهد اطلاعات مربوط به وضعيت سرور مجازي Zabbix را جمع كنيد.
⦁ $ sudo yum install zabbix-agent

قبل از استفاده از Zabbix ، شما بايد يك بانك اطلاعاتي را تنظيم كنيد تا داده هايي را كه سرور مجازي Zabbix از عاملين آن جمع آوري خواهد كرد ، نگه داريد. مي توانيد اين كار را در مرحله بعدي انجام دهيد.
مرحله 2 – پيكربندي پايگاه داده MySQL براي Zabbix
بايد يك پايگاه داده MySQL جديد ايجاد كرده و آن را با برخي از اطلاعات اصلي پر كنيد تا براي Zabbix مناسب باشد. همچنين يك كاربر خاص براي اين بانك اطلاعات ايجاد خواهيد كرد تا Zabbix با حساب ريشه وارد MySQL نشود.
به عنوان كاربر ريشه با استفاده از رمز ريشه كه هنگام نصب سرور مجازي MySQL تنظيم كرده ايد به MySQL وارد شويد:
⦁ mariaDB [(none)]> mysql -uroot -p

پايگاه داده Zabbix را با پشتيباني كاراكتر UTF-8 ايجاد كنيد:
⦁ mariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;

سپس كاربري ايجاد كنيد كه سرور مجازي Zabbix از آن استفاده كند ، به آن دسترسي به پايگاه داده جديد را بدهيد و رمز عبور را براي كاربر تنظيم كنيد:
⦁ mariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by ‘your_zabbix_mysql_password’;

سپس اين مجوزهاي جديد را اعمال كنيد:
⦁ mariaDB [(none)]> flush privileges;

اين امر از كاربر و بانك اطلاعاتي مراقبت ميكند. از كنسول پايگاه داده خارج شويد:
⦁ mariaDB [(none)]> quit;

در مرحله بعد ، طرح و داده هاي اوليه را وارد كنيد. نصب Zabbix فايلي را در اختيارتان قرار مي دهد.
براي تنظيم شماتيك و وارد كردن داده ها به پايگاه داده zabbix ، دستور زير را اجرا كنيد. ازzcat  استفاده كنيد چرا كه اطلاعات موجود در فايل ، فشرده است.
⦁ $ zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

رمزعبور را براي كاربر zabbix MySQL كه هنگام درخواست از شما پيكربندي كرديد وارد نماييد.
در صورت موفقيت، اين فرمان خطايي به همراه نخواهد داشت. اگر خطاي ERROR 1045 (28000): Access denied for user zabbix@’localhost’ (using password: YES) را مشاهده كرديد ، مطمئن شويد كه از رمز عبور براي كاربر zabbix استفاده كرده ايد و نه كاربر root.
به منظور استفاده سرور مجازي Zabbix از اين پايگاه داده ، بايد گذرواژه پايگاه داده را در فايل پيكربندي سرور مجازي Zabbix تنظيم كنيد. فايل پيكربندي را در ويرايشگر متن مورد نظر خود باز كنيد. اين آموزش از vi استفاده مي كند:
⦁ $ sudo vi /etc/zabbix/zabbix_server.conf

توجه: براي كسب اطلاعات بيشتر در مورد ويرايشگر متن vi و vim جانشين آن ، از نصب و استفاده از ويرايشگر متن Vim در آموزش Cloud Server استفاده كنيد.
به دنبال قسمت زير در فايل باشيد:
/etc/zabbix/zabbix_server.conf

### Option: DBPassword
# Database password. Ignored for SQLite.
# Comment this line if no password is used.
#
# Mandatory: no
# Default:
# DBPassword=

اين نظرات در فايل نحوه اتصال به پايگاه داده را توضيح مي دهkد. شما بايد مقدار DBPassword را در فايل براي كاربر پايگاه داده خود تنظيم كنيد . با وارد كردن دكمه i حالت insert را وارد كرده ،DBPassword = را حذف كنيد و و رمز خود را براي پيكربندي بانك اطلاعات اضافه كنيد:
/etc/zabbix/zabbix_server.conf

# Mandatory: no
# Default
DBPassword=your_zabbix_mysql_password

پس از اتمام ، ESC را فشار دهيد تا حالت درج باقي بماند ، سپس: wq و ENTER براي ذخيره و خروج از فايل تايپ كنيد.
اين امر از پيكربندي سرور مجازي Zabbix محافظت ميكند. در مرحله بعد ، براي كاركرد صحيح رابط وب Zabbix اصلاحاتي را در تنظيمات PHP ايجاد خواهيد كرد.
مرحله 3 – پيكربنديPHP براي Zabbix
رابط وب Zabbix به زبان PHP نوشته شده است و به برخي تنظيمات ويژه سرور مجازي PHP احتياج دارد. مراحل نصب Zabbix يك فايل پيكربندي Apache ايجاد كرد كه شامل اين تنظيمات است. شما بايد تغيير كوچكي در اين فايل ايجاد كنيد ، بنابراين آن را با دستور زير باز كنيد:
⦁ $ sudo vi /etc/httpd/conf.d/zabbix.conf

اين فايل شامل تنظيمات PHP است كه شرايط لازم براي رابط وب Zabbix را برآورده مي كند. با اين حال ، تنظيم منطقه زماني به طور پيش فرض حذف مي شود. براي اينكه مطمئن شويد Zabbix از زمان صحيح استفاده مي كند ، بايد منطقه زماني مناسب را تنظيم كنيد.
/etc/httpd/conf.d/zabbix.conf


php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value max_input_vars 10000
php_value always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga

خط منطقه زماني كه در بلوك كد قبلي هايلايت شده است را باطل كنيد و آن را به منطقه زماني خود تغيير دهيد. مي توانيد از اين ليست از مناطق زماني پشتيباني شده استفاده كنيد تا يك ليست مناسب براي شما پيدا شود. سپس فايل را ذخيره كنيد و ببنديد.
اكنون Apache را مجدداً راه اندازي كنيد تا اين تنظيمات جديد اعمال شود:
⦁ $ sudo systemctl restart httpd

توجه: اگر SELinux در حالت اجباري در حال اجرا است ، بايد با استفاده از دستور sudo setenforce 0 آن را در حالت مجاز قرار دهيد تا به عامل Zabbix اجازه دهيد به طور آزادانه عمل كند. مي توانيد از اين آموزش براي اطلاعات بيشتر درباره مكانيسم كنترل امنيت Security Enhanced Linux استفاده كنيد.

اكنون مي توانيد سرور مجازي و عامل Zabbix را راه اندازي كنيد:
⦁ $ sudo systemctl start zabbix-server

⦁ $ sudo systemctl start zabbix-agent
سپس بررسي كنيد كه آيا سرور مجازي Zabbix به درستي كار مي كند:
⦁ $ sudo systemctl status zabbix-server

وضعيت زير را مشاهده خواهيد كرد:
Output
● zabbix-server.service – Zabbix Server
Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2019-05-03 05:57:29 UTC; 2s ago
Process: 4461 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)

در آخر ، سرور مجازي و نماينده را فعال كنيد تا در زمان بوت شروع شوند:
⦁ $ sudo systemctl enable zabbix-server

⦁ 4 sudo systemctl enable zabbix-agent

اين سرور مجازي تنظيم شده و به بانك اطلاعاتي وصل ميباشد. سپس ، ظاهر وب را تنظيم كنيد.
توجه: همانطور كه در بخش Preferences ذكر شد ، توصيه مي شود SSL / TLS را روي سرور مجازي خود فعال كنيد. براي بدست آوردن يك گواهينامه SSL رايگان براي Apache در CentOS 7مي توانيد اين آموزش را دنبال كنيد. پس از اخذ گواهينامه هاي SSL / TLS ، مي توانيد دوباره برگشته و اين آموزش را تكميل كنيد.

مرحله 4 – پيكربندي تنظيمات رابط وب Zabbix
رابط وب به شما امكان مي دهد گزارش ها را مشاهده كنيد و ميزبان هايي را كه مي خواهيد نظارت كنيد اضافه نماييد ، اما قبل از استفاده از آن نياز به تنظيمات اوليه دارد. مرورگر خود را راه اندازي كنيد و به آدرس http: // zabbix_server_name / zabbix / برويد. در صفحه اول يك پيام خوش آمديد مشاهده خواهيد كرد. براي ادامه بر روي next step كليك كنيد.
در صفحه بعدي ، جدول را مشاهده خواهيد كرد كه ليست تمامي پيش نيازهاي اجراي Zabbix را نشان مي دهد.

همه مقادير موجود در اين جدول بايد ok باشد ، بنابراين تأييد كنيد كه هستند. حتماً تا پايين صفحه رفته و همه پيش نيازها را نگاه كنيد. هنگامي كه تأييد كرديد كه همه چيز آماده است ، براي ادامه روي next step كليك كنيد.
صفحه بعدي اطلاعات اتصال داده را مي پرسد.

به سرور مجازي Zabbix در مورد بانك اطلاعاتي خود آگاهي داديد ، اما رابط وب Zabbix براي مديريت هاست و خواندن داده نيز به دسترسي به بانك اطلاعاتي احتياج دارد. بنابراين اعتبارات MySQL را كه در مرحله 2 پيكربندي كرده ايد وارد كنيد و براي ادامه بر روي next step كليك كنيد.
در صفحه بعدي مي توانيد گزينه ها را در مقادير پيش فرض آنها قرار دهيد.

name اختياري است. در صورت داشتن چندين سرور مجازي نظارت ، از آن در رابط وب استفاده مي شود. براي ادامه بر روي next step كليك كنيد.
صفحه بعدي خلاصه پيش از نصب را نشان مي دهد تا بتوانيد تأييد كنيد كه همه چيز صحيح است.

بر روي next step كليك كنيد تا به صفحه نهايي برويد.
ستاپ رابط وب اكنون تكميل شده است. اين فرآيند فايل پيكربندي /etc/zabbix/web/zabbix.conf.php را ايجاد مي كند كه مي توانيد در آينده از آنها نسخه پشتيبان تهيه كنيد و استفاده كنيد. براي رفتن به صفحه ورود ، روي Finish كليك كنيد. كاربر پيش فرض Admin و پسورد zabbix است.
قبل از ورود به سيستم ، عامل Zabbix را در دومين سرور مجازي CentOS خود تنظيم كنيد.
مرحله 5 – نصب و پيكربندي عامل Zabbix
حال بايد نرم افزار عامل را تنظيم كنيد كه داده هاي مانيتورينگ را به سرور مجازي Zabbix ارسال مي كند.
وارد سرور مجازي CentOS دوم شويد:
⦁ $ ssh sammy@second_centos_server_ip_address

سپس ، دقيقاً مانند سرور مجازي Zabbix ، دستور زير را براي نصب بسته تنظيمات مخزن اجرا كنيد:
⦁ $ sudo rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm

بعد ، حافظه yum را پاك كنيد:
⦁ $ sudo yum clean all
سپس عامل Zabbix را نصب كنيد:
⦁ $ sudo yum install zabbix-agent

در طي مراحل نصب در مورد وارد كردن يك كليد GPG از شما سؤال مي شود. آن را تأييد كنيد تا نصب كامل شود.
در حالي كه Zabbix از رمزگذاري مبتني بر گواهي پشتيباني مي كند ، تنظيم مجوز قانوني فراتر از محدوده اين آموزش است. در عوض ، در اين آموزش از كليدهاي از پيش اشتراكي (PSK) براي برقراري ارتباط بين سرور مجازي و عامل استفاده خواهيد كرد.
ابتدا يك PSK ايجاد كنيد:
⦁ $ sudo sh -c “openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk”

كليد را نشان دهيد تا بتوانيد آن را در جايي كپي كنيد. براي پيكربندي هاست به آن احتياج خواهيد داشت.
⦁ $ cat /etc/zabbix/zabbix_agentd.psk

كليد چيزي شبيه به اين خواهد بود:
Output
a4374c8c3b55de472225dbf96aa7cd3ce6a34abc95d0eb2a601d954ee0cd4410

اكنون تنظيمات عامل Zabbix را ويرايش كنيد تا اتصال ايمن آن به سرور مجازي Zabbix تنظيم شود. فايل پيكربندي عامل را در ويرايشگر متن خود باز كنيد:
⦁ $ sudo vi /etc/zabbix/zabbix_agentd.conf

هر تنظيماتي درون اين فايل از طريق كامنت هاي آگاهي دهنده در سراسر فايل مستند ميشود ، اما نياز به ويرايش برخي از آنها داريد.
ابتدا بايد آدرس IP سرور مجازي Zabbix را ويرايش كنيد. بخش زير را پيدا كنيد:
/etc/zabbix/zabbix_agentd.conf

### Option: Server
# List of comma delimited IP addresses (or hostnames) of Zabbix servers.
# Incoming connections will be accepted only from the hosts listed here.
# If IPv6 support is enabled then ‘127.0.0.1’, ‘::127.0.0.1’, ‘::ffff:127.0.0.1’ are treated equally.
#
# Mandatory: no
# Default:
# Server=

Server=127.0.0.1

مقدار پيش فرض را به IP سرور مجازي Zabbix تغيير دهيد:
/etc/zabbix/zabbix_agentd.conf

# Mandatory: no
# Default:
# Server=

Server=zabbix_server_ip_address

در مرحله بعد ، بخشي را پيدا كنيد كه اتصال ايمن به سرور مجازي Zabbix را پيكربندي كرده و پشتيباني از كليد پيش اشتراك گذاري شده را فعال كنيد. بخش TLSConnect را پيدا كنيد ، كه اينگونه به نظر مي رسد:
/etc/zabbix/zabbix_agentd.conf

### Option: TLSConnect
# How the agent should connect to server or غير مجاز مي باشد. Used for active checks.
# Only one value can be specified:
# unencrypted – connect without encryption
# psk – connect using TLS and a pre-shared key
# cert – connect using TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for ‘unencrypted’ connection)
# Default:
# TLSConnect=unencrypted

سپس TLSConnect = را باطل كنيد و unencrypted را با psk جايگزين كنيد تا پشتيباني از كليد پيش اشتراكي را پيكربندي كنيد:
/etc/zabbix/zabbix_agentd.conf

TLSConnect=psk

سپس ، بخش TLSAccept را پيدا كنيد ، كه اينگونه به نظر مي رسد:
/etc/zabbix/zabbix_agentd.conf

### Option: TLSAccept
# What incoming connections to accept.
# Multiple values can be specified, separated by comma:
# unencrypted – accept connections without encryption
# psk – accept connections secured with TLS and a pre-shared key
# cert – accept connections secured with TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for ‘unencrypted’ connection)
# Default:
# TLSAccept=unencrypted

پيوندهاي ورودي را براي پشتيباني از كليدهاي از پيش اشتراكي با استفاده از TLSAccept = و اضافه كردن psk پيكربندي كنيد:
/etc/zabbix/zabbix_agentd.conf

TLSAccept=psk

سپس ، بخش TLSPSKIdentity را پيدا كنيد ، كه اينگونه به نظر مي رسد:
/etc/zabbix/zabbix_agentd.conf

### Option: TLSPSKIdentity
# Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
# TLSPSKIdentity=

با باطل كردن TLSPSKIdentity = و اضافه كردن كد هايلايت شده ، يك نام منحصر به فرد براي شناسايي كليد از پيش اشتراك گذاري خود انتخاب كنيد:
/etc/zabbix/zabbix_agentd.conf

TLSPSKIdentity=PSK 001

هنگامي كه ميزبان خود را از طريق رابط وب Zabbix اضافه مي كنيد ، از اين به عنوان شناسه PSK استفاده خواهيد كرد.
سپس گزينه اي را انتخاب كنيد كه به كليد پيش اشتراك شده قبلي شما اشاره دارد. گزينه TLSPSKFile را بيابيد:
/etc/zabbix/zabbix_agentd.conf

### Option: TLSPSKFile
# Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
# TLSPSKFile=

TLSPSKFile = را حذف كنيد و اين متن را اضافه كنيد تا عامل Zabbix را به فايل PSK كه ايجاد كرديد، معرفي كند:
/etc/zabbix/zabbix_agentd.conf

TLSPSKFile=/etc/zabbix/zabbix_agentd.psk

فايل را ذخيره كنيد و ببنديد. اكنون مي توانيد عامل Zabbix را شروع كرده و آن را به گونه اي تنظيم كنيد كه در زمان بوت شروع شود:
⦁ $ sudo systemctl start zabbix-agent

⦁ $ sudo systemctl enable zabbix-agent

براي محاسبات دقيق ، بررسي كنيد كه عامل Zabbix به درستي اجرا شده است:
⦁ $ sudo systemctl status zabbix-agent

وضعيت زير را مشاهده خواهيد كرد ، نشان مي دهد عامل در حال اجرا است:
Output
● zabbix-agent.service – Zabbix Agent
Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2019-05-03 06:25:06 UTC; 28s ago

عامل براي پيگيري اتصالات از سرور مجازي، پورت 10050 را شنود مي كند. به منظور پيكربندي دسترسي از آدرس هاي IP خاص يا زير شبكه ها ، از قابليت rich rule در firewalld استفاده كنيد:
⦁ $ sudo firewall-cmd –permanent –zone=public –add-rich-rule=’rule family=”ipv4″ source address=”zabbix_server_ip_address/32″ port protocol=”tcp” port=”10050″ accept’

rich rule ها به شما امكان مي دهند قوانيني پيچيده تر و قابل تنظيم تر firewalld را ايجاد كنيد تا كنترل بيشتري بر فايروال خود داشته باشيد. در اين دستور ، شما يك قاعده اضافه مي كنيد كه ترافيك ipv4 را از مبدأ ، كه به عنوان آدرس IP سرور مجازي Zabbix تعيين كرده ايد ، تا پورت 10050 سرور مجازي CentOS دوم مي پذيرد.
در مرحله بعدي ، Firewalld را دوباره لود كنيد تا قانون جديد را فعال كنيد:
⦁ $ sudo firewall-cmd –reload

اكنون عامل شما آماده پذيرش اتصالات و ارسال داده به سرور مجازي Zabbix است. اما براي استفاده از آن ، بايد از طريق كنسول وب سرور مجازي به آن پيوند دهيد. در مرحله بعد ، پيكربندي را كامل مي كنيد.
مرحله 6 – اضافه كردن هاست جديد به سرور مجازي Zabbix
نصب يك عامل بر روي سرور مجازي ي كه مي خواهيد نظارت كنيد ، فقط نيمي از روند كار است. هر هاستي كه براي نظارت مي خواهيد نياز به ثبت در سرور مجازي Zabbix دارد، كه مي توانيد اين كار را از طريق رابط وب انجام دهيد.
با رفتن به آدرس http: // zabbix_server_name / zabbix / وارد رابط وب سرور مجازي Zabbix شويد.

هنگامي كه وارد سيستم شده ايد ، در نوار پيمايش بالا بر روي Configuration و سپس Hosts  كليك كنيد. سپس بر روي دكمه Create host در گوشه سمت راست بالاي صفحه كليك كنيد. با اين كار صفحه پيكربندي ميزبان باز مي شود.

نام هاست و آدرس IP را تنظيم كنيد تا نام هاست و آدرس IP سرور مجازي دوم CentOS شما را منعكس نمايد ، سپس هاست را به يك گروه اضافه كنيد. مي توانيد يك گروه موجود ، به عنوان مثال سرور مجازي هاي لينوكس را انتخاب كنيد يا گروه خود را ايجاد كنيد. هاست مي تواند در چند گروه باشد. براي اين كار ، نام گروه موجود يا جديد را در قسمت Groups وارد كرده و از ليست پيشنهادي مقدار مورد نظر را انتخاب كنيد.
پس از افزودن گروه ، بر روي تب Templates كليك كنيد.

Template OS Linux را در قسمت جستجو تايپ كنيد و سپس بلافاصله در زير نوار جستجو روي add كليك كنيد تا اين الگو به هاست اضافه شود.
در مرحله بعد ، به سربرگ Encryption  برويد. PSK  را هم براي اتصال به هاست و هم اتصالات حاصله از هاست انتخاب كنيد و براي اتصالات از سوي هاست، No encryption را uncheck كنيد. سپس PSK identity  را روي PSK 001 قرار دهيد ، كه مقدار تنظيم TLSPSKIdentity عامل Zabbix است كه قبلاً پيكربندي كرده ايد. سپس مقدار PSK را روي كليد توليد شده براي عامل Zabbix تنظيم كنيد. اين چيزي است كه در فايل /etc/zabbix/zabbix_agentd.psk در دستگاه عامل دخيره شده است.

در آخر ، بر روي دكمه Add در پايين فرم كليك كنيد تا ميزبان ايجاد شود.
ميزبان جديد خود را در اين ليست مشاهده خواهيد كرد. يك دقيقه صبر كنيد و صفحه را مجدد لود كنيد تا برچسب هاي سبز نشان دهند كه همه چيز خوب است و اتصال رمزگذاري شده است.

در صورت داشتن سرور مجازيهاي اضافي كه بايد نظارت شوند ، به هر هاست وارد شويد ، عامل Zabbix را نصب كنيد ، يك PSK توليد كنيد ، عامل را پيكربندي كنيد و با دنبا كردن همان مراحل براي اضافه كردن اولين هاست ، هاست بعدي را به رابط وب اضافه كنيد.
سرور مجازي Zabbix اكنون سرور مجازي دوم CentOS شما را تحت نظر دارد. اكنون ، اعلان هاي ايميل را تنظيم كنيد تا در مورد مشكلات به شما اطلاع داده شود.
مرحله 7 – پيكربندي اعلان هاي ايميل
Zabbix به طور خودكار انواع مختلفي از اعلان ها را پشتيباني مي كند: ايميل ، Jabber ، پيام كوتاه و غيره. همچنين مي توانيد از روش هاي اعلان جايگزين مانند Telegram يا Slack نيز استفاده كنيد. ليست كامل ادغام ها را مي توانيد در اينجا مشاهده كنيد.
ساده ترين روش ارتباطي ايميل است و اين آموزش اعلان ها را براي اين نوع رسانه پيكربندي مي كند.
در نوار پيمايش بالا بر روي Administration ، و سپس Media types كليك كنيد. ليست انواع رسانه ها را مشاهده خواهيد كرد. روي ايميل كليك كنيد.
گزينه هاي SMTP را مطابق تنظيمات ارائه شده توسط سرويس ايميل خود تنظيم كنيد. اين آموزش از ويژگي هاي SMTP Gmail براي تنظيم اعلان هاي ايميل استفاده مي كند. اگر مي خواهيد اطلاعات بيشتري درباره اين تنظيمات داشته باشيد ، به نحوه استفاده از سرور مجازي SMTP Google مراجعه كنيد.
توجه: اگر از تأييد صحت دو مرحله اي با Gmail استفاده مي كنيد ، بايد يك رمزعبور app براي Zabbix توليد كنيد. لازم نيست آن را به خاطر بسپاريد ، فقط بايد يك بار رمز عبور برنامه را هنگام تنظيم وارد كنيد. در مركز راهنمايي Google دستورالعملهايي درباره نحوه توليد اين رمز عبور پيدا خواهيد كرد.

همچنين مي توانيد قالب پيام — html يا متن ساده را انتخاب كنيد. در آخر ، بر روي دكمه Update در پايين فرم كليك كنيد تا پارامترهاي ايميل به روز شود.

اكنون يك كاربر جديد ايجاد كنيد. در نوار پيمايش بالا روي Administrator و سپس Users كليك كنيد. ليست كاربران را مشاهده خواهيد كرد. سپس بر روي دكمه Create user در گوشه سمت راست بالاي صفحه كليك كنيد. با اين كار صفحه پيكربندي كاربر باز مي شود.

نام كاربري جديد را در قسمت Alias ​​وارد كرده و رمزعبور جديدي تنظيم كنيد. در مرحله بعد كاربر را به گروه administrator اضافه كنيد. Zabbix administrators را در قسمت Groups تايپ كرده و آن را از ليست پيشنهادي انتخاب كنيد.
پس از افزودن گروه ، بر روي تب Media كليك كرده و روي لينك Add كه زير آن خط كشيده شده كليك كنيد. يك پنجره pop-up مشاهده خواهيد كرد.

آدرس ايميل خود را در قسمت Send to وارد كنيد. مي توانيد بقيه گزينه ها را روي مقادير پيش فرض بگذاريد. براي ارسال ، روي دكمه add در پايين كليك كنيد.
اكنون به سربرگ Permissions  برويد.Zabbix Super Admin را از منوي كشويي نوع كاربر انتخاب كنيد.
در آخر ، بر روي دكمه Add در پايين فرم كليك كنيد تا كاربر ايجاد شود.
اكنون بايد اعلان ها را فعال كنيد. بر روي تب Configuration  و سپس Actions  در نوار پيمايش بالا كليك كنيد. عملكردي از پيش تنظيم شده را مشاهده خواهيد كرد ، كه وظيفه ارسال اعلان ها به همه ادمين هاي Zabbix را بر عهده دارد. مي توانيد تنظيمات را با كليك روي نام آن بررسي و تغيير دهيد. براي اهداف اين آموزش از پارامترهاي پيش فرض استفاده كنيد. براي فعال كردن اين عمل ، بر روي لينك قرمز Disabled در ستون Status كليك كنيد.
اكنون آماده دريافت هشدار هستيد. در مرحله بعدي ، يك مورد را آزمايش مي كنيد تا تنظيم اعلان خود بررسي نماييد.
مرحله 8 – ايجاد هشدار آزمايشي
در اين مرحله ، براي اطمينان از اتصال همه موارد ، يك هشدار تست توليد مي كنيد. به طور پيش فرض ، Zabbix مقدار فضاي ديسك خالي روي سرور مجازي شما را پيگيري مي كند. به طور خودكار تمام ديسك هاي قرار داده شده را شناسايي ميكند و بررسي هاي مربوطه را اضافه مي كند. اين شناسايي هر ساعت اجرا مي شود ، بنابراين بايد مدت زماني صبر كنيد تا اعلان شروع شود.
يك فايل موقت ايجاد كنيد كه به اندازه كافي بزرگ باشد تا هشدار استفاده از سيستم فايل Zabbix را فعال كند. براي اين كار ، اگر هنوز به سيستم متصل نشده ايد ، به سرور مجازي CentOS دوم خود وارد شويد.
⦁ $ ssh sammy@second_centos_server_ip_address

در مرحله بعد مشخص كنيد كه چه مقدار فضاي خالي روي سرور مجازي داريد. براي فهميدن مي توانيد از دستور df استفاده كنيد:
⦁ $ df -h

دستور df ميزان استفاده از فضاي ديسك سيستم فايل شما را گزارش مي كند ، و -h باعث مي شود كه خروجي قابل خواندن باشد. خروجي مانند زير را مشاهده خواهيد كرد:
Output
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 25G 958M 25G 4% /
در اين حالت فضاي آزاد 25 گيگابايت است. فضاي آزاد شما ممكن است متفاوت باشد.
از دستور fallocate استفاده كنيد ، كه به شما امكان مي دهد فضاي اختصاصي را به يك فايل اختصاص بدهيد يا ندهيد، تا فايلي ايجاد كنيد كه بيش از 80٪ فضاي موجود ديسك را داشته باشد. اين كار براي ايجاد هشدار كافي خواهد بود:
⦁ $ fallocate -l 20G /tmp/temp.img

Zabbix پس از گذشت حدود يك ساعت ، هشداري در مورد ميزان فضاي خالي ديسك ارائه مي كند و عملي را كه پيكربندي كرده ايد ، اجرا مي كند كه پيامي را ارسال خواهد كرد. مي توانيد صندوق ورودي خود را براي دريافت پيام از سرور مجازي Zabbix بررسي كنيد. پيامي مانند خواهيد ديد:
Problem started at 10:49:25 on 2019.05.03
Problem name: Free disk space is less than 20% on volume /
Host: Second Centos Server
Severity: Warning

Original problem ID: 34

همچنين مي توانيد براي مشاهده اطلاعيه و جزئيات آن به سربرگ Monitoring و سپس Dashboard حركت كنيد.

اكنون كه مي دانيد هشدارها كار مي كنند ، فايل موقت ايجاد شده را حذف كنيد تا بتوانيد فضاي ديسك خود را دوباره پس بگيريد:
⦁ $ rm -f /tmp/temp.img

پس از يك دقيقه Zabbix پيام بازيابي را ارسال مي كند و هشدار از داشبورد اصلي ناپديد مي شود.
نتيجه
در اين آموزش يك راه حل ساده و ايمن براي نظارت تنظيم كرده ايد كه به شما در نظارت بر وضعيت سرور مجازي هاي خود كمك مي كند. اكنون مي تواند مشكلات را به شما هشدار دهد ، و شما اين فرصت را داريد كه فرآيندهاي رخ داده در زيرساخت IT خود را تجزيه و تحليل كنيد.
براي كسب اطلاعات بيشتر درباره راه اندازي زيرساخت هاي نظارت ، نحوه نصب Elasticsearch ، Logstash و Kibana (Elastic Stack) را در CentOS 7 و نحوه جمع آوري معيارهاي زيرساخت با Metricbeat در CentOS 7 را بررسي كنيد.

 

 

از اين لينك ها زير مي توانيد آمورش هاي بيشتري براي لينوكس پيدا كنيد :

استفاده از nsh براي دستورات از راه دور اوبونتو 18 –  ميزباني وب سايت با Caddy اوبونتو 18

تنظيم سرور ذخيره سازي آبجكت با استفاده از Minio در اوبونتو 18  –  ضبط و اشتراك گذاري ترمينال با Terminalizer اوبونتو

تنظيم مسيريابي شرطي و پاسخگو با React Router v4  –  ايجاد يك URL كوتاه كننده با Django و GraphQL

يك برنامه رديابي سلامت را با React ،GraphQL و Okta –  ساخت برنامه ******** زمان حقيقي React و GraphQL

به روزرساني فيلترهاي مرتب سازي Angular (زاويه اي) –  با استفاده از React ، Superagent و API اينستاگرام

نحوه ساختن يك برنامه جهاني با Nuxt.js و Django –  دكمه دانلود با ريزتعاملات با CSS ، anime.js و segment.js

نحوه اضافه كردن عكسهاي پيشرفته در Node و Express  –  با Vue ،GraphQL و Apollo Client يك وبلاگ ساخت

يك برنامه SSR با روتر Preact ، Unistore و Preact بسازيد  –  ساخت برنامه هاي وب پيشرونده با Angular

اشكال زدايي JavaScript در توليد با نقشه هاي منبع  –  مي توان با Koa برنامه “سلام جهاني” ساخت

ساختن يك برنامه با Node ، React ، Okta  –   مديريت حالت فرم در React با Redux Form

نحوه تنظيم Laravel ، Nginx و MySQL  –  ارتقاء از AngularJS به Angular با ngUpgrade

استفاده از ويژوال استوديو از راه دور  –  احراز هويت API با JSON Web Tokens و Passport

راه اندازي يك پروژه React با Parcel  –  ايجاد Swiper مانند Netflix را در Vue

ساختن يك ربات تلگرام با Laravel و BotMan  –  استفاده از map، filter، و reduce در جاوااسكريپت

چگونه مي توان موتور جستجوي زمان واقعي را با Vue  –  ساختن سيستم مستندات (Documentation) با Vue و VuePress

استفاده از اشتراك زنده با كد ويژوال استوديو  –  ساخت يك مقياس اندازه گيري قدرت رمز عبور را در React

شروع عملي GraphQL با Node.js و Express  –  ساخت يك برنامه آب و هوا در Django

نحوه نصب Discourse روي Ubuntu 18  –  تأييد رمز عبور با استفاده از درخواست فرم Laravel

نحوه نصب MySQL در CentOS 8  –  استفاده از پسوند PDO PHP براي انجام تراكنش MySQL

نصب و پيكربندي SNMP Daemon و Client در Ubuntu 18  –  نصب Linux، Nginx، MariaDB،PHP در Debian 10

 

 

كلمات كليدي خريد سرور

خريد vps – خريد سرور مجازي – خريد سرور – سرور هلند – فروش vps – سرور مجازي آمريكا – خريدvps – سرور مجازي هلند – فروش سرور مجازي – سرور آمريكا – vps – سرور مجازي انگليس – سرور مجازي آلمان – سرور مجازي كانادا – خريد vps آمريكا – خريد وي پي اس – سرور – خريد سرور مجازي هلند – vps خريد – سرور مجازي فرانسه – سرور مجازي هلند – خريد vps آمريكاخريد سرور مجازي ارزان هلندvpsخريد vps هلندخريد سرور مجازي آمريكاخريد vps فرانسهتست vpsسرور مجازي تستسرور مجازي ويندوزارزانترين vpsخريد وي پي اسvps ارزان – 

 

برچسب‌ها:Elasticsearch, Oracle, TimescaleDB,

تا كنون نظري ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در رویا بلاگ ثبت نام کرده اید می توانید ابتدا وارد شوید.