Instal dan Atur TIG Stack di Ubuntu 20.04

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