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

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

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

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

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

ปรับปรุงระบบฐานของคุณใช้คู่มือวิธีการปรับปรุง CentOS 7 เมื่อระบบของคุณอัปเดตแล้วให้ดำเนินการติดตั้งการอ้างอิงต่อ

ติดตั้ง Nginx และ PHP

ส่วนหน้าของ LibreNMS นั้นเขียนด้วย PHP ดังนั้นเราจะต้องติดตั้งเว็บเซิร์ฟเวอร์และ PHP ในบทช่วยสอนนี้เราจะติดตั้ง Nginx พร้อมกับ PHP 7.2 เพื่อรับความปลอดภัยและประสิทธิภาพสูงสุด

ติดตั้ง Nginx

sudo yum -y install nginx

เริ่ม Nginx และเปิดใช้งานเพื่อเริ่มการบูทโดยอัตโนมัติ

sudo systemctl start nginx
sudo systemctl enable nginx

เพิ่มและเปิดใช้งานที่เก็บ Remi เนื่องจากที่เก็บ YUM เริ่มต้นมี PHP รุ่นเก่ากว่า

sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php72

ติดตั้ง PHP เวอร์ชัน 7.2 พร้อมกับโมดูลที่ต้องการโดย LibreNMS

sudo yum -y install php php-cli php-common php-curl php-fpm php-gd php-mcrypt php-mysql php-process php-snmp php-xml php-zip

เปิดไฟล์การกำหนดค่าที่โหลดโดย PHP ในตัวแก้ไข

sudo nano /etc/php.ini

ค้นหาบรรทัดต่อไปนี้ยกเลิกหมายเหตุและเปลี่ยนค่าตามที่แสดง

;cgi.fix_pathinfo=1
memory_limit = 128M
;date.timezone =

ใช้ค่าเหล่านี้แทนแทนที่Asia/Kolkataด้วยเขตเวลาท้องถิ่นของคุณ

cgi.fix_pathinfo=0
memory_limit = -1
date.timezone = Asia/Kolkata

คุณจะต้องเปลี่ยนเขตเวลาของระบบด้วยการเรียกใช้คำสั่งต่อไปนี้

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

ตอนนี้เปิดไฟล์การกำหนดค่า PHP-FPM

sudo nano /etc/php-fpm.d/www.conf

ค้นหาบรรทัดต่อไปนี้

listen = 127.0.0.1:9000

แทนที่ด้วยบรรทัดต่อไปนี้

listen = /var/run/php-fpm/php-fpm.sock

โดยค่าเริ่มต้น PHP-FPM ถูกกำหนดค่าสำหรับผู้ใช้เว็บเซิร์ฟเวอร์ Apache nginxเปลี่ยนผู้ใช้สามารถ

user = nginx
group = nginx

นอกจากนี้ไม่ใส่หมายเหตุบรรทัดต่อไปนี้

listen.owner = nobody
listen.group = nobody

บันทึกไฟล์และออกจากตัวแก้ไข เริ่มต้น PHP-FPM ใหม่และเปิดใช้งานเมื่อเริ่มต้นระบบ

sudo systemctl restart php-fpm
sudo systemctl enable php-fpm

ตั้งค่าความเป็นเจ้าของที่เหมาะสมให้กับไฟล์ซ็อกเก็ต

sudo chown nginx:nginx /var/run/php-fpm/php-fpm.sock

ติดตั้ง MariaDB

MariaDB เป็นทางแยกของ MySQL เพิ่มที่เก็บ MariaDB ลงในระบบของคุณ ที่yumเก็บเริ่มต้นมี MariaDB รุ่นเก่ากว่า

echo "[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1" | sudo tee /etc/yum.repos.d/mariadb.repo

ติดตั้ง MariaDB

sudo yum -y install mariadb mariadb-server

ตอนนี้เปิดไฟล์การตั้งค่า MySQL

sudo nano /etc/my.cnf

เพิ่มบรรทัดต่อไปนี้ในตอนท้ายของบล็อก

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

รีสตาร์ท MariaDB และเปิดใช้งานโดยอัตโนมัติเมื่อเริ่มต้นระบบ

sudo systemctl restart mariadb
sudo systemctl enable mariadb

ก่อนที่จะกำหนดค่าฐานข้อมูลคุณจะต้องรักษาความปลอดภัย MariaDB ก่อน

sudo mysql_secure_installation

คุณจะถูกขอรหัสผ่านรูต MariaDB ปัจจุบัน ตามค่าเริ่มต้นจะไม่มีรหัสผ่านรูทในการติดตั้ง MariaDB ใหม่ กดปุ่ม " Enter" เพื่อดำเนินการต่อ ตั้งรหัสผ่านที่คาดเดายากสำหรับrootผู้ใช้เซิร์ฟเวอร์ MariaDB ของคุณและตอบ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 yum -y install cronie fping git ImageMagick jwhois mtr MySQL-python net-snmp net-snmp-utils nmap  python-memcached rrdtool

เพิ่มผู้ใช้ที่ไม่มีสิทธิ์ใหม่สำหรับแอปพลิเคชัน LibreNMS

sudo useradd librenms -d /opt/librenms -M -r
sudo usermod -a -G librenms nginx

LibreNMS สามารถติดตั้งได้โดยตรงโดยการโคลนที่เก็บ Github

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

แก้ไขความเป็นเจ้าของ

sudo chown librenms:librenms -R /opt/librenms

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 nano /etc/cron.d/librenms

เติมไฟล์ด้วยข้อความต่อไปนี้

33   */6  * * *   librenms    /opt/librenms/cronic /opt/librenms/discovery-wrapper.py 1
*/5  *    * * *   librenms    /opt/librenms/discovery.php -h new >> /dev/null 2>&1
*/5  *    * * *   librenms    /opt/librenms/cronic /opt/librenms/poller-wrapper.py 16
15   0    * * *   librenms    /opt/librenms/daily.sh >> /dev/null 2>&1
*    *    * * *   librenms    /opt/librenms/alerts.php >> /dev/null 2>&1
*/5  *    * * *   librenms    /opt/librenms/poll-billing.php >> /dev/null 2>&1
01   *    * * *   librenms    /opt/librenms/billing-calculate.php >> /dev/null 2>&1
*/5  *    * * *   librenms    /opt/librenms/check-services.php >> /dev/null 2>&1

รีสตาร์ทเซอร์วิส cron daemon

sudo systemctl restart crond

ตั้งค่าlogrotateเพื่อให้ไฟล์บันทึกถูกรีเฟรชโดยอัตโนมัติเมื่อเวลาผ่านไป

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

ในที่สุดตั้งค่าความเป็นเจ้าของและสิทธิ์ที่เหมาะสม

sudo chown -R librenms:nginx /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 ซึ่งเป็นแอปพลิเคชันไคลเอนต์สำหรับ Let's Encrypt CA

sudo yum -y install certbot

ก่อนที่คุณจะสามารถขอใบรับรองคุณจะต้องอนุญาตให้ใช้พอร์ต80และ443หรือมาตรฐานHTTPและHTTPSบริการผ่านไฟร์วอลล์

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload

หมายเหตุ : ในการรับใบรับรองจาก Let's Encrypt CA โดเมนที่จะสร้างใบรับรองนั้นจะต้องชี้ไปที่เซิร์ฟเวอร์ หากไม่มีให้ทำการเปลี่ยนแปลงที่จำเป็นกับระเบียน DNS ของโดเมนและรอให้ DNS เผยแพร่ก่อนทำการขอใบรับรองอีกครั้ง Certbot ตรวจสอบอำนาจโดเมนก่อนที่จะให้ใบรับรอง

สร้างใบรับรอง SSL:

sudo certbot certonly --webroot -w /usr/share/nginx/html -d nms.example.com

ใบรับรองที่สร้างขึ้นมีแนวโน้มที่จะถูกเก็บไว้ใน/etc/letsencrypt/live/nms.example.com/ไดเรกทอรี ใบรับรอง SSL จะถูกเก็บไว้เป็นและคีย์ส่วนตัวจะถูกเก็บไว้เป็นfullchain.pemprivkey.pem

ลองเข้ารหัสใบรับรองหมดอายุใน 90 วันดังนั้นขอแนะนำให้ตั้งค่าการต่ออายุอัตโนมัติสำหรับใบรับรองโดยใช้งาน cron

เปิดไฟล์งาน cron

sudo crontab -e

เพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์

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

งาน cron ข้างต้นจะทำงานทุกวันจันทร์เวลา 5.30 น. ตามเวลาท้องถิ่น หากใบรับรองหมดอายุเนื่องจากหมดอายุใบรับรองนั้นจะถูกต่ออายุใหม่โดยอัตโนมัติ

สร้างโฮสต์เสมือนใหม่

sudo nano /etc/nginx/conf.d/nms.example.com.conf

เติมไฟล์

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:/var/run/php-fpm/php-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
 }

แทนที่nms.example.comด้วยโดเมนจริงของคุณในการกำหนดค่าข้างต้น

รีสตาร์ท Nginx

sudo chown nginx:nginx /var/lib/php/session
sudo systemctl restart nginx

การติดตั้งโดยใช้ WebUI

เพื่อสิ้นสุดการติดตั้งให้เปิดhttps://nms.example.comเบราว์เซอร์ที่คุณชื่นชอบ คุณจะเห็นความต้องการมีความพึงพอใจ ระบุรายละเอียดฐานข้อมูลของคุณและสร้างบัญชีผู้ดูแลระบบใหม่ เมื่อติดตั้งแล้วคุณจะได้รับข้อความเพื่อตรวจสอบการติดตั้ง คลิกที่ลิงค์และเข้าสู่ระบบโดยใช้บัญชีผู้ดูแลระบบ คุณจะเห็นว่าทุกอย่างยกเว้น " Poller" มีOkสถานะ ""

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

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

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

เมื่อเพิ่มอุปกรณ์แล้วคุณสามารถดูรายละเอียดได้โดยไปที่Devicesแท็บ ""

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

คุณสามารถเพิ่มอุปกรณ์เพิ่มเติมในแอปพลิเคชั่น 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