Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  [Pemantauan Nightingale] Kali pertama bertemu Nightingale, masih kuat!

[Pemantauan Nightingale] Kali pertama bertemu Nightingale, masih kuat!

PHPz
PHPzke hadapan
2023-06-09 10:01:211232semak imbas

[Pemantauan Nightingale] Kali pertama bertemu Nightingale, masih kuat!

Kata Pendahuluan

Kebolehmerhatian adalah sakit kepala bagi kebanyakan syarikat kecil dan sederhana, yang kebanyakannya nyata dalam perkara berikut aspek :

  1. Perisian sumber terbuka yang berbeza diperlukan untuk dipasang untuk mencapai fungsi yang berbeza, seperti menggunakan Skywalking untuk melaksanakan pemantauan pautan, menggunakan ELK untuk melaksanakan pengumpulan dan pemantauan log, dan menggunakan Grafana+Prometheus untuk melaksanakan penunjuk pemantauan.
  2. Di belakang setiap perisian sumber terbuka adalah sistem bebas antara satu sama lain sebelum ini (Grafana Family Bucket telah digabungkan).
  3. Pulau data, pautan, log dan penunjuk semuanya berasingan dan tiada sambungan diwujudkan. Penyelesaian pada masa ini di pasaran adalah sama ada produk komersial atau dibangunkan sendiri.

Protagonis artikel ini sebenarnya tidak bersatu Pada peringkat semasa, komponen sumber terbuka yang berbeza masih digunakan untuk melaksanakan fungsi yang berbeza, N9e boleh melihatnya pada panel utama yang sama sambungan antara data Masih belum berlaku.

Kalau begitu kenapa anda masih perlu belajar N9e?

Kerana ke sanalah ia menuju.

Seperti yang dinyatakan di atas, Grafana sudah melakukannya Berdasarkan gabungan Grafana+Loki+Tempo+Prometheus, pemantauan, penunjuk, dan pautan boleh dikaitkan Apakah perbezaan antara N9e dan Grafana?

Dalam kata-kata Encik Qin: Grafana lebih baik dalam mengurus panel pemantauan, dan N9e lebih baik dalam mengurus peraturan penggera.

N9e boleh menghantar peraturan penggera yang berbeza kepada kumpulan dan kumpulan perniagaan yang berbeza untuk mengelak daripada menjana sejumlah besar mesej penggera dalam satu kumpulan, yang akan membawa kepada kisah serigala yang menangis dari semasa ke semasa.

Setelah mengatakan semua itu, apakah rupa N9e?

Berikut ialah sistem yang telah saya gunakan.

[Pemantauan Nightingale] Kali pertama bertemu Nightingale, masih kuat!

Seperti yang anda lihat, pada panel ini, kami boleh melaksanakan:

  • Pengurusan penggera
  • Pertanyaan penunjuk siri masa
  • Analisis log
  • Penjejakan pautan
  • Penyembuhan diri penggera
  • Pengurusan kakitangan
  • ....

Dengan cara ini anda tidak perlu bertukar-tukar antara beberapa apl, yang pantas.

Seni Bina Sistem

Bercakap tentang seribu hingga sepuluh ribu, jika anda tidak memahami seni bina, ia akan menjadi sia-sia.

Sekarang mari kita lihat rupa seni bina N9e Hanya dengan memahami cara N9e berfungsi daripada logik seni bina akan memberi manfaat besar kepada kedua-dua penggunaan dan penyelenggaraan.

N9e terutamanya mempunyai penyelesaian penggunaan penumpuan pusat dan penyelesaian penggunaan hibrid tenggelam tepi, yang akan diterangkan di bawah.

Penyelesaian penggunaan tertumpu pusat

Gambar pertama:

[Pemantauan Nightingale] Kali pertama bertemu Nightingale, masih kuat!

Penyelesaian ini adalah untuk mewujudkan kluster N9e , data pemantauan wilayah lain dihantar ke kluster ini, yang memerlukan sambungan rangkaian yang baik antara kluster pusat dan wilayah lain.

Untuk gugusan pusat, ia merangkumi komponen berikut terutamanya:

  • MySQL: digunakan untuk menyimpan maklumat konfigurasi dan peristiwa penggera.
  • Redis: digunakan untuk menyimpan Token JWT, maklumat meta mesin dan data lain.
  • TSDB: pangkalan data siri masa, yang menyimpan penunjuk pemantauan.
  • N9e: perkhidmatan teras, memproses permintaan web dan menyediakan enjin penggera
  • LB: menyediakan fungsi beban untuk berbilang N9e.

Untuk Wilayah lain, anda hanya perlu menggunakan Categraf, yang akan menolak data pemantauan setempat ke gugusan pusat.

Seni bina ini dicirikan oleh kesederhanaan dan kos penyelenggaraan yang rendah. Premisnya ialah pautan rangkaian antara bilik komputer mestilah agak baik Jika rangkaian tidak baik, penyelesaian berikut mesti digunakan.

Penyelesaian penggunaan hibrid tenggelam tepi

[Pemantauan Nightingale] Kali pertama bertemu Nightingale, masih kuat!

Seni bina ini merupakan tambahan kepada penyelesaian penggunaan pusat, terutamanya untuk rangkaian Situasi buruk:

  1. Alihkan pangkalan data siri masa TSDB, get laluan pemajuan dan enjin penggera ke Wilayah tertentu dan biarkan Wilayah itu sendiri mengendalikannya. Walau bagaimanapun, Wilayah masih perlu mewujudkan sambungan degupan jantung dengan kluster pusat, dan pengguna masih boleh melihat maklumat pemantauan Wilayah lain melalui panel pemantauan kluster pusat.
  2. Jika anda sudah mempunyai Prometheus, anda juga boleh menyambung terus Prometheus sebagai sumber data.

Di dalam bilik komputer tepi, apabila menggunakan perpustakaan pemasaan, enjin penggera dan get laluan pemajuan, sila ambil perhatian bahawa enjin penggera perlu bergantung pada pangkalan data kerana peraturan penggera perlu disegerakkan dan gerbang pemajuan juga perlu bergantung pada pangkalan data kerana ia memerlukan Untuk mendaftarkan objek ke dalam pangkalan data, anda perlu membuka rangkaian yang berkaitan.

!! PS: Untuk penyelesaian ini, rangkaian itu sendiri tidak bagus, dan rangkaian perlu dibuka, mungkin Ia masih akan terjejas oleh masalah rangkaian.

Pengerahan mesin tunggal

Mengapa kita harus memilih penggunaan mesin tunggal di sini?

Sebenarnya, saya mahu menggunakan setiap komponen bersebelahan antara satu sama lain, yang akan membantu untuk memahami keseluruhan mod pengendalian N9e.

!! Petua: Saya menggunakan sistem Ubuntu 22.04.1 di sini

Pasang MySQL

!! Demi kelajuan, saya memasang Mariadb

# 更新镜像源
$ sudo apt-get update
# 更新软件
$ sudo apt-get upgrade
# 安装Mariabd
$ sudo apt-get install mariadb-server-10.6
yang akan bermula secara automatik selepas pemasangan selesai. Kemudian tetapkan kata laluan pengguna untuk pangkalan data.
# 连接数据库
$ sudo mysql
# 设置权限和密码
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '1234';
>flush privileges;

Pasang Redis

# 更新镜像源
$ sudo apt-get update
# 更新软件
$ sudo apt-get upgrade
# 安装Redis
$ sudo apt install redis-server

akan dimulakan secara automatik secara lalai.

Pasang TSDB

Terdapat banyak pilihan untuk TSDB pada N9e:

Prometheus

M3DB
  • VictoriaMetrics
  • InfluxDB
  • Thanos
  • Di sini saya memilih VictoriaMetrics.
  • # 下载二进制包
    $ wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.90.0/victoria-metrics-linux-amd64-v1.90.0.tar.gz
    # 解压
    $ tar xf victoria-metrics-linux-amd64-v1.90.0.tar.gz
    # 启动
    $ nohup ./victoria-metrics-prod &>victoria.log &
  • Perhatikan sama ada 8428 bermula.

Pasang N9e

