Grafana adalah alat visualisasi data sumber terbuka dan gratis yang digunakan untuk memantau metrik dari host lain. Itu ditulis dalam TypeScript dan Go dan memungkinkan Anda untuk membuat dan mengedit grafik log dan data serta membuat metrik. Itu dapat menghasilkan grafik dan dasbor dari database deret waktu termasuk Graphite, InfluxDB, atau OpenTSDB dan memungkinkan Anda untuk membaginya dengan pengguna lain.
Fitur
- Templat dasbor
- Menyediakan Anotasi
- Mode kios dan daftar putar
- Plugin khusus
- Pemberitahuan dan pengait peringatan
Dalam posting ini, kami akan menunjukkan cara menginstal Grafana 8 di Debian 11.
Prasyarat
- Server yang menjalankan Debian 11.
- Nama domain valid yang ditunjukkan dengan IP server Anda.
- Kata sandi root dikonfigurasi di server.
Memulai
Sebelum memulai, disarankan untuk memperbarui sistem Anda ke versi yang diperbarui. Anda dapat memperbarui semua paket menggunakan perintah berikut:
apt-get update -y
Setelah memperbarui semua paket, instal dependensi lain yang diperlukan menggunakan perintah berikut:
apt-get install gnupg2 curl wget git software-properties-common -y
Setelah semua paket terinstal, Anda dapat melanjutkan ke langkah berikutnya.
Instal Grafana 8
Secara default, Grafana tidak disertakan dalam repositori default Debian 11. Jadi, Anda perlu menambahkan repositori Grafana ke APT. Anda dapat menambahkannya menggunakan perintah berikut:
curl https://packages.grafana.com/gpg.key | apt-key add -
add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
Setelah repositori ditambahkan, perbarui cache repositori dan instal Grafana menggunakan perintah berikut:
apt-get update -y
apt-get install grafana -y
Setelah Grafana diinstal, mulai dan aktifkan layanan Grafana menggunakan perintah berikut:
systemctl start grafana-server
systemctl enable grafana-server
Anda juga dapat memeriksa status layanan Grafana dengan perintah berikut:
systemctl status grafana-server
Anda akan mendapatkan output berikut:
? grafana-server.service - Grafana instance Loaded: loaded (/lib/systemd/system/grafana-server.service; disabled; vendor preset: enabled) Active: active (running) since Fri 2022-02-04 04:08:25 UTC; 5s ago Docs: http://docs.grafana.org Main PID: 8602 (grafana-server) Tasks: 9 (limit: 2341) Memory: 29.6M CPU: 1.299s CGroup: /system.slice/grafana-server.service ??8602 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/run/grafana/grafana-server.pid --packaging=deb cfg:> Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="migrations completed" logger=migrator performed=381 s> Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="Created default admin" logger=sqlstore user=admin Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="Created default organization" logger=sqlstore Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="Initialising plugins" logger=plugin.manager Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="Plugin registered" logger=plugin.manager pluginId=inp> Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="Live Push Gateway initialization" logger=live.push_ht> Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="Writing PID file" logger=server path=/run/grafana/gra> Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="HTTP Server Listen" logger=http.server address=[::]:3> Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="warming cache for startup" logger=ngalert Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="starting MultiOrg Alertmanager" logger=ngalert.multio>
Secara default, Grafana mendengarkan pada port 3000. Anda dapat memeriksanya dengan perintah berikut:
ss -antpl | grep 3000
Anda akan mendapatkan output berikut:
LISTEN 0 4096 *:3000 *:* users:(("grafana-server",pid=8602,fd=8))
Instal Nginx sebagai Proxy Terbalik untuk Grafana
Selanjutnya, Anda perlu menginstal dan mengkonfigurasi Nginx sebagai proxy terbalik untuk Grafana. Pertama, instal Nginx menggunakan perintah berikut:
apt-get install nginx -y
Setelah Nginx terinstal, buat file konfigurasi virtual host Nginx dengan perintah berikut:
nano /etc/nginx/conf.d/grafana.conf
Tambahkan baris berikut:
server { server_name grafana.example.com; listen 80; access_log /var/log/nginx/grafana.log; location / { proxy_pass http://localhost:3000; proxy_set_header X-Forwarded-Host $host:$server_port; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
Simpan dan tutup file setelah Anda selesai. Kemudian, verifikasi Nginx untuk kesalahan sintaks dengan perintah berikut:
nginx -t
Jika semuanya baik-baik saja, Anda akan mendapatkan output berikut:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Selanjutnya, restart Nginx untuk menerapkan perubahan konfigurasi.
systemctl restart nginx
Anda juga dapat memeriksa status Nginx dengan perintah berikut:
systemctl status nginx
Anda akan mendapatkan output berikut:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-02-04 04:09:20 UTC; 4s ago Docs: man:nginx(8) Process: 8631 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 8632 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 8633 (nginx) Tasks: 2 (limit: 2341) Memory: 2.5M CPU: 35ms CGroup: /system.slice/nginx.service ??8633 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ??8634 nginx: worker process Feb 04 04:09:20 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server... Feb 04 04:09:20 debian11 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument Feb 04 04:09:20 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.
Pada titik ini, Nginx diinstal dan dikonfigurasi sebagai proxy terbalik untuk Grafana. Sekarang Anda dapat melanjutkan ke langkah berikutnya.
Mengakses Dasbor Grafana
Sekarang, buka browser web Anda dan akses antarmuka web Grafana menggunakan URL http://grafana.example.com . Anda akan diarahkan ke halaman login Grafana:
Berikan nama pengguna, kata sandi admin Anda, dan klik Masuk tombol. Anda akan melihat layar pengaturan ulang kata sandi Grafana:
Tetapkan sandi baru Anda dan klik Kirim tombol. Anda akan melihat dasbor Grafana pada layar berikut:
Amankan Grafana dengan Let's Encrypt
Selanjutnya, Anda perlu menginstal paket klien Certbot untuk menginstal dan mengelola Let's Encrypt SSL.
Pertama, instal Certbot dengan perintah berikut:
apt-get install certbot python3-certbot-nginx -y
Setelah instalasi selesai, jalankan perintah berikut untuk menginstal Let's Encrypt SSL di situs web Anda:
certbot --nginx -d grafana.example.com
Anda akan diminta untuk memberikan alamat email yang valid dan menerima persyaratan layanan seperti yang ditunjukkan di bawah ini:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator nginx, Installer nginx Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for grafana.example.com Waiting for verification... Cleaning up challenges Deploying Certificate to VirtualHost /etc/nginx/conf.d/grafana.conf
Selanjutnya, pilih apakah akan mengarahkan lalu lintas HTTP ke HTTPS seperti yang ditunjukkan di bawah ini:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Ketik 2 dan tekan Enter untuk menyelesaikan instalasi. Anda akan melihat output berikut:
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/grafana.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://grafana.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=grafana.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/grafana.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/grafana.example.com/privkey.pem Your cert will expire on 2022-05-07. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le - We were unable to subscribe you the EFF mailing list because your e-mail address appears to be invalid. You can try again later by visiting https://act.eff.org.
Kesimpulan
Selamat! Anda telah berhasil menginstal Grafana 8 dengan Nginx dan Let's Encrypt SSL di Debian 11. Sekarang Anda dapat menambahkan host jarak jauh Anda dan mulai memantaunya dari dasbor Grafana. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.