PHP, sebagai bahasa skrip sumber terbuka, mempunyai sejarah lebih daripada 20 tahun. Ia digunakan terutamanya untuk pembangunan web, terutamanya untuk skrip sebelah pelayan. PHP digunakan secara meluas dan ia digunakan untuk membina banyak aplikasi web dan laman web berskala besar.
Prometheus ialah sistem pemantauan sumber terbuka dan pangkalan data siri masa. Tujuan utamanya ialah untuk mengumpul dan menyimpan data metrik sistem dan aplikasi serta menyediakan alat pertanyaan dan visualisasi. Oleh kerana Prometheus sangat berskala dan fleksibel, ia telah menjadi salah satu alat pemantauan paling popular dalam komuniti sumber terbuka.
Artikel ini akan menyediakan pembaca dengan panduan pengenalan PHP, memperkenalkan pengetahuan asas dan kes praktikal PHP dan Prometheus.
- Pengetahuan asas PHP
Jika anda seorang pemula, anda perlu mengetahui asas PHP terutamanya sintaks dan penggunaan pembolehubah. Berikut ialah beberapa konsep asas:
1.1 sintaks PHP
PHP menggunakan tag untuk mengenal pasti blok kod: . Teg ini boleh muncul di mana-mana dan oleh itu boleh dibenamkan dalam fail teks lain (seperti HTML). Secara umumnya, fail PHP hendaklah berakhir dengan sambungan fail .php.
Dalam PHP, pembolehubah bermula dengan tanda $. Pembolehubah PHP boleh menyimpan nombor, teks atau jenis data lain.
1.2 jenis pembolehubah PHP dan skop
Jenis pembolehubah dalam PHP termasuk nilai Boolean, integer, nombor titik terapung, rentetan, tatasusunan, objek dan nilai nol (null). Skop utama pembolehubah PHP adalah seperti berikut:
- Pembolehubah setempat: diisytiharkan di dalam fungsi
- Pembolehubah global: diisytiharkan di luar fungsi (atau menggunakan kata kunci global
Pembolehubah statik: diisytiharkan di dalam fungsi tetapi kekal tidak berubah antara panggilan fungsi. -
1.3 struktur kawalan PHP
Terdapat pelbagai struktur kawalan dalam PHP (seperti gelung if, for dan while), yang boleh digunakan untuk melaksanakan aliran kawalan bersyarat penyataan dan penyataan gelung . Berikut ialah contoh:
<?php
$x = 10;
if ($x > 5) {
echo "x is greater than 5";
} else {
echo "x is less than or equal to 5";
}
?>
Salin selepas log masuk
Dalam contoh ini, jika nilai pembolehubah $x lebih besar daripada 5, blok kod akan mencetak "x lebih besar daripada 5".
Asas Prometheus
Prometheus ialah sistem pemantauan dan pangkalan data siri masa, terutamanya digunakan untuk mengumpul dan menyimpan data penunjuk sistem dan aplikasi. Ia terdiri daripada bahagian pelayan dan bahagian pelanggan. Berikut adalah beberapa konsep asas:
2.1 Penunjuk Prometheus
Prometheus menggunakan penunjuk untuk mewakili data yang perlu dipantau. Penunjuk terdiri daripada atribut berikut:
Nama: nama penunjuk, terdiri daripada huruf, nombor dan garis bawah Label: pengenalan teks penunjuk, digunakan untuk membezakan; penunjuk daripada Penunjuk lain dibezakan; Nilai (nilai): nilai angka tulen penunjuk.
Berikut ialah penunjuk contoh:
http_requests_total{method="GET",handler="/api/v1/users"}
Salin selepas log masuk
Dalam contoh ini, nama penunjuk ialah http_requests_total, label ialah kaedah dan pengendali, dan nilai ialah jumlah bilangan permintaan.
2.2 Pengumpul Prometheus
Prometheus menggunakan pengumpul untuk mendapatkan data penunjuk. Pengumpul boleh menjadi aplikasi atau komponen perisian tengah. Prometheus mentakrifkan beberapa antara muka pengumpul standard, seperti Pengeksport Nod dan Pengeksport Kotak Hitam.
2.3 PromQL
Bahasa Pertanyaan Prometheus (PromQL) digunakan untuk menanya dan mengagregat data penunjuk. Ia membolehkan pengguna membuat pertanyaan yang kompleks dan mengembalikan hasil dalam format yang mudah difahami. Contohnya:
http_requests_total{method="GET",handler="/api/v1/users"}[5m]
Salin selepas log masuk
Contoh ini menanyakan jumlah permintaan GET /api/v1/users dalam 5 minit terakhir.
Penyepaduan PHP dan Prometheus
Penyepaduan Prometheus dengan PHP membolehkan pembangun memantau dan mengoptimumkan prestasi dan kesihatan aplikasi web mereka. Menggunakan Prometheus, anda boleh memantau masa tindak balas, bilangan permintaan, dsb. Berikut ialah beberapa kaedah dan contoh penyepaduan:
3.1 Pustaka klien Prometheus
Komuniti pembangun PHP telah menyediakan beberapa perpustakaan untuk membantu menggunakan Prometheus. Yang paling popular ialah perpustakaan php-prometheus-client. Pembangun boleh menggunakan perpustakaan ini untuk menambahkan metrik Prometheus pada aplikasi PHP. Contohnya:
require 'vendor/autoload.php';
use PrometheusCollectorRegistry;
use PrometheusCounter;
$registry = new CollectorRegistry();
$requests = new Counter('http_requests_total', 'The total number of HTTP requests.', ['method', 'handler'], $registry);
$requestCount = $requests->inc(['GET', '/api/v1/users']);
Salin selepas log masuk
Contoh ini menggunakan kelas Counter dalam perpustakaan php-prometheus-client, yang boleh digunakan untuk mengira bilangan permintaan HTTP.
3.2 Prometheus Push Gateway
Satu lagi alatan untuk menyepadukan aplikasi PHP ke dalam Prometheus ialah Push Gateway. Push Gateway membenarkan aplikasi PHP untuk menolak data metrik ke contoh Prometheus terpusat. Alat ini juga merupakan aplikasi kendiri yang boleh menanyakan data menggunakan bahasa pertanyaan PromQL.
Di atas adalah beberapa pengetahuan pengenalan PHP dan Prometheus. Sebaik sahaja anda sudah biasa dengan konsep asas ini, anda akan dapat menggunakan Prometheus untuk memantau metrik prestasi aplikasi PHP anda dan mengoptimumkannya.
Atas ialah kandungan terperinci Bermula dengan PHP: PHP dan Prometheus. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!