چگونه نصب کنم؟ مانیتورینگ

نصب زبیکس 4 روی centos 7

پیشنیاز ها

نصب Centos 7 :

ایجاد مخازن epel که داری ابزار های خوب fedora است.

sudo yum -y install epel-release

آپدیت Centos 7 با دستور زیر:

sudo yum update -y

دقت بفرمایید که بعد از نصب یاید سرور خود را راه اندازی مجدد کنید، که دستور زیر میتواند این کار را انجام دهد.

sudo reboot

وب سرور: برای نصب زبیکس ابتدا باید یک وب سرور داشته باشید که برای نصب آن می توانید از اینجا مراحا نصب را مشاهده کنید.

انتخاب نسخه مورد نظر: در اینجا زبیکس 4 که یک نسخه رسمی است و تا یک ماه بعد از رسیدن نسخه LTS بعدی توسط زبیکس پشتیبانی می شود را نصب می کنیم.

بسته های پیش نیاز:

نصب بسته های مربوط به مدیریت شبکه:

sudo yum install net-tools -y

نصب vim به عنوان یک Text editor حرفه ای که نسخه کاربرپسند تری برای vi می باشد. vi خود بر روی centos 7 ، در minimal ترین حالت ، وجود دارد.

پکیج های زیر حتما باید برای php نصب شده باشند.

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

sudo yum -y install mod_php72w php72w-cli php72w-common php72w-devel php72w-pear php72w-gd php72w-mbstring php72w-mysql php72w-xml php72w-bcmath php72w-ctype php72w-ldap php72w-mysqli php72w-pgsql

این بسته ها برای اجرای frontend خود Zabbix لازم و ضروری هستند.

نصب پکیجهای زیر لازم هستند:

sudo yum install -y MySQL-python
sudo yum install -y mariadb-libs
sudo yum install -y gd
sudo yum install -y gd-devel
sudo yum install -y libxml2-devel
sudo yum install -y net-snmp-devel
sudo yum install -y curl-devel
sudo yum install -y gnutls-devel
sudo yum install -y iksemel-devel
sudo yum install -y unixODBC-devel
sudo yum install -y OpenIPMI-devel
sudo yum install -y libssh2-devel
sudo yum install -y openldap-devel
sudo yum install -y java-1.8.0-openjdk
sudo yum install -y java-1.8.0-openjdk-devel
sudo yum install -y iptables-services
sudo yum install -y libevent-devel

تغییر تنظیمات php :

وارد فایل زیر شوید:

sudo vim /etc/php.ini

تغییرات زیر را درون فایل تنظیمات php وارد کنید:

max_execution_time = 600
max_input_time = 600
memory_limit = 256M
post_max_size = 32M
upload_max_filesize = 16M
date.timezone = Asia/Tehran

هرکدام از تنظیمات بالا که با کاراکتر # کامنت شده باشند را از حالت کامنت خارج کنید. یعنی کاراکتر # ابتدای آن را پاک کنید.

بعد از اعمال تغییرات بالا، با دستور زیر،سرویس آپاچی را restart کنید.

sudo systemctl restart httpd

بعد از مراحل بالا با دستور زیر مخزن zabbix را به سرور خود اضافه کنید.

sudo rpm -Uvh rpm -Uvh https://repo.zabbix.com/zabbix/4.0.3/rhel/7/x86_64/zabbix-release-4.0.3.el7.noarch.rpm

بعد از آن با دستور زیر بسته های زبیکس را نصب کنید.

sudo yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-sender zabbix-get zabbix-java-gateway

zabbix-server-mysql: نسخه سرور زبیکس که با mysql مورد استفاده قرار می گیرد. دقت بفرمایید که در اینجا  mysql و mariadb با هم فرقی نمی کنند.

zabbix-web-mysql: پکیجی که برای frontend زبیکس مورد نیاز است.

zabbix-agent: یکی از نکات بسیار مثبت در مورد زبیکس داشتن agent یا ربات های بومی است که به بان c طراحی شده اند. اگر چه این نسخه را میتوان برای اکثر سیستم عامل ها یافت. ولی در اینجا نسخه مخصوص Centos 7 را از مخازن خود وبسایت زبیکس نصب می کنیم.

zabbix-sender: یک ابزار برای امتحان Zabbix سرور از سمت سیستم عاملی است که می خواهیم آن را مانیتور کنیم. با این ابزار میتوان داده ها را سمت سرور ارسال کرد. حال یا با استفاده از زبان اسکریپت نویسی و یا با استفاده از یک دستور برای تست ارتباط.

zabbix-get: بر عکس zabbix-sender برای آزمایش zabbix-agent می باشد.

zabbix-java-gateway: درواقع سرویسی است که میتواند با نرم افزار های جاوایی ارتباط گرفته و آنها را مانیتور کند.

ایجاد پایگاه داده برای زبیکس:

با دستور زیر وارد محیط دستوری mariadb شوید.

sudo mysql -uroot -p

برای دستور بالا ممکن است لازم باشد تا رمز عبور کاربر ریشه را نیز وارد کنید.

پس از آن میتوانید با دستور زیر یک پایگاه داده به نام zabbix ایجاد کنید تا نگهدارنده اطلاعات جمع آوری شده و تنظیمات زبیکس باشد.

CREATE DATABASE zabbix CHARACTER SET utf8 collate utf8_bin;

دستور زیر نیز یک کاربر برای mariadb ایجاد میکند تا دسترسی کامل به Zabbix داشته باشد.

GRANT ALL ON zabbix.* TO ‘zabbix_admin’@’localhost’ IDENTIFIED BY ‘strong_password’;

zabbix.* یعنی کل دسترسی های پایگاه داده zabbix

zabbix_admin نام کاربر زبیکس است و localhost مکانی است که از آنجا می تواند به پایگاه داده دسترسی داشته باشد. مقدار localhost به سیستم کنونی اشاره دارد و اگر مایل باشیم تا از راه دور بدان دسترسی داشته باشیم باید از آدرس IP آن سیستم استفاده می کردیم.

strong_password : به جای این مورد یک پسورد قوی قرار دهید.

دستور زیر جدول دسترسی های mariadb را مجددا ایندکس می کند.

flush privileges;

با دستور زیر از محیط دستوری maridb خارج می شویم و به shell لینوکس بر می گردیم.

ایجاد ساختار پایگاه داده یا بازگردانی پایگاه داده ایجاد شده برای زبیکس:

با دستور زیر backup تهیه شده توسط شرکت زبیکس بر روی پایگاه داده شما restore می شود.

sudo zcat /usr/share/doc/zabbix-server-mysql-4.0.3/create.sql.gz | mysql -uzabbix -p zabbix

 * دستور zcat  همان دستور cat لینوکس است که ابتدا فایل را از حالت فشرده (zip) خارج می کند و سپس آن را نشان می دهد. با علامت | (pip) خروجی این دستور را به سمت mysql هدایت می کنیم.

آزمایش پایگاه داده:

با دستور زیر وارد محیط mariadb شوید:

sudo mysql -uroot -p

و از دستور زیر برای انتخاب پایگاه داده استفاده کنید.

MariaDB [(none)]> use zabbix;

حال توسط دستور زیر جدول های پایگاه داده موجود را مشاهده کنید.

MariaDB [zabbix]> show tables;

خواهید دید که جدول هایی برای پایگاه داده zabbix ایجاد شده اند.

اعمال تنظیمات سرور زبیکس

دستور زیر فایل تنظیمات زبیکس سرور را باز می کند.

sudo vim /etc/zabbix/zabbix_server.conf

پارامتر DBUser و DBPassword را برای آن اعمال کنید. این دو پارامتر باید برای ارتباط با پایگاه داده زبیکس وجود داشته باشند وگرنه سرور زبیکس نمیتواند داده های دریافتی را در پایگاه داده ذخیره کند.

فایل زیر را باز کرده و Timezone را برابر موقعیت مکانی مورد نظر قرار دهید.

sudo vim /etc/httpd/conf.d/zabbix.conf

مثلا برای کشور عزیزمان ایران مقدار Asia/Tehran را اعمال کنید.

سرویس SELINUX:

سرویس SELINUX یک سرویس امنیتی بسیار خوب و کاربردی است که باید توسط ما در محیط های عملیاتی تنظیم شود. حال چون این مورد خارج از آموزش زبیکس است به آن نمیپردازیم وتنها آن را غیر فعال می کنیم. با دستور زیر فایل تنظیمات selinux را باز کرده و مقدار enforcment را به disable تغییر دهید.

sudo vim /etc/sysconfig/selinux

درصورت تغییر این مورد باید سیستم عامل را reboot کنید تا تنظیمات آن اعمال شود. با دستور زیر این عمل را انجام دهید:

sudo reboot

اجرای مجدد سرویس های مورد نظر

جهت اعمال تغییرات بهتر است سرویس های مورد نظر را با دستور زیر غیرفعال کنید.

sudo systemctl restart zabbix-server zabbix-agent httpd

با دستور زیر سرویس های مورد نظر را فعال کنید

sudo systemctl enable zabbix-server zabbix-agent httpd

همچنین با دستور زیر از درست بودن سرویس های مورد نظر اطمینان حاصل کنید.

تنظیمات فایروال سیستم عامل centos 7 را اعمال کنید

با دستور زیر اطمینان حاصل کنید که سرویس firewall نصب شده و در حال اجرا است.

sudo ps -ef | grep firewall

پس از آن پورت های مورد نیاز را با دستور زیر باز کنید تا راه های ارتباطی به سرور مانیتورینگ شما باز باشد.

sudo firewall-cmd –zone=public –add-port=80/tcp –permanent
sudo firewall-cmd –zone=public –add-port=443/tcp –permanent
sudo firewall-cmd –zone=public –add-port=10051/tcp –permanent
sudo firewall-cmd –zone=public –add-port=10051/udp –permanent
sudo firewall-cmd –reload

