نظارت بر دستگاه های خود با استفاده از LibreNMS در اوبونتو 16.04

LibreNMS یک سیستم نظارت بر شبکه منبع باز کاملاً برجسته است. آن استفاده می کند SNMP برای به دست آوردن داده ها از دستگاه های مختلف. دستگاه های مختلفی در LibreNMS مانند Cisco ، Linux ، FreeBSD ، Juniper ، Brocade ، Foundry ، HP و موارد دیگر پشتیبانی می شوند. این مکانیسم از تأیید هویت چندگانه پشتیبانی می کند و از تأیید هویت دو عاملی پشتیبانی می کند. این سیستم دارای یک سیستم هشدار قابل تنظیم است که می تواند از طریق ایمیل ، IRC یا Slack به مدیر شبکه هشدار دهد.

پیش نیازها

برای این آموزش ، ما به nms.example.com عنوان نام دامنه که به سمت نمونه Vultr اشاره شده است ، استفاده خواهیم کرد. لطفاً حتماً تمام وقایع نام دامنه را با نمونه واقعی جایگزین کنید.

سیستم پایه خود را با استفاده از راهنمای نحوه به روزرسانی اوبونتو 16.04 به روز کنید . پس از به روزرسانی سیستم ، نصب وابستگی ها را انجام دهید.

Nginx و PHP را نصب کنید

قسمت جلویی LibreNMS با PHP نوشته شده است ، بنابراین به نصب وب سرور و PHP نیاز خواهیم داشت. در این آموزش ، Nginx را به همراه PHP 7.2 نصب می کنیم تا حداکثر امنیت و کارایی را بدست آوریم.

Nginx را نصب کنید.

sudo apt -y install nginx

Nginx را شروع کنید و آن را فعال کنید تا به طور خودکار در بوت شروع شود.

sudo systemctl start nginx
sudo systemctl enable nginx

مخزن Remi را اضافه و فعال کنید ، زیرا مخزن apt پیش فرض دارای نسخه قدیمی تر PHP است.

sudo add-apt-repository --yes ppa:ondrej/php
sudo apt update

نسخه PHP 7.2 را به همراه ماژول های مورد نیاز LibreNMS نصب کنید.

sudo apt -y install php7.2 php7.2-cli php7.2-common php7.2-curl php7.2-fpm php7.2-gd php7.2-mysql php7.2-snmp php7.2-mbstring php7.2-xml php7.2-zip zip unzip

پرونده پیکربندی لود شده را در یک ویرایشگر باز کنید.

sudo nano /etc/php/7.2/fpm/php.ini

سطرهای زیر را پیدا کنید.

;cgi.fix_pathinfo=1
;date.timezone =

در عوض از این مقادیر Uncomment و از این مقادیر استفاده Asia/Kolkata کنید و منطقه زمانی محلی خود را جایگزین کنید.

cgi.fix_pathinfo=0
date.timezone = Asia/Kolkata

همچنین باید با اجرای دستور زیر ، منطقه زمانی سیستم را تغییر دهید.

sudo ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime

PHP-FPM را مجدداً راه اندازی کنید.

sudo systemctl restart php7.2-fpm

MariaDB را نصب کنید

MariaDB یک چنگال منبع آزاد از MySQL است. مخزن MariaDB را به سیستم خود اضافه کنید ، زیرا مخزن پیش فرض اوبونتو شامل نسخه قدیمی MariDB است.

sudo apt-key adv --yes --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mariadb.biz.net.id/repo/10.2/ubuntu xenial main'
sudo apt update

MariaDB را نصب کنید. در حین نصب ، نصب کننده رمزعبور rootکاربر MySQL را درخواست می کند. یک رمزعبور قوی تهیه کنید.

sudo apt -y install mariadb-server

قبل از شروع استفاده از MariaDB ، باید پیکربندی را کمی تغییر دهیم. پرونده پیکربندی را باز کنید.

sudo nano /etc/mysql/conf.d/mariadb.cnf 

کد زیر را به انتهای پرونده اضافه کنید.

[mysqld]
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0

MariaDB را مجدداً راه اندازی کنید و آن را فعال کنید تا به طور خودکار در زمان بوت شروع شود.

sudo systemctl restart mariadb.service 
sudo systemctl enable mariadb.service

قبل از پیکربندی پایگاه داده ، باید نمونه MariaDB را تأمین کنید.

sudo mysql_secure_installation

از شما خواسته می شود رمز عبوری ریشه MariaDB را دریافت کرده و از شما خواسته شود rootپسورد را تغییر دهید . از آنجا که قبلاً rootدر هنگام نصب یک رمزعبور قوی برای کاربر تنظیم کرده ایم ، با پاسخ دادن " N" آن را پرش کنید . برای همه سؤالات دیگر ، "" پاسخ دهید Y. سؤالاتی که پرسیده می شود ، خود توضیح است

به عنوان root وارد پوسته MySQL شوید.

mysql -u root -p

برای ورود به سیستم کاربر رمز ورود MariaDB رمز ورود خود را تهیه کنید. برای ایجاد یک بانک اطلاعاتی و یک کاربر پایگاه داده برای نصب LibreNMS سؤالات زیر را اجرا کنید.

CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
EXIT;

می توانید نام librenms و نام کاربری داده را librenms مطابق انتخاب خود جایگزین کنید. لطفاً مطمئن شوید که StrongPassword به یک رمزعبور بسیار قوی تغییر دهید .

LibreNMS را نصب کنید

جدا از وابستگیهای فوق ، LibreNMS به وابستگی های بیشتری نیاز دارد.

sudo apt -y install fping git imagemagick jwhois mtr graphviz nmap python-memcache python-mysqldb rrdtool snmp snmpd whois composer

یک کاربر جدید غیر شخصی برای برنامه LibreNMS اضافه کنید.

sudo useradd librenms -d /opt/librenms -M -r
sudo usermod -aG www-data librenms

LibreNMS را می توان مستقیماً با کلون کردن مخزن Github آن نصب کرد.

cd /opt
sudo git clone https://github.com/librenms/librenms.git librenms

تغییر مالکیت.

sudo chown librenms:librenms -R /opt/librenms

وابستگی های PHP را نصب کنید.

cd /opt/librenms
sudo su librenms -c "composer install"

LibreNMS برای بسیاری از کارها به SNMP متکی است. از آنجا که ما قبلاً SNMP را نصب کرده ایم ، پرونده پیکربندی نمونه را در محل آن کپی کنید.

sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf

پرونده پیکربندی را در ویرایشگر باز کنید.

sudo nano /etc/snmp/snmpd.conf

این خط را پیدا کنید

com2sec readonly  default         RANDOMSTRINGGOESHERE

متن را ویرایش کنید RANDOMSTRINGGOESHERE و رشته جامعه را با هر رشته دلخواه خود جایگزین کنید. مثلا.

com2sec readonly  default         my-org

وقتی اولین دستگاه SNMP را اضافه می کنیم ، رشته را به خاطر بسپارید.

SNMP همچنین به اطلاعات مربوط به نسخه توزیع نیاز دارد. اسکریپت را بارگیری و نصب کنید تا نسخه توزیع را پیدا کنید.

sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
sudo chmod +x /usr/bin/distro

سرویس Daemon SNMP را شروع کنید و آن را فعال کنید تا به طور خودکار در زمان بوت شروع شود.

sudo systemctl enable snmpd
sudo systemctl restart snmpd

اکنون برای اجرای کارهای برنامه ریزی شده باید برخی از نوشته های crontab را اضافه کنید. یک پرونده کار cron جدید ایجاد کنید.

sudo cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms

سرویس Cremon Daemon را مجدداً راه اندازی کنید.

sudo systemctl restart cron

به logrotate گونه ای تنظیم کنید که پرونده های ورود به سیستم به طور خودکار با گذشت زمان تازه شوند.

sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

در آخر ، مالکیت و مجوزهای مناسب را تعیین کنید.

sudo chown -R librenms:www-data /opt/librenms
sudo chmod g+w -R /opt/librenms
sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs

تنظیمات SSL و Nginx VHost

اگر اتصال با SSL رمزگذاری نشده باشد ، ورود و سایر اطلاعات ارسال شده از طریق رابط وب LibreNMS تضمین نمی شوند. ما Nginx را پیکربندی می کنیم تا از SSL تولید شده با SSL رایگان رمزگذاری کنیم.

