Monday

18-08-2025 Vol 19

Install Signoz in Ubuntu

Cara Mudah Install Signoz di Ubuntu: Panduan Lengkap dan Praktis

Signoz adalah platform Observabilitas Open Source yang kuat, memungkinkan Anda untuk memantau dan memecahkan masalah aplikasi dan infrastruktur Anda. Dalam panduan ini, kami akan memandu Anda langkah demi langkah tentang cara menginstal Signoz di Ubuntu. Baik Anda seorang pengembang, DevOps engineer, atau administrator sistem, panduan ini dirancang untuk memberikan instruksi yang jelas dan ringkas agar Anda dapat mulai menggunakan Signoz dengan cepat.

Daftar Isi

  1. Pendahuluan: Mengapa Memilih Signoz?
  2. Prasyarat Sebelum Instalasi
  3. Langkah 1: Install Docker dan Docker Compose
  4. Langkah 2: Download File Docker Compose Signoz
  5. Langkah 3: Konfigurasi Awal Signoz
  6. Langkah 4: Menjalankan Signoz dengan Docker Compose
  7. Langkah 5: Mengakses Signoz Melalui Browser
  8. Langkah 6: Verifikasi Instalasi dan Konfigurasi
  9. Langkah 7: Mengintegrasikan Aplikasi Anda dengan Signoz
  10. Pemeliharaan Rutin dan Tips Pemecahan Masalah
  11. Kesimpulan

1. Pendahuluan: Mengapa Memilih Signoz?

Dalam dunia pengembangan perangkat lunak modern, observabilitas adalah kunci untuk memastikan kinerja dan keandalan aplikasi Anda. Signoz menawarkan solusi observabilitas lengkap yang mencakup:

  • Metrik: Mengumpulkan dan memvisualisasikan metrik kinerja sistem dan aplikasi.
  • Log: Mengelola dan menganalisis log dari berbagai sumber.
  • Jejak (Traces): Melacak permintaan melalui berbagai layanan untuk mengidentifikasi bottleneck dan masalah kinerja.

Keunggulan Signoz:

  • Open Source: Bebas digunakan dan dimodifikasi sesuai kebutuhan.
  • Full-Stack Observability: Menyediakan visibilitas lengkap dari frontend hingga backend.
  • User Interface Intuitif: Mudah digunakan dan dinavigasi.
  • Integrasi yang Luas: Mendukung berbagai bahasa pemrograman dan framework.

Dengan Signoz, Anda dapat dengan cepat mengidentifikasi dan menyelesaikan masalah kinerja, meningkatkan pengalaman pengguna, dan mengoptimalkan sumber daya Anda.

2. Prasyarat Sebelum Instalasi

Sebelum memulai instalasi Signoz, pastikan Anda memenuhi prasyarat berikut:

  • Ubuntu Server: Server Ubuntu yang berjalan (versi 18.04 atau lebih baru direkomendasikan).
  • Akses Sudo: Akun pengguna dengan hak akses sudo.
  • Docker: Docker terinstal dan berjalan di server Anda.
  • Docker Compose: Docker Compose terinstal dan berjalan di server Anda.
  • Koneksi Internet: Koneksi internet yang stabil untuk mengunduh paket dan dependensi.

Pastikan server Ubuntu Anda terkini dengan menjalankan perintah berikut:

sudo apt update
sudo apt upgrade

3. Langkah 1: Install Docker dan Docker Compose

Jika Anda belum memiliki Docker dan Docker Compose, ikuti langkah-langkah berikut untuk menginstalnya.

Install Docker

  1. Update daftar paket:
    sudo apt update
  2. Instal paket yang diperlukan untuk mengizinkan apt menggunakan repositori melalui HTTPS:
    sudo apt install apt-transport-https ca-certificates curl software-properties-common
  3. Tambahkan kunci GPG resmi Docker:
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  4. Tambahkan repositori Docker ke APT:
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  5. Update daftar paket lagi:
    sudo apt update
  6. Instal Docker Engine:
    sudo apt install docker-ce docker-ce-cli containerd.io
  7. Verifikasi instalasi Docker:
    sudo docker run hello-world

Install Docker Compose

  1. Unduh Docker Compose:
    sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    Pastikan untuk memeriksa versi terbaru Docker Compose di halaman rilis resmi Docker Compose.

  2. Berikan izin eksekusi:
    sudo chmod +x /usr/local/bin/docker-compose
  3. Buat symlink untuk menjalankan Docker Compose dari mana saja:
    sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
  4. Verifikasi instalasi Docker Compose:
    docker-compose --version

Setelah Docker dan Docker Compose terinstal, pastikan Docker service berjalan:

sudo systemctl start docker
sudo systemctl enable docker

4. Langkah 2: Download File Docker Compose Signoz

Signoz menyediakan file docker-compose.yaml yang mempermudah proses instalasi. Anda dapat mengunduh file ini menggunakan perintah berikut:

  1. Buat direktori untuk Signoz:
    mkdir signoz
    cd signoz
  2. Unduh file docker-compose.yaml:
    wget https://raw.githubusercontent.com/SigNoz/signoz/main/deploy/docker/docker-compose.yaml

Anda juga dapat menggunakan curl:

curl -O https://raw.githubusercontent.com/SigNoz/signoz/main/deploy/docker/docker-compose.yaml

Setelah mengunduh file docker-compose.yaml, periksa isinya untuk memahami layanan yang akan diinstal.

5. Langkah 3: Konfigurasi Awal Signoz

File docker-compose.yaml yang diunduh berisi konfigurasi default untuk Signoz. Anda mungkin perlu menyesuaikan konfigurasi ini agar sesuai dengan kebutuhan lingkungan Anda.

Opsi Konfigurasi Utama:

  • Port: Secara default, Signoz menggunakan port 3301 (query-service), 8000 (frontend), 9090 (alertmanager), 9091 (prometheus). Anda dapat mengubah port ini jika diperlukan, terutama jika port ini sudah digunakan oleh aplikasi lain.
  • Volume: Perhatikan volume yang digunakan untuk persistent data, seperti database ClickHouse dan Prometheus. Pastikan Anda memiliki ruang disk yang cukup.
  • Environment Variables: Perhatikan environment variables yang ada di dalam file docker-compose.yaml. Beberapa konfigurasi penting seperti timezone dapat diubah disini.

Contoh Perubahan Port:

Buka file docker-compose.yaml menggunakan editor teks (misalnya, nano atau vim):

nano docker-compose.yaml

Cari bagian yang mendefinisikan layanan frontend dan ubah port yang dipetakan:

frontend:
    image: signoz/frontend:latest
    ports:
      - "3000:8000"  # Ubah 8000 menjadi port yang Anda inginkan, misalnya 3000
    depends_on:
      - query-service
    restart: always

Ubah juga port untuk layanan lainnya jika diperlukan. Simpan perubahan dan tutup editor.

6. Langkah 4: Menjalankan Signoz dengan Docker Compose

Setelah Anda mengkonfigurasi docker-compose.yaml, Anda dapat menjalankan Signoz menggunakan perintah berikut:

docker-compose up -d

Perintah ini akan mengunduh image Docker yang diperlukan dan memulai semua layanan yang didefinisikan dalam file docker-compose.yaml.

Penjelasan Perintah:

  • docker-compose up: Memulai layanan yang didefinisikan dalam file docker-compose.yaml.
  • -d: Menjalankan layanan di latar belakang (detached mode).

Tunggu beberapa menit hingga semua layanan dimulai. Anda dapat memantau log layanan menggunakan perintah:

docker-compose logs -f

Perintah ini akan menampilkan log dari semua layanan. Cari pesan kesalahan atau peringatan untuk memastikan semuanya berjalan dengan baik.

7. Langkah 5: Mengakses Signoz Melalui Browser

Setelah semua layanan Signoz berjalan, Anda dapat mengakses antarmuka web Signoz melalui browser Anda. Buka browser Anda dan masukkan alamat IP server Ubuntu Anda diikuti dengan port yang Anda konfigurasi untuk layanan frontend (secara default, port 8000 atau 3000 jika Anda mengubahnya).

Contoh:

http://:8000

Anda akan melihat halaman login Signoz. Gunakan kredensial default berikut:

  • Username: admin
  • Password: password

Setelah login, Anda akan melihat dashboard Signoz. Sekarang Anda siap untuk mulai menggunakan Signoz untuk memantau dan menganalisis aplikasi Anda.

8. Langkah 6: Verifikasi Instalasi dan Konfigurasi

Setelah berhasil login ke dashboard Signoz, lakukan beberapa verifikasi untuk memastikan instalasi dan konfigurasi berjalan dengan benar.

  1. Periksa Status Layanan: Di dashboard Signoz, periksa status semua layanan. Pastikan semua layanan berjalan dengan baik dan tidak ada kesalahan.
  2. Kirim Data Contoh: Kirim beberapa data contoh ke Signoz untuk memastikan data dapat dikumpulkan dan ditampilkan dengan benar. Anda dapat menggunakan aplikasi demo atau alat pengujian untuk mengirim data.
  3. Buat Dashboard: Buat dashboard sederhana untuk memvisualisasikan data yang dikumpulkan. Pastikan Anda dapat melihat metrik, log, dan jejak dengan benar.
  4. Konfigurasi Alert: Konfigurasi alert untuk memantau metrik penting. Pastikan alert berfungsi dengan baik dan Anda menerima notifikasi jika ada masalah.

Contoh Mengirim Data Contoh dengan Python:

Untuk mengirim data contoh, Anda dapat menggunakan library Python seperti opentelemetry. Instal library ini menggunakan pip:

pip install opentelemetry-sdk opentelemetry-exporter-otlp-proto-http opentelemetry-instrumentation

Buat file Python (misalnya, example.py) dengan kode berikut:

from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter

# Konfigurasi OTLP exporter
otlp_exporter = OTLPSpanExporter(endpoint="http://:4318/v1/traces")  # Ganti dengan alamat IP server Anda

# Konfigurasi TracerProvider
tracer_provider = TracerProvider()
tracer_provider.add_span_processor(BatchSpanProcessor(otlp_exporter))
trace.set_tracer_provider(tracer_provider)

# Dapatkan tracer
tracer = trace.get_tracer(__name__)

# Buat span
with tracer.start_as_current_span("example_operation"):
    print("Melakukan operasi contoh...")

Ganti dengan alamat IP server Ubuntu Anda. Jalankan file Python:

python example.py

Periksa dashboard Signoz untuk melihat jejak yang baru dibuat.

9. Langkah 7: Mengintegrasikan Aplikasi Anda dengan Signoz

Untuk memanfaatkan Signoz sepenuhnya, Anda perlu mengintegrasikan aplikasi Anda dengan Signoz. Ini melibatkan instrumentasi aplikasi Anda untuk mengumpulkan metrik, log, dan jejak.

Langkah-langkah Umum untuk Integrasi:

  1. Pilih Library Instrumentasi: Pilih library instrumentasi yang sesuai dengan bahasa pemrograman dan framework yang Anda gunakan. Beberapa library populer termasuk OpenTelemetry, Jaeger, dan Zipkin.
  2. Konfigurasi Exporter: Konfigurasi exporter untuk mengirim data ke Signoz. Ini biasanya melibatkan pengaturan endpoint OTLP (OpenTelemetry Protocol) atau Jaeger.
  3. Instrumentasi Kode: Tambahkan kode instrumentasi ke aplikasi Anda untuk mengumpulkan metrik, log, dan jejak. Ini melibatkan pembuatan span untuk melacak permintaan, mencatat log, dan mengumpulkan metrik kinerja.
  4. Deploy dan Verifikasi: Deploy aplikasi yang diinstrumentasi dan verifikasi bahwa data dikumpulkan dan ditampilkan dengan benar di dashboard Signoz.

Contoh Integrasi dengan Aplikasi Python Menggunakan OpenTelemetry:

1. Instal Library yang Diperlukan:

pip install opentelemetry-sdk opentelemetry-exporter-otlp-proto-http opentelemetry-instrumentation fastapi uvicorn

2. Buat Aplikasi FastAPI Sederhana:

# main.py
from fastapi import FastAPI
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.instrumentation.fastapi import FastAPIInstrumentor

# Konfigurasi OTLP exporter
otlp_exporter = OTLPSpanExporter(endpoint="http://:4318/v1/traces")  # Ganti dengan alamat IP server Anda

# Konfigurasi TracerProvider
tracer_provider = TracerProvider()
tracer_provider.add_span_processor(BatchSpanProcessor(otlp_exporter))
trace.set_tracer_provider(tracer_provider)

# Dapatkan tracer
tracer = trace.get_tracer(__name__)

app = FastAPI()

# Instrumentasi FastAPI
FastAPIInstrumentor.instrument_app(app)

@app.get("/")
async def root():
    with tracer.start_as_current_span("root_handler"):
        return {"message": "Hello World"}

3. Jalankan Aplikasi:

uvicorn main:app --reload

4. Akses Aplikasi melalui Browser atau Alat Pengujian:

http://localhost:8000/

5. Periksa Dashboard Signoz untuk Melihat Jejak yang Dihasilkan.

10. Pemeliharaan Rutin dan Tips Pemecahan Masalah

Setelah Signoz diinstal dan diintegrasikan dengan aplikasi Anda, penting untuk melakukan pemeliharaan rutin dan memiliki strategi pemecahan masalah yang efektif.

Pemeliharaan Rutin:

  • Update Signoz: Perbarui Signoz secara teratur ke versi terbaru untuk mendapatkan perbaikan bug, fitur baru, dan peningkatan kinerja.
  • Backup Data: Lakukan backup data secara teratur, terutama database ClickHouse dan Prometheus.
  • Monitor Sumber Daya: Monitor penggunaan sumber daya server, seperti CPU, memori, dan disk. Pastikan server memiliki sumber daya yang cukup untuk menjalankan Signoz dan aplikasi Anda.
  • Review Log: Review log Signoz dan aplikasi Anda secara teratur untuk mengidentifikasi potensi masalah.
  • Optimasi Konfigurasi: Optimalkan konfigurasi Signoz dan aplikasi Anda untuk meningkatkan kinerja dan mengurangi penggunaan sumber daya.

Tips Pemecahan Masalah:

  • Periksa Log: Periksa log Signoz dan aplikasi Anda untuk mengidentifikasi pesan kesalahan atau peringatan.
  • Verifikasi Konfigurasi: Verifikasi konfigurasi Signoz dan aplikasi Anda untuk memastikan semuanya diatur dengan benar.
  • Periksa Koneksi: Periksa koneksi jaringan antara Signoz dan aplikasi Anda. Pastikan tidak ada firewall atau masalah jaringan yang menghalangi komunikasi.
  • Restart Layanan: Coba restart layanan Signoz dan aplikasi Anda untuk melihat apakah masalah teratasi.
  • Cari di Dokumentasi dan Forum: Cari solusi di dokumentasi Signoz dan forum komunitas.
  • Konsultasikan dengan Ahli: Jika Anda tidak dapat menyelesaikan masalah sendiri, konsultasikan dengan ahli Signoz atau DevOps engineer.

11. Kesimpulan

Dalam panduan ini, kami telah membahas langkah-langkah lengkap untuk menginstal Signoz di Ubuntu, mulai dari persiapan prasyarat hingga integrasi dengan aplikasi Anda. Dengan Signoz, Anda dapat meningkatkan observabilitas aplikasi Anda, mengidentifikasi dan menyelesaikan masalah kinerja dengan cepat, dan mengoptimalkan sumber daya Anda.

Ingatlah untuk melakukan pemeliharaan rutin dan memiliki strategi pemecahan masalah yang efektif untuk memastikan Signoz berjalan dengan baik dan memberikan nilai maksimal bagi tim Anda. Dengan observabilitas yang kuat, Anda dapat membangun dan memelihara aplikasi yang handal dan berkinerja tinggi.

“`

omcoding

Leave a Reply

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