Dalam tutorial ini, kita akan belajar cara menginstal dan mengatur TIG Stack di Ubuntu 20.04.
TIG stack adalah sekelompok alat pemantauan sumber terbuka yang kuat, Telegraf, InfluxDB dan Grafana di mana;
- Telegraf adalah agen server sumber terbuka untuk mengumpulkan dan mengirim metrik dan peristiwa dari database, sistem, dan sensor IoT.
- InfluxDB adalah database deret waktu sumber terbuka dan menyediakan penyimpanan data untuk metrik, peristiwa, dan analitik waktu nyata.
- Grafana adalah alat visualisasi dan pemantauan data dan mendukung penyimpanan data deret waktu seperti Graphite, InfluxDB, Prometheus, Elasticsearch.
TIG stack dapat digunakan untuk memantau metrik sistem seperti memori, disk, user yang masuk, beban sistem, useran swap, waktu aktif sistem, proses sistem.
Instal dan Atur TIG Stack di Ubuntu 20.04
Untuk menginstal dan mengatur stack TIG di Ubuntu 20.04, Anda perlu menginstal dan mengatur setiap komponen stack, Telegraf, InfluxDB, Grafana.
Jalankan Pembaruan Sistem
Untuk memulainya, pastikan bahwa paket sistem Anda mutakhir;
apt update apt upgrade
Instal Telegraf di Ubuntu 20.04
Anda dapat menginstal Telegraf di Ubuntu 20.04 baik dengan mengdownload file paket DEB atau langsung dari repo InfluxData.
Instal Telegraf menggunakan File Paket DEB
Untuk menginstal Telegraf menggunakan biner DEB, ambil penginstal biner dari halaman downloadan InfluxData. Anda cukup mendapatkan tautan ke penginstal biner dan menariknya dengan wget;
wget https://dl.influxdata.com/telegraf/releases/telegraf_1.14.3-1_amd64.deb
Setelah biner didownload, Anda dapat menginstalnya sebagai berikut:
dpkg -i telegraf_1.14.3-1_amd64.deb
Instal Telegraf dari InfluxData Repos
Jika Anda ingin menginstalnya dari repo InfluxData untuk memastikan pembaruan yang mulus setiap kali ada rilis baru, cukup buat repo InfluxData sebagai berikut;
wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/lsb-release
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
apt update
apt install telegraf
Menjalankan Telegraf di Ubuntu 20.04
Setelah penginstalan selesai, Anda dapat memulai dan mengaktifkan Telegraf untuk berjalan pada boot sistem (Hal ini biasanya dilakukan secara otomatis selama penginstalan);
systemctl enable --now telegraf
Instal InfluxDB di Ubuntu 20.04
Demikian pula, InfluxDB dapat diinstal menggunakan file paket DEB atau dari repositori InfluxData.
Instal InfluxDB menggunakan File Paket DEB
Paket biner dapat didownload dari halaman downloadan InfluxData.
wget https://dl.influxdata.com/influxdb/releases/influxdb_1.8.0_amd64.deb
dpkg -i influxdb_1.8.0_amd64.deb
Instal InfluxDB dari InfluxData Repos
Pada tulisan ini, repo InfluxData untuk Ubuntu 20.04 tidak menyediakan paket InfluxDB. Namun, paket InfluxDB tersedia di repo Focal Universe tetapi bukan versi terbaru pada tulisan ini. Oleh karena itu, kami lebih suka menginstal InfluxDB di Ubuntu 20.04 menggunakan paket biner debian seperti yang dijelaskan di atas.
Mulai dan aktifkan InfluxDB untuk berjalan pada boot sistem;
systemctl enable --now influxdb
Anda dapat memeriksa status dengan menjalankan perintah di bawah ini;
systemctl status influxdb
Instal Grafana di Ubuntu 20.04
Sama dengan Telegraf dan InfluxDB, Anda dapat menginstal Grafana di Ubuntu 20.04 menggunakan file paket debian atau langsung dari repo Grafana.
Instal Grafana menggunakan File Paket Debian
Untuk menginstal Grafana menggunakan file paket debian, download versi rilis stabil terbaru dari Grafana dari halaman downloadan Grafana. Versi rilis stabil terbaru biasanya dipilih secara default;
apt install -y adduser libfontconfig1
wget https://dl.grafana.com/oss/release/grafana_7.0.1_amd64.deb
dpkg -i grafana_7.0.1_amd64.deb
Instal Grafana Dari Grafana Repos
Dalam tutorial ini, kami menginstal Grafana versi opensource. Buat repo dan instal Grafana sebagai berikut;
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
apt update -y
apt install grafana
Menjalankan Grafana
systemctl daemon-reload systemctl enable --now grafana-server
Untuk memeriksa statusnya;
systemctl status grafana-server
● grafana-server.service - Grafana instance Loaded: loaded (/lib/systemd/system/grafana-server.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-05-30 10:00:09 UTC; 3s ago Docs: http://docs.grafana.org Main PID: 6325 (grafana-server) Tasks: 8 (limit: 2282) Memory: 7.8M CGroup: /system.slice/grafana-server.service └─6325 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/var/run/grafana/grafana-server.pid --packaging=deb cfg:default.paths.logs=/var/lo> May 30 10:00:10 ubuntu20 grafana-server[6325]: t=2020-05-30T10:00:10+0000 lvl=info msg="Executing migration" logger=migrator id="add unique index user.email"...
Mengonfigurasi TIG Stack di Ubuntu 20.04
Setelah semua komponen stack berada di tempatnya, lanjutkan dengan konfigurasi.
Konfigurasikan InfluxDB untuk Menyimpan Metrik Sistem yang Dikumpulkan oleh Telegraf
Buat database InfluxDB untuk menyimpan metrik deret waktu yang akan dikumpulkan oleh agen Telegraf. Hubungkan ke InfluxDB menggunakan influxperintah client.
influx
Connected to http://localhost:8086 version 1.8.0 InfluxDB shell version: 1.8.0 >
Selanjutnya, buat database InfluxDB. Dalam demo ini, kami membuat database bernama telegrafdan user database bernama telegraf.
create database telegraf
create user telegraf with password '[email protected]' grant all on telegraf to telegraf
Anda dapat membuat daftar database yang dibuat;
show databases
name: databases name ---- telegraf _internal
Untuk membuat daftar user;
show users
user admin ---- ----- telegraf false
Keluar dari InfluxDB dan verifikasi koneksi ke database menggunakan kredensial yang dibuat di atas;
influx -username 'telegraf' -password '' -database telegraf
Masukkan password. Jika semuanya baik-baik saja, Anda harus mendapatkan prompt InfluxDB;
password: [email protected] Connected to http://localhost:8086 version 1.8.0 InfluxDB shell version: 1.8.0 >
Mengonfigurasi Telegraf untuk Mengumpulkan Metrik Sistem
adalah agen server berbasis plugin untuk mengumpulkan dan mengirim metrik dan peristiwa dari database, sistem, dan sensor IoT. Semua metrik dikumpulkan dari input yang dideklarasikan, dan dikirim ke output yang dideklarasikan. Ini pada dasarnya terdiri dari empat jenis plugin yang berbeda:
- Plugin Input mengumpulkan
metrik dari sistem, service - Plugin Prosesor mengubah, mendekorasi, dan/atau menyaring metrik
- Plugin Aggregator membuat metrik agregat (misalnya mean, min, max, quantiles, dll.)
- Plugin Output menulis metrik ke berbagai tujuan seperti InfluxDB untuk kasus kami.
/etc/telegraf/telegraf.conf adalah file konfigurasi Telegraf default.
Dalam tutorial ini, kita akan mengonfigurasi useran memori sistem monitor TIG stack, proses sistem, useran disk, beban sistem, waktu aktif sistem, dan user yang masuk.
Dengan demikian, kami akan menghasilkan konfigurasi Telegraf khusus kami dengan metrik yang ditentukan di atas pada filter input. File konfigurasi Telegraf khusus dapat dibuat dengan telegrafperintah.
Buat cadangan file konfigurasi Telegraf asli.
mv /etc/telegraf/telegraf.conf{,.old}
Hasilkan Telegraf Kustom untuk metrik yang ditentukan;
telegraf config -input-filter cpu:mem:swap:system:processes:disk -output-filter influxdb > /etc/telegraf/telegraf.conf
Baca lebih lanjut tentang plugin input Telegraf di halaman Github Plugin Telegraf.
Setelah file konfigurasi dibuat, edit untuk menentukan detail koneksi ke database metrik InfluxDB;
vim /etc/telegraf/telegraf.conf
Ganti detail koneksi database InfluxDB yang sesuai.
############################################################################### # OUTPUT PLUGINS # ############################################################################### # Configuration for sending metrics to InfluxDB [[outputs.influxdb]] urls = ["http://127.0.0.1:8086"] database = "telegraf" username = "telegraf" password = "[email protected]"
Beginilah tampilan file konfigurasi kami tanpa baris komentar;
grep -v "^s*[#;]|^s*$" /etc/telegraf/telegraf.conf
[global_tags] [agent] interval = "10s" round_interval = true metric_batch_size = 1000 metric_buffer_limit = 10000 collection_jitter = "0s" flush_interval = "10s" flush_jitter = "0s" precision = "" hostname = "" omit_hostname = false [[outputs.influxdb]] urls = ["http://127.0.0.1:8086"] database = "telegraf" username = "telegraf" password = "[email protected]" [[inputs.cpu]] percpu = true totalcpu = true collect_cpu_time = false report_active = false [[inputs.disk]] ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"] [[inputs.diskio]] [[inputs.kernel]] [[inputs.mem]] [[inputs.processes]] [[inputs.swap]] [[inputs.system]]
Untuk konfigurasi Telegraf lebih lanjut, lihat halaman konfigurasi administrasi Telegraf.
Mulai ulang Telegraf setelah modifikasi;
systemctl restart telegraf
Periksa kembali statusnya;
systemctl status telegraf
● telegraf.service - plugin-driven server agent for reporting metrics into InfluxDB Loaded: loaded (/lib/systemd/system/telegraf.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-05-30 16:43:07 UTC; 8s ago Docs: https://github.com/influxdata/telegraf Main PID: 4776 (telegraf) Tasks: 10 (limit: 2282) Memory: 10.1M CGroup: /system.slice/telegraf.service └─4776 /usr/bin/telegraf -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d May 30 16:43:07 ubuntu20 systemd[1]: Started plugin-driven server agent for reporting metrics into InfluxDB. May 30 16:43:07 ubuntu20 telegraf[4776]: 2020-05-30T16:43:07Z I! Starting Telegraf 1.14.3 May 30 16:43:07 ubuntu20 telegraf[4776]: 2020-05-30T16:43:07Z I! Loaded inputs: swap system cpu disk diskio kernel mem processes May 30 16:43:07 ubuntu20 telegraf[4776]: 2020-05-30T16:43:07Z I! Loaded aggregators: May 30 16:43:07 ubuntu20 telegraf[4776]: 2020-05-30T16:43:07Z I! Loaded processors: May 30 16:43:07 ubuntu20 telegraf[4776]: 2020-05-30T16:43:07Z I! Loaded outputs: influxdb May 30 16:43:07 ubuntu20 telegraf[4776]: 2020-05-30T16:43:07Z I! Tags enabled: host=ubuntu20 May 30 16:43:07 ubuntu20 telegraf[4776]: 2020-05-30T16:43:07Z I! [agent] Config: Interval:10s, Quiet:false, Hostname:"ubuntu20", Flush Interval:10s
Mulai Telegraf dan Verifikasi Jika data muncul
Telegraf memungkinkan Anda menjalankan tes konfigurasi yang menghasilkan metrik ke stdout. Untuk menjalankan tes umum untuk semua metrik yang ditentukan;
telegraf --config /etc/telegraf/telegraf.conf --test
Untuk menjalankan uji konfigurasi untuk metrik tertentu, misalnya, plugin input sistem;
telegraf -test -config /etc/telegraf/telegraf.conf --input-filter system
2020-05-30T11:07:42Z I! Starting Telegraf 1.14.3 > system,host=ubuntu20 load1=0.01,load15=0,load5=0.02,n_cpus=2i,n_users=2i 1590836862000000000 > system,host=ubuntu20 uptime=9206i 1590836862000000000 > system,host=ubuntu20 uptime_format=" 2:33" 1590836862000000000
Konfigurasikan Grafana untuk Menampilkan Metrik InfluxDB/Telegraf
Mengakses Interface Web Grafana
Untuk mengakses Grafana secara eksternal, Anda perlu membuka port 3000/tcp di UFW jika sedang berjalan.
ufw allow 3000/tcp
Anda sekarang dapat mengakses Interface web Grafana, http://server-IP-or-Hostname:3000. Pada halaman login, ketik adminusername dan password.
Atur ulang password dan lanjutkan ke Interface web Grafana.
Tambahkan sumber Data InfluxDB
Untuk menambahkan sumber data Anda, klik salah satu bagian yang disorot seperti pada tangkapan layar di bawah.
Cari dan pilih sumber data InfluxDB.
Tetapkan Nama dan URL sumber data InfluxDB. Anda dapat membiarkannya seperti http://localhost:8086untuk koneksi lokal.
Untuk menguji koneksi ke database InfluxDB, klik Save&Test tombol.
Buat Dasbor Grafana Telegraf
Anda dapat membuat dasbor Anda sendiri untuk Telegraf, temukan yang sesuai dengan kebutuhan Anda dari dasbor komunitas Grafana yang sudah dibuat. Dalam tutorial ini, kami m
enggunakan dasbor metrik sistem Telegraf komunitas yang dibuat oleh user, jmutai.
Untuk mengimpor dasbor, klik + (plus)tanda di panel kiri Grafana UI. Anda dapat mengimpor menggunakan ID dasbor atau file JSON yang disediakan di halaman dasbor Grafana tertentu.
Klik Load untuk memuat dasbor.
Setelah dasbor dimuat, select the InfluxDB data source and import the dashboard. Anda sekarang seharusnya dapat melihat berbagai dasbor yang merinci berbagai metrik sistem;
Itu menandai akhir dari kami tentang cara menginstal dan mengatur stack TIG di Ubuntu 20.04.
Bacaan lebih lanjut
Dokumentasi telegraf 1.14
Dokumentasi InfluxDB 1.8
Dokumentasi Grafana
Tutorial Terkait
Instal dan Atur TIG Stack di Fedora 30
Instal Grafana Terbaru di CentOS 8
Instal ELK Stack di Ubuntu 20.04
Instal dan Atur Prometheus di Ubuntu 20.04