Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP melaksanakan alat pemantauan sistem Ganglia sumber terbuka

PHP melaksanakan alat pemantauan sistem Ganglia sumber terbuka

王林
王林asal
2023-06-18 13:07:401715semak imbas

Dengan perkembangan pesat pengkomputeran awan dan teknologi data besar, perusahaan semakin memberi perhatian kepada pemantauan dan pengurusan pelayan. Ganglia ialah alat pemantauan sistem sumber terbuka yang boleh membantu perusahaan memantau pelayan dalam masa nyata dan meningkatkan kestabilan dan kebolehpercayaan pelayan. Bahasa PHP boleh menggunakan dan menggunakan Ganglia dengan cepat dan mudah Artikel ini akan memperkenalkan cara PHP melaksanakan alat pemantauan sistem Ganglia sumber terbuka.

Pengenalan Ganglia

Ganglia ialah alat pemantauan sistem teragih yang boleh melakukan pemantauan masa nyata dan analisis data pelayan. Ia menggunakan gambarajah topologi berstruktur pokok untuk menerangkan hubungan antara sistem dan rangkaian, dan menyokong pelbagai penunjuk ukuran yang berbeza. Ganglia boleh digunakan dalam persekitaran kluster yang besar untuk memantau pelbagai perubahan status pelayan, seperti penggunaan CPU, penggunaan memori, trafik rangkaian, dsb.

Pemasangan dan konfigurasi Ganglia

Pemasangan dan konfigurasi Ganglia agak mudah dan memerlukan pemasangan pakej perisian berikut:

  1. teras ganglia: Komponen teras Ganglia , termasuk gmond, gmetad, dll.
  2. ganglia-webfrontend: Antara muka pengurusan web Ganglia.
  3. gmetrik: Alat metrik Ganglia.

Selepas memasang pakej perisian ini, anda boleh mengkonfigurasi Ganglia. Mula-mula, konfigurasikan perkhidmatan gmetad pada nod induk Ganglia dan konfigurasikannya dalam fail /etc/ganglia/gmetad.conf, yang terutamanya termasuk:

data_source "Ganglia Cluster" localhost

data_source di sini Menunjukkan sumber data pemantauan, yang boleh menjadi nama kluster atau alamat IP kad rangkaian mewakili nod utama Ganglia. Kemudian konfigurasikan perkhidmatan gmond dalam fail /etc/ganglia/gmond.conf, yang terutamanya termasuk:

cluster {
name = "Ganglia Cluster"
owner = "localhost"
latlong = "unspecified"
url = "unspecified"
}
udp_send_channel {
hos = 127.0.0.1
port = 8649
ttl = 1
udp_rec
port = 8649
}
tcp_accept_channel {
port = 8649
}

Kluster di sini mewakili nama kluster, udp_send_channel mewakili saluran penghantaran data dan udpnnel_re mewakili Saluran penerima data, tcp_accept_channel mewakili saluran sambungan TCP. Akhir sekali, mulakan perkhidmatan gmond pada nod anak Ganglia.

PHP melaksanakan pemantauan Ganglia

Kini kami dapat melihat data pemantauan Ganglia, tetapi jika kami ingin memaparkan data ini kepada pengguna, kami memerlukan antara muka hadapan Web. Ganglia datang dengan antara muka pengurusan web, tetapi ia memerlukan konfigurasi dan penggunaan manual, yang agak menyusahkan.

Untuk memudahkan penggunaan, kami boleh menggunakan bahasa PHP untuk melaksanakan antara muka hadapan web Ganglia. PHP ialah bahasa skrip sebelah pelayan yang ringan yang memudahkan untuk membina aplikasi web dinamik. Seterusnya kami akan memperkenalkan cara menggunakan PHP untuk melaksanakan antara muka pemantauan Ganglia.

Pertama, kita perlu memasang pelayan PHP dan Apache. Selepas pemasangan selesai, salin antara muka pengurusan web Ganglia ke direktori pelayan web Apache, seperti /var/www/html/ganglia. Seterusnya, konfigurasikan sokongan PHP dalam pelayan Apache dan tambahkan konfigurasi berikut pada /etc/httpd/conf/httpd.conf:

AddType application/x-httpd-php .php

AddHandler php7-script. php

Konfigurasi AddType dan AddHandler di sini bermaksud menukar jenis MIME fail .php kepada application/x-httpd-php dan menetapkan pengendali fail .php kepada PHP.

Kemudian, kita perlu menulis kod PHP untuk melaksanakan antara muka pemantauan Ganglia. Dalam antara muka pengurusan web Ganglia, paparan data dilaksanakan oleh RRDtool, dan struktur data RRDtool agak istimewa dan memerlukan fungsi khusus untuk dibaca dan dihuraikan. Untuk butiran, sila rujuk kepada dokumentasi rasmi RRDtool.

Hanya rangka kerja kod PHP disediakan di sini Kod sebenar perlu ditukar mengikut keperluan:

$hostname = $_GET['h'];
$ metricname = $_GET['m'];
$starttime = strtotime('-24 jam');
$endtime = time();
$width = 800;
$height = 200 ;
$img_url = "http://localhost/ganglia/graph.php?c=Test_Cluster&h=$hostname&r=hour&z=medium&m=$metricname&s=$starttime&e=$endtime&x= $width&y=$ height";
?>
Kod di atas menjana carta pemantauan yang sepadan berdasarkan nama nod dan nama metrik.

Ringkasan

Alat pemantauan sistem Ganglia sumber terbuka dilaksanakan melalui PHP, yang boleh memudahkan perusahaan menjalankan pemantauan masa nyata dan analisis data pelayan. Penyelesaian ini mudah untuk digunakan, mudah diselenggara dan dikembangkan serta boleh membantu perusahaan mengurus pelayan dengan lebih baik serta meningkatkan kebolehpercayaan dan kestabilan sistem.

Atas ialah kandungan terperinci PHP melaksanakan alat pemantauan sistem Ganglia sumber terbuka. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn