• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Jaranguda

Belajar Mengajar

  • Home
  • Sponsor/Jasa
  • Tentang

Cara Testing Fluentd dengan Docker

Last Updated on 4 December 2021 By tommy Leave a Comment

Fluentd banyak digunakan dimana-mana sebagai tukang kirim log dan tukang proses/format log. Untuk testing berbagai versi Fluentd, menggunakan docker akan sangat membantu, karena tidak perlu menginstall berbagai dependency Ruby, dan bisa cepat melakukan testing.

Tergantung kebutuhan anda, kita bisa build docker image yang akan digunakan untuk kebutuhan spesifik, sebagai contoh dalam images docker tersebut diperlukan plugin Elasticsearch, Grafana dan lain sebagainya. Disini saya akan build Fluentd dengan plugin ElasticSearch, Sumologic dan Datadog, karena lagi melakukan testing ketiga service tersebut.

Untuk project ini kita akan buat folder baru ~/fluentd

mkdir ~/fluentd

semua file yang akan dibuat diletakkan didalam folder ini.

Buat file Dockerfile

FROM fluent/fluentd
RUN gem install fluent-plugin-elasticsearch
RUN gem install fluent-plugin-sumologic_output
RUN gem install fluent-plugin-datadog

contoh kita akan build dengan tag fluentd-jaranguda

docker build . -t fluentd-jaranguda

untuk memastikan semuanya sudah berjalan dengan lancar, kita perlu membuat config sederhana fluentd.conf

<source>
  @type forward
</source>
 
<match **>
  @type stdout
</match>

lalu jalankan fluentd

docker run -it -p 24224:24224 -v ~/fluentd/fluentd.conf:/fluentd/etc/fluentd.conf -e FLUENTD_CONF=fluentd.conf fluentd-jaranguda:latest

kita menggunakan port 24224, karena port tersebut adalah port default untuk logging docker.

buka terminal satu lagi, lalu jalankan

docker run --log-driver=fluentd -v ~/fluentd:/tmp -it alpine:latest echo "testing log"

testing fluentd config from docker
di terminal anda mejalankan fluentd, harusnya muncul output kurang lebih

2021-12-04 08:24:38.000000000 +0000 335f2a001f26: {"log":"testing log\r","container_id":"335f2a001f26f26d4d86434cd64eadc5b42784bac7236cab9906138e8b2782ad","container_name":"/dazzling_haslett","source":"stdout"}

untuk mengirim log tersebut ke elasticsearch, tinggal ubah confignya

<source>
  @type forward
</source>
 
<match **>
  @type elasticsearch
  host      172.17.0.1 #ganti dengan IP/Host
  scheme    http
  port      9200 
  index_name docker-log
  include_timestamp true
</match>

lalu jalankan ulang container fluentd

Untuk mengirim ke 2 Log Collector sekaligus, gunakan contoh config ini

<source>
  @type forward
</source>
 
 
<match **>
  @type copy
  <store>
    @type relabel
    @label @sumologic
  </store>
  <store>
    @type relabel
    @label @elasticsearch
  </store>
</match>
 
<label @elasticsearch>
  <match **>
    @type elasticsearch
    host      172.17.0.1
    scheme    http
    port      9200
    index_name ns-data-sumo
    include_timestamp true
  </match>
</label>
 
<label @sumologic>
  <match **>
    @type sumologic
    endpoint https://collectors.sumologic.com/receiver/v1/http/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    log_format json
    source_category docker/testing
    source_name sgp
    open_timeout 10
  </match>
</label>

dengan menggunakan docker ini, proses troubleshooting menjadi jauh lebih mudah karena kita bisa mereplica yang terjadi di server lain. Simpan contoh log dibawah ini di file log.log

{"time": "2021-12-04T14:52:13.136+0000", "level": "info", "msg": "something goes wrong, server timeout", "server": "match011", "status": "degraded"}
{"time": "2021-12-04T14:52:13.137+0000", "level": "info", "msg": "something goes wrong, server timeout", "server": "match012", "status": "degraded"}
{"time": "2021-12-04T14:52:13.138+0000", "level": "info", "msg": "something goes wrong, server timeout", "server": "match013", "status": "degraded"}
{"time": "2021-12-04T14:52:13.139+0000", "level": "info", "msg": "something goes wrong, server timeout", "server": "match014", "status": "degraded"}
{"time": "2021-12-04T14:52:13.139+0000", "level": "info", "msg": "something goes wrong, server timeout", "server": "match015", "status": "degraded"}
{"time": "2021-12-04T14:52:13.139+0000", "level": "info", "msg": "something goes wrong, server timeout", "server": "sumo015", "status": "degraded"}
{"time": "2021-12-04T14:52:13.140+0000", "level": "info", "msg": "something goes wrong, server timeout", "server": "sumo015", "status": "degraded"}

lalu kirim ke fluentd

docker run --log-driver=fluentd -v ~/fluentd:/tmp -it alpine:latest cat /tmp/log.log

Tulisan menarik lainnya

  • Monitoring Bandwidth di Linux dengan NTOP

    Bingung cara mengetahui penggunaan bandwidth anda setiap hari, minggu, bulan atau tahun? Di Linux kita…

  • Cara Membuat Docker Image dengan Dockerfile

    Docker image adalah semacam template yang berisi software-software yang telah di install sebelumnya. Template ini…

  • Cara Partisi dan Format Hardisk di Linux dengan CLI

    Cara untuk mempartisi dan format hardisk di Linux dengan CLI, utility yang akan kita gunakan…

  • Cara Mengakses URL Laravel dengan Akhiran html

    Cara menambah .html di akhir URL Laravel. Untuk contoh singkat kita akan membuat langsung dari…

Filed Under: Linux

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Pencarian

Tanya Jawab tentang DevOps SRE CPE, gabung di https://t.me/devopsindonesia

Terbaru

  • Cara Menonaktifkan Pager di macOS
  • Cara Mengupdate Nama Apple silicon-as-a-Service Scaleway
  • Cara Force Delete Namespace di Kubernetes
  • Install PHP MariaDB di Mac Monterey
  • MacOS Minta Install Git

Komentar

  • Ari on Cara Mematikan SSID Molecool Balifiber
  • kiki anarki on Mengambil Data dari Situs BPJS Ketenagakerjaan dengan PHP cURL
  • musgan on Password Router Huawei HG8245H5 Indihome
  • ghabily on Mengambil Informasi Router Alcatel Lucent G-241W-A dengan PHP
  • nea on Mencari urutan angka yang hilang di PHP

Tulisan Populer

  • Password Router Huawei HG8245H5 Indihome 1.1m views
  • Password Terbaru ZTE F609 Indihome 784k views
  • Password Superadmin Huawei HG8245A 314.2k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 272.2k views
  • Cara Setting Wireless ZTE F609 Indihome 256.1k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 169.1k views
  • Akses UseeTV Indihome via Wireless ZTE F609 156.5k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 150.3k views
  • Cara Reset Password ZTE F609 Indihome 147.2k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 112.9k views

Kategori

  • Delphi
  • dll
  • Gambas
  • Internet
  • Java
  • Lazarus
  • Linux
  • PHP
  • Review
  • Teknologi

Sponsor

kadal.id
carakami.com
kuotabisa.com
Untuk jadi sponsor, hubungi kita lewat halaman sponsor
© 2021. Jaranguda
  • Linux
  • PHP
  • Internet
  • Teknologi
  • Delphi
  • Gambas
  • Java