zabbix frontend یا واسط کاربر زبیکس

با استفاده از دستور زیر پکیج wget را نصب کنید تا بتوانید کد های زبیکس را دانلود کنید.

sudo yum install wget -y

پس از آن با دستور زیر کد زبیکس را دانلود کنید.

sudo wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz

با دستور زیر کد زبیکس را از حالت فشرده خارج می کنیم.

sudo tar -zxvf zabbix-4.0.3.tar.gz

پس از استخراج با دستور زیر وارد مسیر کد های واسط کاربری می شویم.

cd zabbix-4.0.3/frontends/php/

یک پوشه به نام zabbix در مسیر پیشفرض zabbix ایجاد کنید.

sudo mkdir /var/www/html/zabbix

با دستور زیر فایلها و پوشه های کد واسط کاربری را به این پوشه منتقل کنید.

sudo cp -a . /var/www/html/zabbix

به مسیری که فایلها کپی شده اند می رویم.

cd /var/www/html/zabbix

فایل زیر را ایجاد کنید.

sudo vim /var/www/html/zabbix/conf/zabbix.conf.php

محتویات زیر را درون این فایل وارد کنید:

<?php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = 'localhost';
$DB['PORT'] = '3306';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'qazwsx';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'zabbix_server_name';

مالک تمام فایلها را به کاربر zabbix تغییر دهید:

sudo chown -R zabbix. /var/www/html/zabbix

  • کاربر zabbix و گروه zabbix هنگام نصب پکیج های زبیکس به صورت خودکار بر روی سیستم عامل centos 7 نصب شده اند.

با دستور زیر دسترسی های این فایلها را هم به 755 تغییر دهید

sudo chmod -R 755 /var/www/html/zabbix

تبریک میگم شما موفق شدید زبیکس 4 نسخه LTS را بر روی سیستم خود نصب کنید.

درصورت تمایل به مشاهده آموزش حرفه ای زبیکس و تسلط کامل بر سیستم زبیکس می توانید آموزش زبیکس ما را مشاهده نمایید.

Author

خسرو نظری

دانش آموخته کارشناسی ارشد فناوری اطلاعات (گرایش طراحی و تولید نرم افزار)، توسعه دهنده وب، مدیرپروژه های نرم افزاری، مدیرسیستم (sysadmin) لینوکس، مشاور مانیتورینگ و مدیر مجموعه وب یار

Comments (۷)

  1. morteza
    ۰۲ اسفند ۱۴۰۰

    سلام وقتتون بخیر
    من طبق توضیحات شما رفتم جلو و وضعیت zabbix-server.service ام هم running هست ولی تو url هرچی میزنم بالا نمیاد

    • خسرو نظری
      ۰۶ اسفند ۱۴۰۰

      درود بر شما
      امکان داره فایروال سیستم عامل بسته باشه. همچنین نصب باید بررسی بفرمایید سایر کامپوننت های زبیکس نصب شده یا نه. یعنی httpd.service هم باید running باشه.
      داخل آموزش زبیکس کاملا سناریو محور آموزش داده شده است. البته با زبیکس ۵ نسخه پایدار

    • خسرو نظری
      ۰۶ اسفند ۱۴۰۰

      درود بر شما.
      برای نصب زبیکس و مشاهده محیط کاربری احتیاج به نصب و اجرا بودن کامل محیط وب و کامپوننت های آن است. zabbix-server سرویس نصب شده برای سروری است که به agent ها متصل می شود. پس اگر این سرویس اجر شده است بهتر است سرویس های httpd و mariadb رو هم بررسی بفرمایید تا حتما running باشند.
      اگر تمایل به آموزش حرفه ای تر زبیکس دارید میتوانید آموزش زبیکس رو مشاهده بفرمایید.

  2. morteza
    ۰۲ اسفند ۱۴۰۰

    وقتی تو وب لاگین میکنم و تنظیمات لاگین رو میخوام انجام بدم با این خطا مواجه میشم
    Unable to determine current Zabbix database version: the table “dbversion” was not found.

    • خسرو نظری
      ۰۶ اسفند ۱۴۰۰

      درود بر شما.
      احتمالا تناقضی بین پایگاه داده و نسخه نصبی وجود داره. شما طبق این آموزش باید زبیکس ۴ LTS رو نصب بفرمایید.
      اگر تمایل به آموزش حرفه ای تر زبیکس دارید میتوانید آموزش زبیکس رو مشاهده بفرمایید. ما در این آموزش نسخه ۵ پایدار (LTS) رو با راهکار های متنوع آموزش داده ایم.

  3. morteza
    ۰۲ اسفند ۱۴۰۰

    با dbforge studio fo mysql به ماریا دیبی متصل شدم ولی داخلش جدولی وجود نداشت(تو دیتابیس zabbix)

    • خسرو نظری
      ۰۶ اسفند ۱۴۰۰

      اسکیمای پایگاده داده رو باید restore کنید. خود زبیکس ایجاد پایگاه داده نمیکنه.

Leave a comment

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *