نصب زبیکس 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 را بر روی سیستم خود نصب کنید.
درصورت تمایل به مشاهده آموزش حرفه ای زبیکس و تسلط کامل بر سیستم زبیکس می توانید آموزش زبیکس ما را مشاهده نمایید.
morteza
۰۲ اسفند ۱۴۰۰سلام وقتتون بخیر
من طبق توضیحات شما رفتم جلو و وضعیت zabbix-server.service ام هم running هست ولی تو url هرچی میزنم بالا نمیاد
خسرو نظری
۰۶ اسفند ۱۴۰۰درود بر شما
امکان داره فایروال سیستم عامل بسته باشه. همچنین نصب باید بررسی بفرمایید سایر کامپوننت های زبیکس نصب شده یا نه. یعنی httpd.service هم باید running باشه.
داخل آموزش زبیکس کاملا سناریو محور آموزش داده شده است. البته با زبیکس ۵ نسخه پایدار
خسرو نظری
۰۶ اسفند ۱۴۰۰درود بر شما.
برای نصب زبیکس و مشاهده محیط کاربری احتیاج به نصب و اجرا بودن کامل محیط وب و کامپوننت های آن است. zabbix-server سرویس نصب شده برای سروری است که به agent ها متصل می شود. پس اگر این سرویس اجر شده است بهتر است سرویس های httpd و mariadb رو هم بررسی بفرمایید تا حتما running باشند.
اگر تمایل به آموزش حرفه ای تر زبیکس دارید میتوانید آموزش زبیکس رو مشاهده بفرمایید.
morteza
۰۲ اسفند ۱۴۰۰وقتی تو وب لاگین میکنم و تنظیمات لاگین رو میخوام انجام بدم با این خطا مواجه میشم
Unable to determine current Zabbix database version: the table “dbversion” was not found.
خسرو نظری
۰۶ اسفند ۱۴۰۰درود بر شما.
احتمالا تناقضی بین پایگاه داده و نسخه نصبی وجود داره. شما طبق این آموزش باید زبیکس ۴ LTS رو نصب بفرمایید.
اگر تمایل به آموزش حرفه ای تر زبیکس دارید میتوانید آموزش زبیکس رو مشاهده بفرمایید. ما در این آموزش نسخه ۵ پایدار (LTS) رو با راهکار های متنوع آموزش داده ایم.
morteza
۰۲ اسفند ۱۴۰۰با dbforge studio fo mysql به ماریا دیبی متصل شدم ولی داخلش جدولی وجود نداشت(تو دیتابیس zabbix)
خسرو نظری
۰۶ اسفند ۱۴۰۰اسکیمای پایگاده داده رو باید restore کنید. خود زبیکس ایجاد پایگاه داده نمیکنه.