Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
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.
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 Mengemas kini CentOS 7 . Setelah sistem anda diperbaharui, teruskan memasang dependensi.
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/Kolkata
dengan 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
MariaDB adalah garpu MySQL. Tambahkan repositori MariaDB ke dalam sistem anda. yum
Repositori 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 root
pengguna 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 librenms
dan nama pengguna librenms
mengikut pilihan anda. Sila pastikan anda menukar StrongPassword
kata laluan yang sangat kuat.
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 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 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 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: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
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 80
dan 443
, atau standard HTTP
dan HTTPS
perkhidmatan 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.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/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.com
dengan domain sebenar anda dalam konfigurasi di atas.
Mulakan semula Nginx.
sudo chown nginx:nginx /var/lib/php/session
sudo systemctl restart nginx
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 akan melihat bahawa semua perkara kecuali " Poller
" mempunyai Ok
status "".
Sekarang, klik pada pautan untuk menambah peranti. Pada Add Device
antara 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.conf
semasa konfigurasi SNMP.
Setelah peranti ditambahkan, anda dapat melihat perinciannya dengan pergi ke Devices
tab "".
Begitu juga, anda boleh menambahkan lebih banyak peranti ke dalam aplikasi LibreNMS untuk pemantauan "sepanjang masa".
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
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'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
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 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?
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.
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!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
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