ตรวจสอบอุปกรณ์ของคุณโดยใช้ LibreNMS บน Ubuntu 16.04

LibreNMS เป็นระบบตรวจสอบเครือข่ายแบบโอเพ่นซอร์สที่มีคุณสมบัติครบถ้วน มันใช้ SNMP เพื่อรับข้อมูลจากอุปกรณ์ต่าง ๆ อุปกรณ์หลากหลายได้รับการสนับสนุนใน LibreNMS เช่น Cisco, Linux, FreeBSD, Juniper, Brocade, Foundry, HP และอีกมากมาย รองรับกลไกการพิสูจน์ตัวตนหลายอย่างและรองรับการตรวจสอบสองปัจจัย มันมีระบบการแจ้งเตือนที่ปรับแต่งได้ซึ่งสามารถแจ้งเตือนผู้ดูแลระบบเครือข่ายผ่านทางอีเมล, IRC หรือหย่อน

ข้อกำหนดเบื้องต้น

  • อินสแตนซ์ของเซิร์ฟเวอร์ Vultr Ubuntu 16.04
  • sudo ผู้ใช้

สำหรับบทช่วยสอนนี้เราจะใช้ nms.example.com เป็นชื่อโดเมนที่ชี้ไปยังอินสแตนซ์ Vultr โปรดตรวจสอบให้แน่ใจว่าได้แทนที่ชื่อโดเมนตัวอย่างทั้งหมดด้วยชื่อจริง

ปรับปรุงระบบฐานของคุณใช้คู่มือ วิธีการปรับปรุง Ubuntu 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 =

ยกเลิกหมายเหตุและใช้ค่าเหล่านี้แทนแทนที่ 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 ลงในระบบของคุณเนื่องจากที่เก็บเริ่มต้นของ Ubuntu มี MariaDB รุ่นเก่ากว่า

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" คำถามที่ถามมีการอธิบายตนเอง

ล็อกอินเข้าสู่ MySQL shell ในฐานะรูท

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

เริ่มบริการ SNMP daemon และเปิดใช้งานให้เริ่มโดยอัตโนมัติในเวลาบูต

sudo systemctl enable snmpd
sudo systemctl restart snmpd

ตอนนี้คุณจะต้องเพิ่มรายการ crontab เพื่อเรียกใช้งานที่กำหนดไว้ สร้างไฟล์งาน cron ใหม่

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

รีสตาร์ทเซอร์วิส cron 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

การเข้าสู่ระบบและข้อมูลอื่น ๆ ที่ส่งผ่านเว็บอินเตอร์เฟสของ LibreNMS จะไม่ปลอดภัยหากการเชื่อมต่อไม่ได้เข้ารหัสด้วย SSL เราจะกำหนดค่า Nginx ให้ใช้ SSL ที่สร้างขึ้นด้วย Let's Encrypt SSL ฟรี

เพิ่มที่เก็บ Certbot

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

ติดตั้ง Certbot ซึ่งเป็นแอปพลิเคชันไคลเอนต์สำหรับ Let's Encrypt CA

sudo apt -y install certbot

หมายเหตุ : ในการรับใบรับรองจาก Let's 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 บน Ubuntu 16.04

ตอนนี้คลิกที่ลิงค์เพื่อเพิ่มอุปกรณ์ ในAdd Deviceอินเทอร์เฟซ "" ระบุชื่อโฮสต์เป็นโลคัลโฮสต์และปล่อยให้ทุกอย่างเหมือนเดิม ระบุสตริงชุมชนของคุณในฟิลด์ชุมชน มันจะต้องเป็นสตริงเดียวกับที่คุณให้ไว้ในsnmpd.confระหว่างการกำหนดค่าของ SNMP

ตรวจสอบอุปกรณ์ของคุณโดยใช้ LibreNMS บน Ubuntu 16.04

เมื่อเพิ่มอุปกรณ์แล้วคุณสามารถดูรายละเอียดได้โดยไปที่Devicesแท็บ "" คุณสามารถเพิ่มอุปกรณ์เพิ่มเติมในแอปพลิเคชั่น LibreNMS สำหรับการตรวจสอบ "ตลอดเวลา"

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true