Pantau Peranti Anda Menggunakan LibreNMS di CentOS 7

LibreNMS adalah sistem pengawasan rangkaian sumber terbuka yang lengkap. Ia menggunakan SNMPuntuk 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 server Vultr CentOS 7.
  • Pengguna sudo .

Untuk tutorial ini, kami akan gunakan nms.example.comsebagai 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 Mengemas kini CentOS 7 . Setelah sistem anda diperbaharui, teruskan memasang dependensi.

Pasang Nginx dan PHP

Bahagian depan LibreNMS pada dasarnya 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 yum -y install nginx

Mula Nginx dan aktifkannya bermula secara automatik.

sudo systemctl start nginx
sudo systemctl enable nginx

Tambahkan dan aktifkan repositori Remi, kerana repositori YUM lalai mengandungi versi PHP yang lebih lama.

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

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

Buka fail konfigurasi yang dimuat oleh PHP dalam penyunting.

sudo nano /etc/php.ini

Cari baris berikut, tidak puas hati dan ubah nilainya seperti yang ditunjukkan.

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

Gunakan nilai ini sebagai gantinya, ganti Asia/Kolkatadengan zon waktu tempatan anda.

cgi.fix_pathinfo=0
memory_limit = -1
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

Sekarang buka fail konfigurasi PHP-FPM.

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

Cari baris berikut.

listen = 127.0.0.1:9000

Gantikannya dengan baris berikut.

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

Secara lalai, PHP-FPM dikonfigurasikan untuk pengguna pelayan web Apache. Tukar pengguna menjadi nginx.

user = nginx
group = nginx

Selanjutnya, tanggalkan baris berikut.

listen.owner = nobody
listen.group = nobody

Simpan fail dan keluar dari editor. Mulakan semula PHP-FPM dan aktifkan pada masa boot.

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

Tetapkan pemilikan yang sesuai ke fail soket.

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

Pasang MariaDB

MariaDB adalah garpu MySQL. Tambahkan repositori MariaDB ke dalam sistem anda. yumRepositori lalai mengandungi versi lama dari 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

Pasang MariaDB.

sudo yum -y install mariadb mariadb-server

Sekarang, buka fail konfigurasi MySQL.

sudo nano /etc/my.cnf

Tambahkan baris berikut di hujung blok.

[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
sudo systemctl enable mariadb

Sebelum mengkonfigurasi pangkalan data, anda perlu melindungi MariaDB terlebih dahulu.

sudo mysql_secure_installation

Anda akan diminta kata laluan root MariaDB semasa. Secara lalai, tiada kata laluan root dalam pemasangan MariaDB segar. Tekan kekunci " Enter" untuk meneruskan. Tetapkan kata laluan yang kuat untuk rootpengguna pelayan MariaDB anda dan jawab " Y" kepada semua soalan lain yang diminta. Soalan yang diajukan adalah jelas.

Log masuk ke shell MySQL sebagai root.

mysql -u root -p

Berikan 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 librenmsdan nama pengguna librenmsmengikut pilihan anda. Sila pastikan anda menukar StrongPasswordkata laluan yang sangat kuat.

Pasang LibreNMS

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

sudo yum -y install cronie fping git ImageMagick jwhois mtr MySQL-python net-snmp net-snmp-utils nmap  python-memcached rrdtool

Tambahkan pengguna baru untuk aplikasi LibreNMS.

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

LibreNMS boleh dipasang secara langsung dengan mengklonkan repositori Githubnya.

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

Betulkan hak milik.

sudo chown librenms:librenms -R /opt/librenms

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

Isi fail dengan teks berikut.

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

Mulakan semula perkhidmatan daemon cron.

sudo systemctl restart crond

Persediaan logrotatesupaya 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: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

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 dihasilkan dengan Let's Encrypt SSL percuma.

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

sudo yum -y install certbot

Sebelum anda dapat meminta sijil, anda perlu membenarkan port 80dan 443, atau standard HTTPdan HTTPSperkhidmatan melalui firewall.

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

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.

Hasilkan sijil SSL:

sudo certbot certonly --webroot -w /usr/share/nginx/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.pemdan 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/conf.d/nms.example.com.conf

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

Gantikan nms.example.comdengan domain sebenar anda dalam konfigurasi di atas.

Mulakan semula Nginx.

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

Pemasangan menggunakan WebUI

Untuk menyelesaikan pemasangan, buka https://nms.example.compenyemak 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 akan melihat bahawa semua perkara kecuali " Poller" mempunyai Okstatus "".

Pantau Peranti Anda Menggunakan LibreNMS di CentOS 7

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 CentOS 7

Setelah peranti ditambahkan, anda dapat melihat perinciannya dengan pergi ke Devicestab "".

Pantau Peranti Anda Menggunakan LibreNMS di CentOS 7

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