# 下载最新版本的二进制包
$ wget https://github.com/ccfos/nightingale/releases/download/v6.0.0-ga.3/n9e-v6.0.0-ga.3-linux-amd64.tar.gz
# 解压
$ mkdir n9e
$ tar xf n9e-v6.0.0-ga.3-linux-amd64.tar.gz -C n9e/
# 检验目录如下
$ ll
total 35332
drwxrwxr-x7 jokerbai jokerbai 40964月 12 14:05 ./
drwxr-xr-x4 jokerbai jokerbai 40964月 12 14:05 ../
drwxrwxr-x3 jokerbai jokerbai 40964月 12 14:05 cli/
drwxrwxr-x 10 jokerbai jokerbai 40964月 12 14:05 docker/
drwxrwxr-x4 jokerbai jokerbai 40964月 12 14:09 etc/
drwxrwxr-x 20 jokerbai jokerbai 40964月 12 14:05 integrations/
-rwxr-xr-x1 jokerbai jokerbai 252805124月6 19:05 n9e*
-rwxr-xr-x1 jokerbai jokerbai 108380164月6 19:05 n9e-cli*
-rw-r--r--1 jokerbai jokerbai297844月6 19:04 n9e.sql
drwxrwxr-x6 jokerbai jokerbai 40964月 12 14:05 pub/

dan kemudian import pangkalan data N9e.
# 导入数据库
$ mysql -uroot -p <n9e.sql
Ubah suai fail konfigurasi N9e dalam fail etc/config.toml dalam direktori semasa.

[[Pushgw.Writers]]
# Url = "http://127.0.0.1:8480/insert/0/prometheus/api/v1/write"
Url = "http://127.0.0.1:8428/api/v1/write"

Kemudian mulakan perkhidmatan N9e.

# 启动服务
$ nohup ./n9e &>n9e.log &
# 检测17000端口是否启动
$ ss -ntl | grep 17000
LISTEN 04096 *:17000*:*

Masukkan http://127.0.0.1:17000 dalam penyemak imbas, kemudian masukkan akar nama pengguna dan akar kata laluan.2020 untuk log masuk ke sistem.

Pasang Categraf[Pemantauan Nightingale] Kali pertama bertemu Nightingale, masih kuat!

Categraf ialah Ejen pemantauan dan pengumpulan yang akan menolak maklumat yang dikumpul kepada TSDB.
# 下载
$ wget https://download.flashcat.cloud/categraf-v0.2.38-linux-amd64.tar.gz
# 解压
$ tar xf categraf-v0.2.38-linux-amd64.tar.gz
# 进入目录
$ cd categraf-v0.2.38-linux-amd64/
Ubah suai fail konfigurasi Dalam conf/config.toml, bahagian yang diubah suai adalah seperti berikut:

[[writers]]
url = "http://127.0.0.1:17000/prometheus/v1/write"

[heartbeat]
enable = true

Kemudian mulakan Categraf.

$ nohup ./categraf &>categraf.log &

Kemudian anda boleh melihat maklumat asas pada antara muka utama.

Tambah sumber data[Pemantauan Nightingale] Kali pertama bertemu Nightingale, masih kuat!

Sekarang jika anda pergi menyemak penunjuk data siri masa, anda tidak boleh cari mereka. Kerana tiada sumber data telah ditambahkan.

Tambah sumber data dalam Konfigurasi Sistem->Sumber Data, seperti berikut: [Pemantauan Nightingale] Kali pertama bertemu Nightingale, masih kuat!

Kemudian anda boleh melihat data penunjuk yang sepadan. [Pemantauan Nightingale] Kali pertama bertemu Nightingale, masih kuat!

Anda juga boleh melihat data pemantauan hos melalui papan pemuka terbina dalam, seperti berikut: [Pemantauan Nightingale] Kali pertama bertemu Nightingale, masih kuat!

Ringkasan[Pemantauan Nightingale] Kali pertama bertemu Nightingale, masih kuat!

Artikel ini memberi anda gambaran awal tentang Nightingale, memberikan pengenalan ringkas kepada keseluruhan seni binanya, dan kemudian membawa anda dari yang telah saya pasang ia dari 0 hingga 1 untuk memberi semua orang pemahaman yang jelas tentang komponen Nightingale. Pada masa ini, Nightingale telah dikemas kini kepada versi V6 Versi ini mempunyai banyak percubaan berfungsi baharu, seperti akses kepada ELK, akses kepada Jaeger, dll. Siri ini akan terus dikemas kini pada masa hadapan.

Atas ialah kandungan terperinci [Pemantauan Nightingale] Kali pertama bertemu Nightingale, masih kuat!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam