Pantau Peranti Anda Menggunakan LibreNMS di Ubuntu 16.04

LibreNMS adalah sistem pengawasan rangkaian sumber terbuka yang lengkap. Ia menggunakan SNMP untuk mendapatkan data dari pelbagai peranti. Pelbagai peranti disokong dalam LibreNMS seperti Cisco, Linux, FreeBSD, Juniper, Brocade, Foundry, HP dan banyak lagi. Ia menyokong pelbagai mekanisme pengesahan dan menyokong pengesahan dua faktor. Ia memiliki sistem peringatan yang dapat disesuaikan yang dapat memberi amaran kepada pentadbir rangkaian melalui e-mel, IRC atau slack.

Prasyarat

  • Contoh pelayan Vultr Ubuntu 16.04.
  • Pengguna sudo .

Untuk tutorial ini, kami akan gunakan nms.example.com sebagai nama domain menunjuk ke arah contoh Vultr. Sila pastikan untuk menggantikan semua kejadian nama domain contoh dengan yang sebenarnya.

Kemas kini sistem asas anda menggunakan panduan Cara Kemaskini Ubuntu 16.04 . Setelah sistem anda diperbaharui, teruskan memasang dependensi.

Pasang Nginx dan PHP

Bahagian depan LibreNMS ditulis dalam PHP, oleh itu kita perlu memasang pelayan web dan PHP. Dalam tutorial ini, kami akan memasang Nginx bersama-sama dengan PHP 7.2 untuk mendapatkan keselamatan dan prestasi maksimum.

Pasang Nginx.

sudo apt -y install nginx

Mula Nginx dan aktifkannya bermula secara automatik.

sudo systemctl start nginx
sudo systemctl enable nginx

Tambah dan dayakan repositori Remi, sebagai repositori lalai lalai mengandungi versi PHP yang lebih lama.

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

Pasang versi PHP 7.2 bersama-sama dengan modul yang diperlukan oleh 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

Buka fail konfigurasi yang dimuatkan dalam editor.

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

Cari baris berikut.

;cgi.fix_pathinfo=1
;date.timezone =

Uncomment dan gunakan nilai-nilai ini, ganti Asia/Kolkata dengan zon waktu setempat anda.

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

Anda juga perlu mengubah zon waktu sistem dengan menjalankan perintah berikut.

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

Mulakan semula PHP-FPM.

sudo systemctl restart php7.2-fpm

Pasang MariaDB

MariaDB adalah open source fork MySQL. Tambahkan repositori MariaDB ke dalam sistem anda, sebagai repositori Ubuntu lalai mengandungi versi lama dari 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

Pasang MariaDB. Semasa pemasangan, pemasang akan meminta kata laluan rootpengguna MySQL . Berikan kata laluan yang kuat.

sudo apt -y install mariadb-server

Sebelum kita mula menggunakan MariaDB, kita perlu menyesuaikan konfigurasi sedikit. Buka fail konfigurasi.

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

Tambah kod berikut pada akhir fail.

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

Restart MariaDB dan aktifkannya secara automatik pada waktu boot.

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

Sebelum mengkonfigurasi pangkalan data, anda perlu mengamankan contoh MariaDB.

sudo mysql_secure_installation

Anda akan diminta kata laluan root MariaDB semasa, dan kemudian diminta untuk menukar rootkata laluan. Oleh kerana kami telah menetapkan kata laluan yang kuat untuk rootpengguna semasa pemasangan, langkaunya dengan menjawab " N". Untuk semua soalan lain, jawapan " Y". Soalan yang diajukan adalah jelas.

Log masuk ke shell MySQL sebagai root.

mysql -u root -p

Sediakan kata laluan untuk pengguna root MariaDB untuk log masuk. Jalankan pertanyaan berikut untuk membuat pangkalan data dan pengguna pangkalan data untuk pemasangan 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;

Anda boleh mengganti nama pangkalan data librenms dan nama pengguna librenms mengikut pilihan anda. Sila pastikan anda menukar StrongPassword kata laluan yang sangat kuat.

Pasang LibreNMS

Selain dari kebergantungan di atas, LibreNMS memerlukan sedikit lagi pergantungan.

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

Tambahkan pengguna baru untuk aplikasi LibreNMS.

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

LibreNMS boleh dipasang secara langsung dengan mengklonkan repositori Githubnya.

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

Tukar hak milik.

sudo chown librenms:librenms -R /opt/librenms

Pasang kebergantungan PHP.

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

LibreNMS bergantung pada SNMP untuk banyak tugas. Oleh kerana kami sudah memasang SNMP, salin contoh fail konfigurasi ke lokasinya.

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

Buka fail konfigurasi di editor.

sudo nano /etc/snmp/snmpd.conf

Cari baris ini.

com2sec readonly  default         RANDOMSTRINGGOESHERE

Edit teks RANDOMSTRINGGOESHERE dan ganti rentetan komuniti dengan rentetan pilihan anda. Sebagai contoh.

com2sec readonly  default         my-org

Ingat rentetan kerana ia akan diperlukan kemudian apabila kita menambah peranti SNMP pertama.

SNMP juga memerlukan maklumat mengenai versi pengedaran. Muat turun dan pasang skrip untuk mencari versi pengedaran.

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

Mulakan perkhidmatan daemon SNMP dan aktifkan secara automatik pada waktu boot.

sudo systemctl enable snmpd
sudo systemctl restart snmpd

Sekarang anda perlu menambahkan beberapa entri crontab untuk menjalankan tugas yang dijadualkan. Buat fail kerja cron baru.

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

Mulakan semula perkhidmatan daemon cron.

sudo systemctl restart cron

Persediaan logrotate supaya fail log akan disegarkan secara automatik dari semasa ke semasa.

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

Akhirnya, tentukan pemilikan dan keizinan yang sesuai.

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

Konfigurasi SSL dan Nginx VHost

Log masuk dan maklumat lain yang dihantar melalui antara muka web LibreNMS tidak dijamin sekiranya sambungan tidak disulitkan dengan SSL. Kami akan mengkonfigurasi Nginx untuk menggunakan SSL yang dijana dengan Let's Encrypt SSL percuma.

Tambah repositori Certbot.

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

Pasang Certbot, iaitu aplikasi klien untuk Let's Encrypt CA.

sudo apt -y install certbot

Catatan : Untuk mendapatkan sijil dari Let's Encrypt CA, domain yang akan dibuat sijil mesti diarahkan ke pelayan. Sekiranya tidak, buat perubahan yang diperlukan pada rekod DNS domain dan tunggu DNS disebarkan sebelum membuat permintaan sijil lagi. Certbot memeriksa pihak berkuasa domain sebelum menyediakan sijil.

Menjana sijil SSL.

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

Sijil yang dihasilkan kemungkinan akan disimpan dalam /etc/letsencrypt/live/nms.example.com/direktori. Sijil SSL akan disimpan sebagai fullchain.pem dan kunci peribadi akan disimpan sebagai privkey.pem.

Mari Encrypt sijil tamat dalam 90 hari, oleh itu disarankan untuk membuat pembaharuan automatik untuk sijil menggunakan cron job.

Buka fail kerja cron.

sudo crontab -e

Tambahkan garisan berikut pada akhir fail.

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

Kerja cron di atas akan dijalankan setiap Isnin pada pukul 5:30 waktu tempatan. Sekiranya sijil perlu tamat tempoh, ia akan diperbaharui secara automatik.

Buat tuan rumah maya yang baru.

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

Isi fail.

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;
    }
 }

Gantikan nms.example.com dengan domain sebenar anda dalam konfigurasi di atas.

Aktifkan konfigurasi yang baru dibuat.

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

Mulakan semula Nginx.

sudo systemctl restart nginx

Pemasangan menggunakan WebUI

Untuk menyelesaikan pemasangan, buka https://nms.example.com penyemak imbas kegemaran anda. Anda akan melihat syarat-syarat yang dipenuhi. Berikan maklumat pangkalan data anda dan buat akaun pentadbiran yang baru. Setelah dipasang, anda akan mendapat mesej untuk mengesahkan pemasangan. Klik pada pautan dan log masuk menggunakan akaun pentadbir. Anda harus melihat bahawa semua kecuali " Poller" mempunyai Okstatus "".

Pantau Peranti Anda Menggunakan LibreNMS di Ubuntu 16.04

Sekarang, klik pada pautan untuk menambah peranti. Pada Add Deviceantara muka " ", berikan nama host sebagai hos tempatan dan tinggalkan segala yang ada. Sediakan rentetan komuniti anda dalam bidang komuniti. Ini mestilah tali yang sama dengan yang anda berikan snmpd.confsemasa konfigurasi SNMP.

Pantau Peranti Anda Menggunakan LibreNMS di Ubuntu 16.04

Setelah peranti ditambahkan, anda dapat melihat perinciannya dengan pergi ke Devicestab "". Begitu juga, anda boleh menambahkan lebih banyak peranti ke dalam aplikasi LibreNMS untuk pemantauan "sepanjang masa".



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut