Kusprayitna Blogs

Hidup untuk berbagi ilmu :: IT Linux Windows Database Oracle PHP OpenSource

Monitoring NOC

Posted by Prayitna Kuswidianta on June 17th, 2015

Salam satu kebutuhan di dunia IT khususnya untuk penyedia layanan IT adalah monitoring layanan.

Dalam monitoring di UII, ada beberapa alasan, yaitu :

  1. Adanya Permasalahan
    1. ?Website tidak dapat diakses
    2. ?Koneksi lambat / putus
    3. ?Sistem macet
    4. ?Server rusak / mati
  2. Adanya Sasaran Mutu Layanan
    1. Uptime 98% pertahun
  3. Adanya Kebutuhan
    1. ?Mencegah lebih baik dari pada mengobati

Ada beberapa monitoring yang sudah diterapkan, antara lain :

  1. Cacti
  2. Nagios

 

Cacti

Cacti banyak digunakan untuk melakukan monitoring :

  • Bandwidth berdasarkan data dari snmp yang terpasang di setiap host, seperti switch, router maupun server
  • Customize data yang diambil berdasarkan skrip yang terpasang

Untuk customize data, di UII dipakai untuk memonitor data seperti :

  • Jumlah pengunjung website, yang diambil dari data di loadbalancing
  • Avaibilitas server menggunakan smokeping
  • dll

Di cacti ada beberapa kelemahan yang dirasakan, antara lain :

  • Bosan dengan tampilannya
  • Data dibaca maksimal dengan rentang 1 menit saja, tidak bisa lebih cepat lagi
  • Data real hanya ditampilkan hanya dalam waktu singkat, misal hanya 24jam, berikutnya hanya merupakan data trend, dimana banyak angka angka penting yang hilang
  • Sangat kesulitan untuk menyimpan atau akses data minggu yang telah lalu

Nagios

Nagios dipakai sebagai pelangkap cacti, maklum cacti kenal lebih dulu dari pada nagios.

Di nagios dibutuhkan informasi yang langsung dapat dikirim ke admin, misal ada server mati maka admin harus tahu untuk dapat menindak lanjutinya.

Fitur nagios yang sering simanfaatkan yaitu :

  • map, dimana menggambarkan dalam bentuk lingkaran saling keterhubungan antar host
  • nagvis, plugin yang berisikan cutom map, dimana map bisa diupload berupa file jpg dan dapat diberi ikon status setiap host. Fitur ini sangat membantu dalam trouble shooting, cukup dengan melihat sekilas kira-kira 1 detik, maka permasalahan di NOC dapat diketahui
  • problem, daftar detail host/service yang sedang bermasalah
  • avaibility, untuk mengetahui avaibility dari semua layanan di NOC dalam rentan waktu tertentu
  • trend, dari nagiosgraph

Dalam penggunaan nagios setelah beberapa lama dibutuhkan fitur-fitur yang belum ada atau menjadi kelemahan nagios, antara lain:

  • Hitungan avaibility berdasar hirarki layanan yang sulit diperoleh
  • Pemasangan plugin untuk integrasi dengan cacti tidak mudah
  • Fleksibilitas konfigurasi sangat kurang, karena semua berdasar skrip

Posted in Linux, Monitoring, nagios | No Comments »

Mengatasi proses cron yang dieksekusi lebih dari satu kali

Posted by Prayitna Kuswidianta on October 2nd, 2013

Di komputer khsusunya linux, jika kita memerlukan proses otomatisasi maka dapat dilakukan dengan memasukkan perintah eksekusi otomatis melalui cron atau crontab.

Sebagai contoh proses adalah sinkronisasi jam (selain memakai ntpd), proses otomatis setiap jam, harian dan sebagainya.

Contoh kasus yang saya alami adalah, saya mempunyai instalasi moodle (moodle.org) dan diperlukan menjalankan proses admin/cli/cron.php secara rutin untuk melakukan notifikasi ke user dan proses proses lain.

Perintah penambahan di crontab, cukuplah sederhana

# crontab -e

1 */1 * * * php admin/cli/cron.php

Dengan mengabaikan konfigurasi pathnya, perintah cron diatas dapat dijalankan dengan normal diawal -awal waktu. Notifikasi terkirimkan dengan baik dan tidak ada masalah.

Seiring dengan waktu, notifikasi terkirim sampai tiga kali untuk pesan yang sama.

Analisa

Bahwa proses cron berjalan dengan baik dimana dilakukan setiap jam di menit pertama. Pengiriman pesan dilakukan bisa sampai tiga kali untuk pesan yang sama.

1. Uji coba dengan perintah sederhana, hasil menunjukkan bahwa setiap jam selama di menit pertama (detik diabaikan), perintah akan dilakukan terus, yaitu bisa lebih dari satu kali dalam waktu yang bersamaan.

Untuk mengatasi ini, maka diperlukan penguncian proses agar ketika ada proses sebelumnya maka proses yang kedua dan seterusnya akan dibatalkan.

Permalahan ini dapat diselesaikan dengan menggunakan aplikasi flock

flock (util-linux-ng 2.17.2)

Usage: flock [-sxun][-w #] fd#

flock [-sxon][-w #] file [-c] command…

flock [-sxon][-w #] directory [-c] command…

-s  –shared     Get a shared lock

-x  –exclusive  Get an exclusive lock

-u  –unlock     Remove a lock

-n  –nonblock   Fail rather than wait

-w  –timeout    Wait for a limited amount of time

-o  –close      Close file descriptor before running command

-c  –command    Run a single command string through the shell

-h  –help       Display this text

-V  –version    Display version

2. Jika proses perintah di cron cukup pendek, maka dalam rentan menit yang sama tersebut, setelah proses pertama selesai maka akan disusul proses yang kedua. Sehingga yang diharapkan perintah dijalankan cukup satu kali ternyata bisa dijalankan lebih dari satu kali.

Kalau diamati proses admin/cli/cron.php diawal-awal waktu memakan waktu cukup lama, bisa sampai lima menit, akan tetapi sekarang ini bisa diselesaikan dalam waktu kurang dari satu menit.

Permasalahan ini harus diselesaikan salah satu caranya dengan proses menunggu, yaitu apabila proses dijalankan kurang dari satu menit, maka tunggu atau perpanjang waktu proses agar lebih dari satu menit, yaitu dengan menggunakan printah sleep.

Implementasi

Dengan dua solusi diatas, maka perintah cron diubah menjadi sbb:

1 */1 * * * flock -n /var/run/moodle_cron.lck php admin/cli/cron.php; sleep 60s

Posted in Centos | No Comments »

MySQL DNBCLUSTER error karena shutdown server tidak normal

Posted by Prayitna Kuswidianta on June 11th, 2013

Sudah beberapa waktu lamanya menggunakan database MySQL dengan engine NDBCLUSTER berjalan dengan lancar, dengan berbagai macam kondisi perubahan status server, baik server node database maupun server cluster managernya, awal bulan ini yaitu tanggal 2 Juni 2013 dilakukan perawatan listrik dari PLN dan Genset dimana server secara mendadak dimatikan dari UPSnya.

Saat start semua kelihatan normal saja, database mysql berjalan lancar. Dua hari kemudian setelah cek beberapa aplikasi ternyata tidak semua database berjalan dengan baik, yaitu kususnya database mysql dengan engine ndbcluster, data tidak dapat diakses.

Sebagai gambaran saya memakai 1 cluster manager dan 2 node database mysql versi : 5.5.30-ndb-7.2.12-cluster-gpl MySQL Cluster Community Server (GPL). Kondisi yang dijumpai di server yaitu :

  • Cluster manager UP
  • Dua node database, mysql server berjalan dengan baik
  • Status dua node database tidak terhubung ke cluster manager
  • Saat dua node database, ndbcluster di start secara manual, maka pesan di cluster manager yaitu :
ndb_mgm> show
Cluster Configuration
———————
[ndbd(NDB)]     2 node(s)
id=2    @192.168.0.2  (mysql-5.5.30 ndb-7.2.12, starting, Nodegroup: 0)
id=3    @192.168.0.3  (mysql-5.5.30 ndb-7.2.12, starting, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.0.1  (mysql-5.5.30 ndb-7.2.12)
[mysqld(API)]   2 node(s)
id=4 (not connected, accepting connect from any host)
id=5 (not connected, accepting connect from any host)
ndb_mgm> Node 2: Forced node shutdown completed. Occured during startphase 4. Caused by error 2310: ‘Error while reading the REDO log(Ndbd file system inconsistency error, please report a bug). Ndbd file system error, restart node initial’.
Node 3: Forced node shutdown completed. Occured during startphase 4. Caused by error 2308: ‘Another node failed during system restart, please investigate error(s) on other node(s)(Restart error). Temporary error, restart node’.

Posted in Linux, My SQL | No Comments »

Cloning Centos 6, Solusi masalah seting jaringan

Posted by Prayitna Kuswidianta on February 26th, 2013

Sistem Operasi Linux Centos sudah semakin berkembang, yang selama ini memakai Versi 5.8 ternyata sudah sampai dengan versi 5.9.

Sementara itu untuk Centos versi 6 sudah mencapai versi 6.3, dimana yang selama ini berasumsi di versi 6 masih kemungkinan ada masalah kelihatannya sudah banyak yang stabil disana.

Fasilitas upgrade dari 5 ke 6 selama ini belum ada, dan solusi sederhana yang dilakukan untuk upgrade adalah dari fresh install.

Dalam Centos 6 ini aplikasi-aplikasi yang disertakan sudah berbeda versi dengan Centos 5, misalnya php di centos 5 adalah versi 5.1 dan di Centos 6 sudah memakai versi 5.3.

Insya Allah masalah versi bisa diatasi dengan melakukan downgrade versi agar aplikasi kita tetap bisa jalan seperti sebelumnya.

Ada sedikit masalah ketika saya sudah menyiapkan master Centos 6 dengan aplikasinya ternyata saat dilakukan cloning, dimana saya menggunakan Oracle VirtualBox, lancard tidak terdeteksi seperti saat menggunakan Centos 5.

Simtom yang terjadi yaitu :

Read the rest of this entry »

Posted in Centos, Linux | No Comments »

Membuat Backup Database OpenLDAP dengan Replica

Posted by Prayitna Kuswidianta on January 25th, 2013

Database LDAP yang sudah pusat database untuk otentifikasi akan menjadi titik tunggal kegagalan sistem apabila tidak diupayakan membuat backup database.

Backup bisa berupa off-line maupun on-line.

Backup off-line dapat dilakukan secara sederhana, yaitu :

  1. Matikan database ldap, yaitu dengan service ldap stop
  2. Salin konfigurasi file, yang biasanya terletak di /etx/openldap
  3. Salin database ldap, yang biasanya terletak di /var/lib/ldap
  4. Selesai dan Jalankan kembali ldap dengan service ldap start
Backup on-line disini didefinisikan sebagai backup yang dilakukan pada saat database ldap masih hidup. Ini dapat dilakukan dengan dua cara , yaitu :
1. menggunakan perintah slapcat
2. menggunakan fasilitas repika

Backup dengan SLAPCAT

Cara backup dengan slapcat cukup sederhana, yaitu :
  1. Database LDAP msih dalam kondisi hidup
  2. Jalankan perintah “slapcat -v -l backup.ldif“, dimana perintah ini akan membaca seluruh database LDAP dan dituliskan ke file backup.ldif
Cara restore atau memulihkan file backup.ldif ke database LDAP yaitu :
  1. Konsidi database LDAP adalah mati, yaitu dengan service ldap stop
  2. Siapkan LDAP server baru dan pastikan data masih kosong, yaitu dengan rm /var/lib/ldap/* -rf
  3. Tulis backup.ldif ke database LDAP dengan slapadd, yaitu dengan perintah slapadd -l backup.ldif
  4. Selesai, sebelum menjalankan database LDAP, pastikan bahwa pemilik file database LDAP adalah ldap, yaitu dengan perintah chown ldap:ldap/var/lib/ldap/*

Backup dengan Replika

Berbeda dengan cara slapcat, maka dengan metode replica ini dibutuhkab minimal dua database LDAP server, yaitu misalnya master-ldap dan slave-ldap.

Posted in Application, LDAP | No Comments »