زبیکس - Zabbix

سلام : )قبل از اینکه بریم سراغ اصل داستان، خواستم بگم این اولین مقاله‌ی رسمی منتشر شده‌ی من، توی ویرگول هستش. خوشحال میشم اگر نکته یا موردی بود بهم فیدبک بدید. : )این رو هم بگم، این مقاله به کار افرادی میخوره که مبتدی هستن و ممکنه از حوصله ی شمایی که حرفه ای هستی خارج باشه. در هر صورت از اینکه وقت میزاری می‌خونی ممنون هستم و منتظر نظراتت. : )خب، بریم سراغ اصل داستان : )من برای سرورها که روی اون‌ها CentOS 7 نصب بود، به زبیکس 4.0LTS به همراه دیتابیس MySQL و وب سرور Apache احتیاج داشتم. بنابراین برای دانلود از لینک پایین استفاده کردم.Link Zabbixتوی مرحله اول، باید یک سری از سرویس‌ها رو روی سرور خودمون داشته باشیم. مثل Apache، PHP ، MySQLنصب Apacheخب، حالا برای نصب Apache باید از دستور زیر استفاده کنیم.yum install httpdبعد از اینکه آپاچی نصب شد، با دو تا دستور بعدی اجرا و اکتیو می‌کنیم.systemctl start httpd systemctl enable httpdقدم بعدیمون نصب و کانفیگ PHPهستش.اول باید بیایم، با دستور زیر مخازن epel رو نصب کنیم.yum install epel-releaseنصبPHPحالا توی این مرحله PHP و بخش‌های مرتبط با PHP رو نصب می‌کنیم.yum install php php-mysql php-gd php-pear phpmyadminبعد از اینکه PHP رو نصب کردیم، باید کانفیگش رو انجام بدیم. پس با ویرایشگر Vi باید فایل PHP رو باز کنیم و اطلاعات زیر رو ویرایش کنیم.Max_execution_time=600Max_input_time=600Memory_limit=256MPost_max_size=32MUpload_max_filesize=16MDate.timezone=Asia/Tehranبا putty یا shell دستور زیر رو می‌نویسیم، تا فایل PHP مون با Vi باز بشه.vi /etc/php.iniو تغییرات مورد نظرمون رو انجام میدیم. در نهایت ذخیره می‌کنیم.حالا توی این مرحله برای اینکه سرویس Apache رو restart کنیم، باید دستور زیر رو بنویسیم.systemctl restart httpdنصب MariaDBقدم بعدیمون نصب MariaDB هستش.با دستور زیر، نسخه‌ی mariadb-server رو نصب می‌کنیم.yum install mariadb-serverبعد از نصب، mariadb رو اجرا و اکتیو می‌کنیم.systemctl start mariadb systemctl enable mariadbنصب mariadb که تموم شد، برای اینکه بتونیم بهش کانکت بشیم باید یوزر پسورد داشته باشیم. برای این‌کار هم از دستور زیر استفاده می‌کنیم.mysql_secure_installationحالا از ما می‌خواد که پسورد روت سیستممون رو وارد کنیم. می‌تونیم پسوردی وارد نکنیم و به زدن دکمه‌ی enter بسنده کنیم.حالا Enter رو که بزنیم، از ما سوال می‌پرسه می‌خواید روی Root پسورد رو وارد کنید؟ و با تایپ حرف Y تایید می کنیم.Set root password? [Y/n] Yحالا منتظر هستش که پسوردمون رو وارد کنیم.New password: Re-enter new password:سوال بعدی که از ما میپرسه اینه که یوزرهای ناشناس رو پاک کنه؟ با تایپ حرف Y، تایید می‌کنیم که یوزرهایی که پسورد ندارند نباید به دیتابیس وصل بشند.Remove anonymous users ? [Y/n] Yبعد سوال میپرسه اتصال راه دور رو به دیتابیس محدود کنم؟ ما هم تایید می‌کنیم.Disallow root login remotely ? [Y/n] Yحالا میگه، می‌خوای دیتابیس تست را پاک کنی؟ با تایپ حرف Y تایید می کنیم.Remove test database and access to it ? [Y/n] Yدر نهایت به جداول اجازه‌ی reload میدیم.Reload privilege tables now ? [Y/n] Yبعد از تمام مراحل بالا، برای اینکه ببینیم به دیتابیس وصل می‌شیم دستور زیر رو می‌نویسیم.mysql –u root –pاز ما میخواد پسوردی که برای دیتابیس ساختیم رو وارد کنیم.Enter password:اگه سرویس بدون مشکلی نصب شده باشه، باید دستور زیر رو ببینیم.MariaDB [{none}] >توی این مرحله باید دیتابیس بسازیم. دستور زیر، دستور ساختن یه دیتابیس هستش.create database zabbixdb character set utf8;نکته: به جای zabbixdb هر اسمی می تونیم وارد کنیم.بعد از اینکه دیتابیس‌مون رو ساختیم، باید براش یه یوزر و پسورد هم تعریف کنیم، تا زبیکس بتونه به دیتابیس وصل بشه.grant all privileges on zabbixdb.* to zabbix@'localhost' identified by 'zabbixpass';بعد از grant all privileges on اسم دیتابیس‌مون رو می‌نویسیم. بعد از to هم، اسم یوزر و لوکال هاست‌مون رو می‌نویسیم. و به کمک identified پسورد دیتابیس‌مون رو می‌نویسیم.حالا یه بروزرسانی روی MySQL انجام می‌دیم.flush privileges;کار ما اینجا با دیتابیس تموم میشه، برای خارج شدن از دستور زیر استفاده می‌کنیم.Exit;نصب زبیکسحالا به مرحله‌ی نصب زبیکس می‌رسیم.rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpmبا دستور زیر، نسخه‌ی سروری و نسخه‌ی وب zabbix رو نصب می‌کنیم.yum install zabbix-server-mysql zabbix-web-mysql zabbix-agentحالا باید بیایم، templateها رو توی دیتابیبس import کنیم. پس به مسیر زیر می‌ریم.cd /usr/share/doc/حالا ls می‌گیریم و وارد پوشه ... zabbix-server-mysql می‌شیم. ( به جای … عدد ورژنی که نصب کردیم هستش)cd zabbix-server-mysql ….بازم ls می‌گیریم، حالا گزینه‌ی create.sql.gz رو می‌بینیم. باید templateهایی که داخل این فایل هستن رو به دیتابیس‌مون اضافه کنیم.این کار رو با دستور زیر انجام می‌دیم.در واقع این دستور میاد از حالت فشرده خارج می‌کنه.gunzip create.sql.gzبعد دستور زیر رو می‌‌نویسیم.mysql –u root -p zabbixdb < create.sqlحالا از ما پسورد دیتابیس‌مون رو می‌خواد، اون رو وارد می‌کنیم.Enter password:بعد از ساخت دیتابیس‌مون، کانفیگ می‌کنیم و اطلاعاتش رو توی فایل zabbix-server.conf وارد می‌کنیم.vi /etc/zabbix/zabbix_server.confاطلاعات زیر رو ویرایش می‌کنیم.DBHost=localhostDBName=zabbixdbDBUser=zabbixDBPassword=zabbixpassتغییرات رو که انجام دادیم، ذخیرشون می‌کنیم. با دستور بعد میایم زبیکس سرورمون رو start می‌کنیم.systemctl start zabbix-serverاینجا توی این مرحله، باید selinux رو که فعال هستش، بیایم غیرفعال کنیم. دستور بعد رو می‌نویسیم.sestatusوقتی این دستور رو وارد کردیم می‌بینیم که:seluinux status : enabledهستش. برای غیر فعال کردنش باید با ویرایشگر Vi تغییرات رو اعمال کنیم.vi /etc/sysconfig/selinuxوSELINUX=enforcingرو بهSELINUX=disabledتغییر می‌دیم. حالا فایلمون رو ذخیره می‌کنیم. بعد از ذخیره کردن برای اینکه تغییراتی که انجام دادیم اعمال بشه، سیستم رو با یکی از دو دستورRebootیاInit 6ریست می‌کنیم.سیستم که بالا اومد، یک بار دیگه سرویس zabbix server رو start می‌کنیم.systemctl start zabbix-serverتوی این مرحله چند مورد از فایل zabbix_agentd_conf رو باید تغییر بدیم.vi /etc/zabbix/zabbix_agentd.confServer=127.0.0.1serverActive=127.0.0.1Hostname= hostnameچهار خط بالا رو که بررسی کردیم و تغییرشون دادیم ذخیره می‌کنیم و بعد میایم zabbix agent مون رو start و enable می‌کنیم.systemctl start zabbix-agent systemctl enable zabbix-agentعلاوه بر فایل php.ini مون که timezone رو تغییر دادیم، باید بیایم توی فایل zabbix.conf هم timezone رو با Tehran ست کنیم.با دستور زیر وارد فایل zabbix.conf میشیم.vi /etc/httpd/conf.d/zabbix.confو خط# php_value date.timezoneرو پیدا می‌کنیم و خط زیر رو جایگزینش می‌کنیم. ( علامت # رو پاک نمی‌کنیم. )# php_value date.timezone Asia/Tehranبعد از اینکه مرحله بالا هم تموم شد، میریم سراغ نصب فایروال و کانفیگش رو انجام می‌دیم.yum install firewalldفایروال رو که نصب کردیم، start و فعالش می‌کنیم.systemctl start firewalld systemctl enable firewalldبرای زبیکس، نیاز داریم که پورت‌های http و https رو باز کنیم. با دستور زیر این دو تا پورت رو برای کارمون باز می کنیم.firewall-cmd --add-service={http,https} –permanentاگه اشتباهی توی دستورمون نباشه، کلمه ی Success رو می‌بینیم.برای اینکه پورت زبیکس و ترافیک ورودیش رو برای فایروال باز کنیم، دستور زیر رو استفاده می‌کنیم.firewall-cmd --add-port={10051/tcp,10050/tcp} --permanentبازم کارمون رو اگه صحیح انجام بدیم، کلمه‌ی Success رو می‌بینیم : )اینجا توی این قدم باید فایروالمون رو reload کنیم.firewall-cmd --reload firewall-cmd --list-allبعد میایم، زبیکس سرور رو enable می‌کنیم. زبیکس ایجنتمون با httpd رو هم restart می‌کنیم.systemctl enable zabbix-server systemctl restart zabbix-agent systemctl restart httpdبعد از تمام مراحل بالا حالا رسیدیم به این قسمت که زبیکس رو با مرورگرمون باز کنیم.لینک زیر رو توی مرورگر وارد می‌کنیم. حواسمون باید باشه، در قسمت your ip باید ip خودمون رو وارد کنیم.http://Your IP/zabbixحالا دیگه صفحه خوش آمدگویی zabbix رو می‌بینیم.توی صفحه خوش امدگویی Next step رو می‌زنیم تا مارو به صفحه‌ی بعد ببره.توی این صفحه، زبیکس میاد تمام کارایی که انجام دادیم رو بررسی می‌کنه. و هرکدوم که صحیح باشه جلوشون یه OK برامون نشون میده. مجدد میایم روی Next step می‌زنیم تا ما رو به صفحه‌ی بعد ببره.توی صفحه‌ی Configure DB Connection باید مشخصات دیتابیس‌مون رو وارد کنیم، تا بتونیم به دیتابیسی که ساختیم وصل بشیم.Database type = MySQLDatabase host = localhostDatabase port = 0Database name = zabbixdbUser = zabbixPassword = your Passwordبازم Next step رو می‌زنیم تا به مرحله ی بعد بریم.توی صفحه ی zabbix server details، جزئیات زبیکس سرورمون رو وارد می‌کنیم.Host = localhostبرای port، پورت پیش فرض زبیکس که 10051 هستش رو می‌زنیم.Port = 10051قسمت name ،hostname zabbix رو براش تعریف می‌کنیم.Name = your nameبعد از اینکه تکمیلشون کردیم، روی Next space کلیک می‌کنیم.توی مرحله Pre-installation summary یه review از اطلاعات زبیکس رو بهمون نشون میده.اگر دیدیم، از دید ما مشکلی نداره روی Next step کلیک می‌کنیم.و در نهایت از ما برای نصب صحیح تشکر می‌کنه : )روی دکمه‌ی Finish می‌زنیم تا به صفحه‌ی لاگین بریم.توی این مرحله Username و Password رو وارد می‌کنیم.نکته: یوزر پیش فرض Admin و پسورد اون zabbix هستش. روی دکمه sign in می‌زنیم تا وارد صفحه ی داشبورد زبیکس بشیم.و تمام : )