مخزن Certbot را اضافه کنید.

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

Certbot را نصب کنید ، که برنامه مشتری برای Let Encrypt CA است.

sudo apt -y install certbot

توجه : برای به دست آوردن گواهینامه ها از Let Encrypt CA ، دامنه تولید شده برای صدور گواهینامه ها باید به سمت سرور هدایت شود. در این صورت ، تغییرات لازم را در سوابق DNS دامنه ایجاد کرده و منتظر انتشار DNS قبل از درخواست مجوز مجدد باشید. Certbot قبل از ارائه گواهینامه ها ، دامنه را بررسی می کند.

صدور گواهینامه SSL را ایجاد کنید.

sudo certbot certonly --webroot -w /var/www/html -d nms.example.com

گواهینامه های تولید شده احتمالاً در /etc/letsencrypt/live/nms.example.com/دایرکتوری ذخیره می شوند . گواهینامه SSL ذخیره می شود fullchain.pem و کلید خصوصی نیز به عنوان ذخیره می شود privkey.pem.

اجازه دهید صدور گواهینامه رمزگذاری در مدت 90 روز منقضی شود ، از این رو توصیه می شود با استفاده از یک کار cron ، تمدید خودکار را برای گواهینامه ها تنظیم کنید.

پرونده کار cron را باز کنید.

sudo crontab -e

در انتهای پرونده خط زیر را اضافه کنید.

30 5 * * 1 /usr/bin/certbot renew --quiet

کار cron فوق هر دوشنبه ساعت 5:30 صبح به وقت محلی انجام می شود. اگر گواهی برای انقضا موقت باشد ، به طور خودکار تمدید می شود.

یک میزبان مجازی جدید ایجاد کنید.

sudo nano /etc/nginx/sites-available/librenms

پرونده را جمع کنید.

server {
    listen 80;
    server_name nms.example.com;
    return 301 https://$host$request_uri;
}
server {

    listen 443;
    server_name nms.example.com;

    ssl_certificate           /etc/letsencrypt/live/nms.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/nms.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log    /opt/librenms/logs/librenms.nginx.access.log;
    root        /opt/librenms/html;
    index       index.php;

    charset utf-8;
    gzip on;
    gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location /api/v0 {
        try_files $uri $uri/ /api_v0.php?$query_string;
    }
    location ~ \.php {
        include fastcgi.conf;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
 }

nms.example.com دامنه واقعی خود را در پیکربندی فوق جایگزین کنید.

پیکربندی تازه ایجاد شده را فعال کنید.

sudo ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/librenms

Nginx را مجدداً راه اندازی کنید.

sudo systemctl restart nginx

نصب با استفاده از WebUI

برای اتمام نصب ، https://nms.example.com روی مرورگر مورد علاقه خود باز کنید. خواهید دید که شرایط مورد نیاز راضی است. اطلاعات بانک اطلاعاتی خود را تهیه کرده و یک حساب اداری جدید ایجاد کنید. پس از نصب ، پیامی برای اعتبار سنجی نصب دریافت خواهید کرد. روی پیوند کلیک کنید و با استفاده از حساب سرپرست وارد شوید. باید دید که همه چیز به جز " Poller" Ok"وضعیت" "دارد.

نظارت بر دستگاه های خود با استفاده از LibreNMS در اوبونتو 16.04

اکنون ، برای افزودن دستگاه ، روی پیوند کلیک کنید. در Add Deviceرابط کاربری ، نام میزبان را به عنوان localhost تهیه کنید و همه چیز را همانطور که هست بگذارید. رشته جامعه خود را در زمینه اجتماع ارائه دهید. این دقیقاً همان رشته ای است که شما در snmpd.confطول پیکربندی SNMP ارائه کرده اید.

نظارت بر دستگاه های خود با استفاده از LibreNMS در اوبونتو 16.04

پس از افزودن دستگاه ، می توانید با رفتن به Devicesبرگه "" جزئیات را مشاهده کنید. به همین ترتیب ، می توانید دستگاه های بیشتری را برای نظارت بر "در حدود ساعت" به برنامه LibreNMS اضافه کنید.



Leave a Comment

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد