Instalasi InfluxDB pada sistem operasi Linux¶
Persiapan¶
Sistem operasi yang didukung sampai saat ini oleh InfluxDB diantaranya adalah:
- CentOS & RHEL: 7 & 8
- Debian: 9 & 10
- Ubuntu LTS: 18.04 & 20.04
Proses¶
Repositori InfluxDB¶
Semua perintah instalasi dan konfigurasi, dieksekusi sebagai root
sudo su
Paket / repositori instalasi InfluxDB
```bash tab=”RHEL/CentOS”
cat <<EOF | tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL $releasever
baseurl = https://repos.influxdata.com/rhel/$releasever/$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
```bash tab="Debian"
wget -qO- https://repos.influxdata.com/influxdb.key | apt-key add -
source /etc/os-release
echo "deb https://repos.influxdata.com/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/influxdb.list
bash tab="Ubuntu" wget -qO- https://repos.influxdata.com/influxdb.key | apt-key add - source /etc/lsb-release echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | tee /etc/apt/sources.list.d/influxdb.list
Instalasi InfluxDB¶
Via paket repositori
```bash tab=”RHEL/CentOS 7”
yum install -y influxdb
```bash tab="RHEL/CentOS 8"
dnf install -y influxdb
bash tab="Debian & Ubuntu" apt-get update && apt-get install -y influxdb
Mengaktifkan layanan InfluxDB
bash tab="SystemD" systemctl unmask influxdb systemctl enable --now influxdb
Melihat versi
```bash tab=”Eksekusi”
influx -version
```bash tab="Hasil"
InfluxDB shell version: 1.8.0
Konfigurasi - akses pengguna & pangkalan data¶
Variabel
ADMIN_DB="admin_db"
SANDI_ADMIN_DB="sandi_admin_db"
IP_PRIVAT_DB="10.20.30.1"
DIREKTORI_WAL="/mnt/wal"
DIREKTORI_DATA="/mnt/data"
Lokasi dan konfigurasi direktori penyimpanan data
# Membuat direktori
mkdir -p $DIREKTORI_WAL/wal $DIREKTORI_DATA/{data,meta}
chown -Rv influxdb:influxdb $DIREKTORI_WAL $DIREKTORI_DATA
# Konfigurasi InfluxDB
cp -v /etc/influxdb/influxdb.conf{,.`date +%Y%m%d%H%M`}
cat << EOF > /etc/influxdb/influxdb.conf
bind-address = "$IP_PRIVAT_DB:8088"
[meta]
dir = "$DIREKTORI_DATA/meta"
[data]
dir = "$DIREKTORI_DATA/data"
wal-dir = "$DIREKTORI_WAL/wal"
series-id-set-cache-size = 100
[http]
enabled = true
bind-address = "$IP_PRIVAT_DB:8086"
auth-enabled = true
realm = "InfluxDB"
EOF
Pengguna dengan akses admin
curl -XPOST "http://$IP_PRIVAT_DB:8086/query" --data-urlencode \
"q=CREATE USER $ADMIN_DB WITH PASSWORD '$SANDI_ADMIN_DB' WITH ALL PRIVILEGES"
Pengguna dengan akses WRITE dan READ untuk mengakses pangkalan data
influx --host $IP_PRIVAT_DB --username $ADMIN_DB --password $SANDI_ADMIN_DB
CREATE DATABASE "panggalan_data_aplikasi"
```sql tab=”READ”
CREATE USER “pengguna_baca_db” WITH PASSWORD ‘sandi_pengguna_baca_db’
GRANT READ ON “panggalan_data_aplikasi” TO “pengguna_baca_db”
SHOW GRANTS FOR “pengguna_baca_db”
```sql tab="WRITE"
CREATE USER "pengguna_tulis_db" WITH PASSWORD 'sandi_pengguna_tulis_db'
GRANT WRITE ON "panggalan_data_aplikasi" TO "pengguna_tulis_db"
SHOW GRANTS FOR "pengguna_tulis_db"
sql tab="ALL" CREATE USER "pengguna_bacatulis_db" WITH PASSWORD 'sandi_pengguna_bacatulis_db' GRANT ALL ON "panggalan_data_aplikasi" TO "pengguna_bacatulis_db" SHOW GRANTS FOR "pengguna_bacatulis_db"
Memuat ulang layanan peladen InfluxDB
systemctl restart influxdb
Memeriksa hasil pembuatan pengguna
```bash tab=”Eksekusi koneksi”
influx -host $IP_PRIVAT_DB -username $PENGGUNA_DB -password $SANDI_PENGGUNA_DB
```bash tab="Hasil"
Connected to http://$IP_PRIVAT_DB:8086 version 1.8.0
InfluxDB shell version: 1.8.0
>
Penyelesaian¶
Langkah berikutnya adalah dengan melakukan instalasi Telegraf sebagai agen pada mesin virtual yang akan dipantau. Telegraf akan mengumpulkan data metriks utilisasi dan mengirimkan hasilnya ke InfluxDB.
Repositori Telegraf¶
Paket / repositori instalasi Telegraf
```bash tab=”RHEL/CentOS”
cat <<EOF | tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL $releasever
baseurl = https://repos.influxdata.com/rhel/$releasever/$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
```bash tab="Debian"
wget -qO- https://repos.influxdata.com/influxdb.key | apt-key add -
source /etc/os-release
echo "deb https://repos.influxdata.com/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/influxdb.list
bash tab="Ubuntu" wget -qO- https://repos.influxdata.com/influxdb.key | apt-key add - source /etc/lsb-release echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | tee /etc/apt/sources.list.d/influxdb.list
Instalasi Telegraf¶
Via paket repositori
```bash tab=”RHEL/CentOS 7”
yum install -y telegraf
```bash tab="RHEL/CentOS 8"
dnf install -y telegraf
bash tab="Debian & Ubuntu" apt-get update && apt-get install -y telegraf
Mengaktifkan layanan Telegraf
bash tab="SystemD" systemctl enable --now telegraf
Melihat versi
```bash tab=”Eksekusi”
telegraf -version
```bash tab="Hasil"
Telegraf 1.14.5 (git: HEAD e77ce3d1)
Konfigurasi Telegraf¶
Variabel
PENGGUNA_TULIS_DB="pengguna_tulis_db"
IP_PRIVAT_DB="10.20.30.1"
PANGGALAN_DATA_APLIKASI="$HOSTNAME"
SANDI_PENGGUNA_TULIS_DB="sandi_pengguna_tulis_db"
Berkas konfigurasi telegraf.conf
cp -v /etc/telegraf/telegraf.conf{,.`date +%Y%m%d%H%M`}
cat << EOF > /etc/telegraf/telegraf.conf
[global_tags]
host = "$HOSTNAME"
[agent]
interval = "10s"
round_interval = true
metric_batch_size = 1000
metric_buffer_limit = 10000
collection_jitter = "0s"
flush_interval = "10s"
flush_jitter = "0s"
precision = "s"
logfile = ""
debug = false
quiet = false
hostname = "$HOSTNAME"
omit_hostname = false
[[outputs.influxdb]]
urls = ["http://$IP_PRIVAT_DB:8086"]
skip_database_creation = false
database = "$PANGGALAN_DATA_APLIKASI"
timeout = "0s"
username = "$PENGGUNA_TULIS_DB"
password = "$SANDI_PENGGUNA_TULIS_DB"
retention_policy = ""
[[inputs.cpu]]
percpu = true
totalcpu = true
collect_cpu_time = false
report_active = false
[[inputs.disk]]
ignore_fs = ["tmpfs", "devtmpfs", "devfs"]
[[inputs.io]]
[[inputs.mem]]
[[inputs.net]]
[[inputs.system]]
[[inputs.swap]]
[[inputs.netstat]]
[[inputs.processes]]
[[inputs.kernel]]
EOF
Memuat ulang layanan Telegraf
systemctl restart telegraf