BAB VII MANAJEMEN EVENT 7.1.
Tentang Event
Event dan graph dihasilkan dari monitoring performance, keduanya merupakan alat untuk mengetahui kondisi sistem device. Di dalam bab ini akan dijelaskan mengenai manajemen event. 7.1.1. Basic Event Field Untuk memasuki sistem manajemen event, suatu event harus mempunyai nilai untuk device, severity dan summary. Jika event tidak memiliki salah satu field tersebut, maka Pulpo tidak akan merespon event tersebut. Basic Event Field antara lain: • • • • • • •
device ipAddress eventState severity summary message evid
7.1.1.1. Device dan Field ipAdress Field device adalah field kosong yang dapat diisi dengan teks atau karakter dengan jumlah maksimal 128 karakter. Pulpo akan mengakomodasi semua data nilai device yang ada termasuk yang tidak tersimpan didalam database. Jika data device tersebut berupa IP address, sistem akan mencocokannya dengan data database dan selanjutnya akan dilakukan pencarian device yang dimaksud. Pulpo secara otomatis akan menambahkan informasi event baru yang cocok dengan database. Field tersebut adalah: •
prodState- Untuk menentukan production state dari suatu device.
MANAJEMEN EVENT
129
• • • • •
Location- Untuk menentukan lokasi dimana device tersebut akan ditempatkan. DeviceClass- Klasifikasi device. DeviceGroups- Untuk menentukan grup dimana device akan ditempatkan. Systems- Sistem yang akan bekerja pada device tersebut. DevicePriority- Penetapan prioritas pada device.
7.1.1.2. Field eventState Field eventState menyatakan field baru dari suatu event. Field ini selalu diperbarui setelah event baru muncul. Nilai dari field ini yang muncul berupa angka 0-2. Angka 0 1 2
Nama New (baru) Acknowledged (telah diketahui) Suppressed (ditimpa)
7.1.1.3. Field severity Field severity ini menunjukkan severity suatu event. Nilainya berupa angka antara 0-5. Angka 0 1 2 3 4 5
Nama Clear Debug Info Warning Error Critical
Warna Hijau Abu-abu Biru Kuning Oranye Merah
7.1.1.4. Summary dan Field message Summary dan field massage adalah field teks, untuk field summary dapat memuat karakter sampai 128 karakter, dan field massage mencapai 65535 karakter. Field ini biasanya berisi data sejenis. Sistem akan memperlakukan field ini dengan cara yang berbeda tergantung dari event yang muncul. •
Jika yang muncul summary, sistem akan menyalin isinya kedalam massage dan akan memotong isi summary tersebut menjadi 128 karakter.
130
MANAJEMEN EVENT
• •
Jika yang muncul massage, sistem akan menyalin isinya kedalam summary dan akan memotong isi summary tersebut menjadi 128 karakter. Jika muncul dua-duanya, sistem akan memotong isi summary menjadi 128 karakter.
Data akan hilang jika summary atau message melebihi 65535 karakter, atau jika kedua field tersebut muncul dan summary isinya melebihi 128 karakter. Untuk memastikan agar isi field summary tidak melebihi 128 karakter, hindari membuat informasi dalam summary yang terdapat pada field yang lain (seperti: device, component dan severity). 7.1.1.5. evid Field evid merupakan identifikasi event atau ID event. Terdiri dari 36 karakter dan sebagai identifikasi unik dari setiap event yang muncul dalam sistem. Sistem akan memberikan evid (ID event ) sebelum event tersebut disimpan ke dalam database. 7.1.2.Field-field lainnya Event meliputi sejumlah field, sebagian akan mengontrol bagaimana event dipetakan dan korelasinya, sebagian lainnya akan memberikan informasi tentang event tersebut. Berikut ini adalah tabel field event tambahan: Field depuid
component eventClass eventKey eventClassKe y eventGroup
Penjelasan Secara dinamis sistem akan membuat fingerprint yang memungkinkan sistem untuk melakukan de-duplikasi dan pengulangan event yang memiliki karakteristik yang sama. Field teks (maksimal 255 karakter), dapat menambahkan konteks pada event. (misalnya, nama interface, nilai threshold event tersebut). Pemberian nama class event dari sejumlah event yang telah dibuat dan dipetakan. Field teks (maksimal 128 karakter), key khusus digunakan untuk mengarahkan de-duplikasi dan auto-clearing proses korelasi. Field teks (maksimal 128 karakter) yang digunakan sebagai langkah awal mapping event yang tidak di kenal ke dalam event class. Field teks (maksimum 64 karakter), dapat digunakan untuk
MANAJEMEN EVENT
131
stateChange firstTime lastTime count prodState suppid manager agent
deviceClass Location System DeviceGroups facility priority ntevid ownerid clearid DevicePriority eventClassMa pping monitor
132
mengelompokkan event sejenis, terutama untuk kustomisasi. Saat ini tidak digunakan dalam sistem standar. Perubahan terakhir informasi dari suatu event. Event yang muncul pertama kali. Event yang muncul paling akhir. Jumlah event yang muncul diantara firstTime dan lastTime. Status Production state dari event yang muncul. Jika status production state diganti sementara event masih aktif, prodState akan ikut diperbarui. Event yang telah ditimpa dengan event yang lain, maka event tersebut mempunyai evid baru. Deprecated. Field monitor akan menggantikan field ini. Adalah nama daemon yang dihasilkan suatu event. Misalnya, Threshold SNMP akan memiliki zenperfsnmp sebagai agennya. Class device yang berisi event-event yang berhubungan dengannya. Lokasi device yang berhubungan dengan event yang muncul. Daftar Pipe-delimited yang berisi device di dalamnya. Daftar Pipe-delimited yang berisi device di dalamnya. Hanya menampilkan event yang muncul dari syslog facility. Hanya menampilkan event yang muncul dari syslog priority. Hanya menampilkan event yang muncul dari Windows event log. Nama pengguna yang mengetahui suatu event. Menampilkan event yang berstatus auto-cleared dalam histori. Evid dari event akan membersihkan event tersebut. Prioritas device yang memiliki hubungan dengan suatu event. Jika event disesuaikan oleh salah satu konfigurasi mapping event class, maka akan berisi nama dan aturan mappingnya. Berisi informasi nama kolektor dari mana event tersebut berasal, sesuai dengan setup distribusinya.
MANAJEMEN EVENT
7.1.3. Detail Di samping field standar, sistem ini juga memungkinkan event untuk menambah jumlah nama tambahan/nilai pasangannya secara acak ke dalam event untuk memberikan lebih banyak konteks. Nama dan nilai tersebut dibatasi hingga 255 karakter. 7.1.4. Deduplikasi Pulpo menggunakan fitur deduplikasi event, yang didasari oleh konsep sistem fingerprint. Semua event standar yang dihasilkan sistem, sebagai efek dari aktivitas seleksi dideduplikasi tanpa harus melakukan setup atau penataan ulang. Akan tetapi event dari sumber lain juga dapat dideduplikasi, seperti dari : syslog, SNMP, dan Windows event log. Hal yang terpenting dari konsep deduplikasi adalah fingerprint. Di dalam banyak kasus, event dengan sistem fingerprint tersusun dari pipe-delimited string. Field event tersebut terdiri dari: • • • • • •
device component (dapat berupa field kosong) eventClass eventKey (dapat berupa field kosong) Severity summary
Ketika component dan field eventKey masih kosong, dedupid akan berbentuk berikut ini: www.example.com||/Status/Web||4|WebTx check failed Ketika component dan field eventKey telah ada, dedupid akan berbentuk tampilan ini: router1.example.com|FastEthernet0/1|/Perf/Interface|threshName Sistem akan membuat dedupid setelah event masuk di dalamnya. Jika dedupid tersebut cocok dengan event yang aktif, event yang ada akan ditambahkan jumlahnya, untuk menandai berapa kali event tersebut muncul. Kondisi terakir event tersebut akan diperbarui dengan kondisi terbaru. Dan jika dedupid yang dibangun tersebut tidak cocok dengan event yang aktif, maka ia akan simpan di dalam tabel dan ditandai dengan hitungan angka 1(satu), dan kondisi firstTime dan lastTime akan dinyatakan sebagai kondisi sekarang.
MANAJEMEN EVENT
133
Ilustrasi berikut menggambarkan deduplikasi event sebanyak 3(tiga) kali.
Gambar 7.1. Event De-Duplication
7.1.5. Korelasi Auto-Clear Fitur Auto-Clear ini mirip dengan fitur deduplikasi. Ia juga menggunakan sistem fingerprint. Semua event standar dihasilkan dari proses seleksi event dan melakukan auto-clear dengan sendirinya. Dengan deduplikasi akan melakukan auto-clear secara manual untuk menangani event yang berasal dari sumber lain, misalnya dari: syslog, Windows event log, atau SNMP traps. Auto-Clear fingerprint untuk sebuah event, dibangun menggunakan kombinasi dari fieldfield berikut ini: • • • •
device component (dapat berupa field kosong) eventKey (dapat berupa field kosong) eventClass (termasuk zEventClearClasses dari event class zProperties)
Pada saat event baru masuk kedalam sistem dengan severity 0 (Clear), Pulpo akan memeriksa semua event yang aktif dan dicocokkan dengan auto-clear fingerprint. Semua
134
MANAJEMEN EVENT
event aktif yang cocok dengan auto-clear fingerprint akan dipindahkan ke dalam tabel histori event aktif, dan field yang kosong tersebut akan di-set sebagai evid dari event yang telah dibersihkan. Ilustrasi berikut menggambarkan event ping standar dan dikaitkan dengan pembersihan event.
Gambar 7.2. Event Auto-clear Untuk memanggil sistem korelasi auto-clear, gunakan transformasi event dan pastikan bahwa event yang akan dibersihkan memiliki severity (clear) = 0. Pastikan juga bahwa field device, component dan eventClass harus sesuai dengan event yang akan dibersihkan. Catatan Hindari membuat clear event yang terlalu biasa (biasa dipakai), karena secara tidak sengaja dapat menghapus event-event yang sebetulnya diperlukan. 7.1.6. Event Console Pulpo mempunyai console multi event untuk melihat dan mengelola event. Console event terdiri dari:
MANAJEMEN EVENT
135
• •
•
Master, untuk mengakses console ini, klik Event Console pada menu navigasi. Semua event akan terlihat pada console ini. Custom, pengguna dapat membuat console dengan custom sendiri dari tab Event Views sesuai dengan keinginan. Tiap kustomisasi console masih dapat melihat event secara global, namun dapat juga dilakukan penyaringan dengan spesifikasi khusus ( dari tab Edit). Contextual, console event kontekstual dapat ditemukan di dalam seluruh sistem. Tiap melihat tab Event pada device, pengatur device, komponen atau class event, informasi event yang secara otomatis di-filter sesuai dengan konteksnya.
Master console event adalah sistem pusat, untuk melihat dan mengelola event. Console tersebut akan menunjukkan semua event yang tersimpan dan dikumpulkan oleh sistem.
Gambar 7.3. Console Event 7.1.6.1. Penyortiran dan Pemfilteran Event Event yang nampak pada console dapat disortir dan di-filter berdasarkan kriteria tertentu. Penyortiran dapat dilakukan dengan mengacu pada beberapa field, dan ditentukan metodenya ascending atau descending.
136
MANAJEMEN EVENT
Gambar 7.4. Console Event untuk Opsi Filter Ada beberapa cara untuk proses pemfilteran event, tergantung dari tipe field-nya. Misalnya field Date (misalnya First Seen dan Last Seen),event dapat di-filter dengan menggunakan kriteria nilai tanggal. Untuk field lainnya, seperti : Device, Component, dan Event Class, menggunakan nilai kriteria yang sesuai. Pada field Count, event dapat difilter berdasarkan nilainya dengan ketentuan sebagai berikut: • • • •
n- Menampilkan event dengan kriteria angka lebih besar atau sama dengan nilai tersebut.
7.1.6.2. Menyimpan Custom View Untuk membuat bookmark event console view sebagai berikut 1. Pilih Configure > Save this configuration Dialog yang memiliki link ke view tersebut akan tampil. 2. Klik dan drag link tersebut ke link bookmark yang ada di menu bar browser Link judul “Event Console” akan muncul dalam daftar bookmarks:
MANAJEMEN EVENT
137
Gambar 7.5. Tampilan Bookmark pada Console Event 7.1.6.3. Refreshing View Me-refresh tampilan dapat dilakukan dengan cara manual atau otomatis. Untuk melakukannya secara manual klik Refresh dan dapat dilakukan kapan saja. Untuk refresh otomatis pilih dari tab pengaturan waktu refresh.
Gambar 7.6. Pilihan Waktu Refresh Otomatis 7.1.6.4. Menampilkan Event Secara Detail Untuk menampilkan event secara detail, klik dua kali pada baris event.
138
MANAJEMEN EVENT
Tip: Pastikan jangan mengklik link yang lain di dalam baris event karena akan menyebabkan pindah ke halaman lain. Berikut ini tampilan detail event.
Gambar 7.7. Tampilan Detail Event Untuk melihat informasi lengkap event, klik Show more details. Untuk menampilkannya pada jendela yang baru klik ikon yang terletak pada pojok kanan atas. Untuk mendapatkan tambahan informasi khusus gunakan area Log. Masukkan informasi yang diinginkan dan klik Add. 7.1.6.5. Memilih Event Untuk memilih satu atau lebih event, lakukan dengan cara berikut:
• • •
Klik satu baris untuk memilih event tunggal. Ctrl-klik baris untuk memilih multi event, atau Shift-klik baris untuk memilih sekelompok event. Klik Select untuk memilih event dengan kategori all, none, new, acknowledged, atau suppressed.
MANAJEMEN EVENT
139
7.1.6.6. Acknowledging Event Event dengan kategori “acknowledged” perlu ditandai, sebagai contoh untuk melakukan tindakan perbaikan terhadap masalah yang timbul pada suatu event. Untuk menandai event tersebut sebagai “acknowledged” caranya sebagai berikut: 1. Pilih satu atau lebih event yang nampak pada tampilan console event. 2. Klik sampai muncul tanda centang untuk menandai event menjadi status “acknowledged”. 7.1.6.7. Mengembalikan Event Ke Status Baru Status event acknowledged dapat berikut:
dikembalikan ke status baru. Caranya sebagai
1. Pilih satu atau lebih event yang nampak pada tampilan console event. 2. Klik
sampai tanda centang hilang dan status event menjadi status baru.
7.1.6.8. Klasifikasi Event Dengan klasifikasi event, sejumlah event dapat dimasukkan ke dalam event class tertentu. Caranya sebagai berikut: 1. Pilih satu atau lebih event yang nampak pada tampilan console event. 2. Klik sampai muncul kotak dialog Classify Event. 3. Pilih event class yang ada pada daftar dan klik Submit. Catatan: Event dapat juga diklasifikasikan dari histori event. 7.1.6.9. Ekspor Data Event Data event dapat dikonversi ke dalam file dengan format .csv atau XML. Untuk melakukannya, pilih Export > CSV atau Export > XML. Secara otomatis file akan diberi nama events.csv atau events.xml. 7.1.6.10. Memindahkan Event Kedalam Histori Jika aktivitas monitor event tidak akan dilanjutkan ( misal terhadap event yang berstatus acknowledged), event tersebut dapat dipindahkan ke dalam histori. 1. Pilih satu atau lebih event yang nampak pada tampilan event console.
140
MANAJEMEN EVENT
2. Klik
dan event yang dipilih akan dipindahkan ke dalam histori.
Untuk melihat event dalam histori, klik link Event History (yang terletak pada pojok kiri bawah pada halaman Event Console). 7.1.6.11. Mengembalikan Event Ke Status Aktif Event yang ada dalam histori dapat dikembalikan ke status aktif. Event tersebut akan muncul kembali dalam event console. Caranya sebagai berikut: 1. Klik Event History untuk membuka halaman histori event. 2. Pilih satu atau lebih event. 3. Klik , event yang diplih akan berstatus aktif dan akan muncul kembali di dalam console event. 7.1.6.12. Membuat Event Untuk membuat event baru dari event console, klik . Untuk membuat event dengan cara manual, baca petunjuknya pada bagian yang berjudul “Membuat Event Secara Manual”. 7.1.7. Event Sources Event masuk ke dalam sistem dengan dua cara. Pertama event dihasilkan dari aktivitas polling dan kedua event yang berasal dari aktivitas diluar sistem. 7.1.7.1. Menghasilkan Event Deamon standar ini yang berperan untuk menghasilkan event. Ia secara otomatis melakukan deduplikasi dan auto-clearing.
• • • • • •
zenping- Ping up/down event zenstatus- TCP port up/down event zenperfsnmp- SNMP agent up/down events, threshold event zencommand- Menghasilkan status event, threshold event zenprocess- Proces event up/down, threshold event zenwin- Windows service up/down event
MANAJEMEN EVENT
141
7.1.7.2. Menangkap Event Event yang tertangkap adalah event yang tidak diketahui secara khusus apa yang akan terjadi selanjutnya. Terhadap event ini akan dilakukan deduplikasi, namun untuk beberapa kasus perlu di-set ulang. Pada kondisi standar tidak akan dilakukan autoclearing terhadap event yang tertangkap tersebut. Transformasi event harus digunakan untuk membuat korelasi auto-clear. Daemon standar yang berperan untuk mengumpulkan tangkapan event tersebut adalah:
• • •
zensyslog- Event yang dibuat dari syslog. zentrap- Event yang dibuat dari SNMP. zeneventlog- Event yang dibuat dari Windows event log.
7.1.8. Membuat Event Secara Manual Event dapat dibuat secara manual. Walaupun hal ini mungkin tidak diinginkan, namun hal ini akan sangat membantu ketika mencoba melakukan tes mapping dan transformasi yang sudah dibuat. 7.1.8.1. Membuat Event Melalui User Interface Membuat event melalui user interface dengan langkah-langkah berikut: 1. Dari tabel menu pilih Events, kemudian pilih Add Event. Selanjunya muncul kotak dialog Add an Event.
142
MANAJEMEN EVENT
Gambar 7.8. Kotak Dialog Add Event 2. Lengkapi field event standar, jika ingin memetakan event ke dalam event class, pilih event classyang masih kosong. Mapping event ke dalam event class hanya dapat dilakukan terhadap event yang belum memiliki event class. 7.1.8.2. Membuat event dengan menggunakan Command Line Untuk membuat event dari command line, gunakan script zensendevent, dengan format berikut: zensendevent Options summary Berikut perintah-perintah yang biasa dieksekusi:
• • • •
-d DEVICE, --device=DEVICE -i IPADDRESS, --ipAddress=IPADDRESS -y EVENTKEY, --eventkey=EVENTKEY -p COMPONENT, --component=COMPONENT
MANAJEMEN EVENT
143
• • •
-k EVENTCLASSKEY, --eventclasskey=EVENTCLASSKEY -s SEVERITY, --severity=SEVERITY -c EVENTCLASS, --eventclass=EVENTCLASS
7.1.8.2.1. Contoh Contoh berikut menunjukkan bagaimana menggunakan script zensendevent untuk mensimulasikan event ping down. zensendevent -d router1.example.com -s Critical -c /Status/Ping "Router down" 7.1.9. Event Class Event Class merupakan struktur organisasi sederhana dari event-event yang berbeda tipe, baik yang dihasilkan oleh sistem maupun yang masuk ke dalamnya. Struktur organisasi tersebut sangat berguna untuk mengarahkan proses alert dan reporting. Aturan alert dapat dibuat dan dikirim ke email user atau disajikan dalam halam web atau dapat juga dilihat pada halaman event class/Status/Web. Berikut ini bagian dari event class standar, namun dapat juga dibuat event tambahan disesuaikan dengan kebutuhan.
•
•
• •
class
/Status – digunakan untuk event yang siap digunakan. /Status/Ping – event Ping up/down /Status/Snmp - SNMP up/down events /Status/Web – event Web site atau halaman up/down /Perf - digunakan untuk menentukan performance threshold event. /Perf/CPU – event utilisasi CPU /Perf/Memory – event utilisasi memory /Perf/Interface – event utilisasi Interface jaringan /Perf/Filesystem – event penggunaan file system /App – event yang berhubungan dengan aplikasi. /Change – event yang terjadi akibat dari perubahan di lingkungan sistem.
7.1.9.1. zProperties pada Event Class Seperti device class dan device yang memiliki zProperties, demikian halnya dengan event class dan mappingnya. zProperties diterapkan secara hirarki, dengan zProperties khusus yang sedang digunakan. zProperties berikut yang terdapat pada event class dan mappingnya.
144
MANAJEMEN EVENT
•
• •
zEventAction- Bagaimana dan dimana event yang dihasilkan akan disimpan. status- Tabel event yang aktif history- Tabel event yang masuk ke dalam histori drop- Event yang tidak disimpan zEventClearClasses- Daftar pilihan nama event class yang aktif yang akan dibersihkan oleh clear events pada class ini. zEventSeverity- Event dengan tingkat urgensi akan diganti nilainya, jika tidak nilai aslinya yang akan digunakan.
Contoh yang baik, bagaimana sistem menggunakan zProperties pada event class terdapat di dalam /Change event class. Di dalam zProperties /Change event class, zEventAction di-set drop dan zEventSeverity di-set info. Konfigurasi ini akan menyimpan semua perubahan di dalam sistem, ke dalam tabel histori berupa info severity dari event tersebut. Untuk informasi lebih lanjut tentang teknik manipulasi event, baca bagian manual ini yang berjudul “Mapping dan Transformasi”. 7.1.10. Mapping dan Transformasi Dengan sistem mapping dan transformasi event dapat membuat jangkauan operasi yang lebih luas, dari severity alert pada event tertentu, sampai pada hampir semua event dengan aturan-aturan yang lebih kompleks. field-field berikut dapat dipilih melalui transfomasi event. ( Hal ini terjadi karena field tersebut di-set setelah proses transformasi dilakukan). • • • •
evid firstTime lastTime count
Berikut ini ilustrasi, yang menunjukkan jalur aliran event di dalam sistem mapping.
MANAJEMEN EVENT
145
Gambar 7.9. Event Processing Proses mapping dan transformasi diawali dengan "eventClass field exists". Proses ini juga akan menjadi salah satu faktor terpenting sebagai pembeda bagaimana event dengan tipe tertentu akan ditangani. 7.1.10.1. Mapping Event Class Ada dua cara untuk melihat mapping event class yang ada di dalam sistem. Cara pertama, untuk mencari event menggunakan menu navigasi, klik pada tab Mappings. Disini akan terlihat mapping event class dalam satu lokasi. Di dalam field event class dapat dilihat dimana pemetaan event class tersebut berada. Cara yang kedua
146
MANAJEMEN EVENT
menggunakan menu navigasi, klik tab Classes pada sembarang event class. Cara ini hanya akan memperlihatkan mapping event class yang dipilih. Mapping event class dapat juga dibuat langsung dari event class, namun harus mengetahui ClassKey-nya. Cara mudah untuk membuat mapping event class adalah melalui event console:
• • •
Cari dan pilih event yang diiniginkan kemudian klik Classify. Pilih event class yang akan dipetakan kemudian klik Ok. Secara otomatis mapping class telah berhasil dengan menggunakan eventClassKey yang benar.
Dari tab Edit mapping event class, dapat dikontrol event-event mana yang sesuai dengan hasil mapping event class, kasus ini juga berlaku untuk property yang lain:
• • • •
•
•
• •
Name- Sebagai penanda dari mapping event class, tidak perlu sesuai dangan event-nya. Event Class Key- Harus sesuai dengan eventClassKey dari event yang masuk, untuk mapping ini harus dipastikan sesuai dengan event-nya. Sequence- Untuk mengetahui urutan mapping, pilih tab Sequence untuk memilih urutan posisinya. Rule- Cara lain untuk mencari kesesuaian mapping event class dengan menggunakan kode pemrograman Python. Jika kode pemrogramannya dinyatakan benar dan sesuai dengan event yang ada, selanjutnya mapping dapat dilakasanakan. Regex- Ekspresi pencocokan ini hanya akan digunakan bila proses pencocokan dengan menggunakan aturan yang sudah ada hasilnya kosong. Kasus ini akan ditangani oleh Perl Compatible Regular Expression (PCRE). Jika regex menemukan event yang cocok, selanjutnya mapping dapat dijalankan. Transform- Dengan menggunakan kode Python yang hanya akan dijalankan pada event yang cocok dengan mappingnya. Untuk lebih jelasnya Anda dapat membaca bagian manual ini yang berjudul Transformasi Event class. Explanation- Field isian, yang dapat digunakan untuk menambahkan penjelasan dari sejumlah event yang cocok dengan mapping ini. Resolution- Field isian, yang dapat digunakan untuk menambahkan resolusi pada sejumlah event yang cocok dengan mapping ini.
Dari tab Sequence dalam mapping event class dapat ditangani kemungkinan adanya proses mapping pada eventClassKey yang sama. Pada kasus ini, urutan event akan
MANAJEMEN EVENT
147
dievaluasi dan diurutkan dari nomor kecil ke besar sampai prosedur rule dan regex menemukan event yang cocok dengan mappingnya. Proses mapping memiliki zProperties yang sama dengan event class. Sejumlah zProperty yang di-set secara lokal akan menimpa dan menggantikan property pada event class. Hal ini juga akan akan berlaku pada hirarki sistem. Jika sebuah event tertangkap, ia belum memiliki event class. Pada event tipe ini harus dipetakan ke dalam event class agar event tersebut mempunyai efek. Jika hal ini tidak dilakukan maka event tersebut akan dikirim ke kelas /Unknown, dan statusnya akan dikembalikan ke status default. Untuk mengevaluasi lebih lanjut terhadap event yang tidak memiliki event class, dengan memeriksa eventClassKey. Cara ini penting dan pertama dilakukan untuk mengontrol mapping event class yang mana yang cocok dengan event tersebut. Jika event tersebut memiliki status eventClassKey kosong atau eventClassKey-nya tidak cocok dengan mapping event class di dalam sistem, maka sebagai penggantinya akan menggunakan “defaultmapping” eventClassKey. Sistem akan melakukan mapping event walaupun eventClassKey event tersebut dalam keadaan kosong atau tidak dapat diprediksi. 7.1.10.2. Transformasi Event Class Ketika sistem menghasilkan event dan menetapkan event class -nya, hal ini akan menyebabkan tahapan mapping event class akan dilewati. Untuk menghindari hal tersebut dengan cara men-set zProperties event class dan transformasinya. Untuk mengakses transformasi pada event class: 1. Arahkan ke event class. 2. Dari halaman menu pilih More Transform. 3. Masukkan info ke dalam kotak dialog (dengan kode Python). Event dalam kode Python ditulis evt, dan jika event tersebut cocok dengan device yang terdapat dalam sistem database, maka akan muncul objek device yang dimaksud. Contoh berikut menunjukkan bahwa objek device tersebut memang ada dalam sistem, sebelum diletakkan di dalam field event. if device and "Hawaii" in device.getLocationName(): evt._action = "drop"
148
MANAJEMEN EVENT
7.1.11. Siklus Masa Aktif Event Ada beberapa proses otomatis untuk memindahkan event dari status aktif ke dalam histori. Masa aktif event ditentukan oleh aktifitas event yang masuk ke dalam database, dipindahkan, dan dihapus dari database. Ilustrasi berikut ini menggambarkan siklus masa aktif event:
Gambar 7.10. Siklus Aktif Event 7.1.11.1. masa berlaku Event Secara Otomatis Dari event manager, dapat di-set otomatis masa berlaku terhadap event-event tertentu yang memiliki severity rendah dan secara otomatis dimasukkan ke dalam tabel histori. Properti event manager yang memiliki kemampuan kontrol ini adalah:
•
Event Aging Threshold (hours)- Standar, di-set 4 jam.
MANAJEMEN EVENT
149
•
Don't Age This Severity and Above- Standar, di-set dengan Warning.
Dengan status properties default, yaitu status Debug, Info, dan Warning, event yang tidak mengalami perubahan selama 4 jam, secara otomatis akan dipindahkan ke dalam tabel histori. 7.1.11.2. Pembersihan Histori Event otomatis Pembersihan event secara otomatis dalam tabel histori dapat di-set dari menu Event Manager. Event yang telah dibersihkan dapat dikembalikan lagi, hanya melalui proses backup. Karena alasan tersebut, nilai property default diset 0, agar event tidak dihapus secara otomatis dari tabel histori. Property event manager yang mengontrol kemampuan ini adalah Delete Historical Events Older Than (days). 7.1.12. Event Command Dengan event command memungkinkan sistem untuk menjalankan perintah ketika event itu muncul dan dicocokkan dengan kriteria konfigurasi awal. Perintah event yang biasanya dijalankan meliputi: •
• •
Auto-remediation of events. Jika sistem mengalami kegagalan, dapat digunakan SSH untuk mengulang dari awal (restart), pada sistem UNIX, atau menggunakan winexe pada sistem Windows Integration with external systems. Termasuk mengirim SNMP trap ke sistem manajemen lain, atau membuka tiket dalam sistem manajemen insiden. Extending alerting mechanisms. Pulpo hanya mendukung alert berupa email dan penyeranta dengan menggunakan mekanisme “out of the box”, melalui aturan alert. Perintah event dapat juga digunakan untuk memberi alert berupa sistem instant, bisa juga berupa alert suara.
Perintah event yang dibuat dievaluasi dan dijalankan oleh zenactionsdaemon setiap menit sekali (sebagai aturan pemberi alert). 7.1.12.1. Membuat Event Command Untuk membuat atau mengedit event command, gunakan tab Commands yang ada pada Event Manager, dari sini dapat ditetapkan property berikut ini: • •
Enabled- Jika diset True, perintah akan dievaluasi dan dijalankan. Default Command Timeout (secs)- Waktu tunggu sistem dalam detik untuk menjalankan perintah yang dibuat di field Command dan Clear Command. Jika
150
MANAJEMEN EVENT
• •
•
•
•
perintah tidak dijalankan melebihi waktu tunggu, maka sistem akan menghentikannya. Delay (secs)- Menentukan umur event (dalam detik) sebelum perintah dijalankan pada event tersebut. Repeat Time (secs)- Perintah akan dijalankan berulang dalam beberap detik, jika event yang menjadi target masih aktif. Property ini diset 0 agar perintah dijalankan sekali saja. Command- Menentukan perintah yang akan dijalankan di dalam sel jika kriteria yang ditentukan sesuai dengan event tersebut. Perintah ini dijalankan sebagai user Pulpo, dan menggunakan syntax TALES sebagai pengganti variabel. Untuk mengetahui lebih lanjut tentang TALES, lihat appendix dengan judul Ekspresi TALES. Variabel yang digunakan diantaranya: evt, device, dan component. Clear Command- Serupa dengan property Command. Perintah ini akan dijalankan hanya jika suatu event yang cocok dengan kriterianya telah dibersihkan. Where- Menentukan kriteria sebuah event dimana event tersebut memiliki target yang sesuai dangan perintah event.
7.1.13. Menangkap Pesan Email sebagai Event ZenMail dan ZenPop akan menangkap pesan email menjadi event. Kemampuan ini dapat berguna ketika: WAPs, NAS devices, atau RAID controllers akan dimasukkan ke dalam sistem sebagai notifikasi email. 7.1.13.1. ZenMail ZenMail berfungsi sebagai server SMTP yang dapat ditempatkan ke port TCP tertentu. Kemudian sistem dapat dikonfigurasi agar dapat mengirim email ke server Pulpo secara eksplisit dengan menggunakan alamat IP Pulpos server sebagai penghubungnya. ZenMail mendukung berbagai petunjuk konfigurasi berikut: •
•
${ZENHOME}/bin/zenmail (no arguments) – Operasi standar. Menggabungkan semua port ke dalam port 25 dan menangkap pesan email yang muncul. Mengabaikan field To dan menggunakan data dari field From yang dijadikan sebagai IPaddress device tersebut. ${ZENHOME}/bin/zenmail--listenPort- Menggabungkan ke dalam port yang disediakan. Konfigurasi ini sangat berguna ketika SMTP server sudah berjalan pada Pulpo server dan aktifitas sistem pengiriman email yang sudah ada tidak akan menimbulkan gangguan. Alamat From juga digunakan sebagai IP dari device tersebut.
MANAJEMEN EVENT
151
7.1.13.2. ZenPop Perintah ZenPop dapat memanggil kembali event email dari server POP. ZenPop mendukung berbagai petunjuk konfigurasi berikut: •
•
• • • • •
-usessl- Menggunakan perintah STARTTLS ke server POP dan berusaha untuk memindahkan pesan email dengan menggunakan enkripsi SSL. Cara ini diperlukan jika memanggil email dari Google. --nodelete- Jangan menggunakan perintah DELETE setelah memanggil semua pesan email. Perintah ini biasa digunakan bila sedang melakukan pengujian pengiriman pesan agar pesan yang dikirim tidak masuk ke dalam account POP. Beberapa sistem email (seperti Google), tidak akan menghapus pesan tersebut walaupun dijalankan perintah DELETE --pophost- Hostname atau IP address POP server yang pesannya yang dipanggil kembali. --popport- Menangkap port TCP POP server. Standarnya 110. Digunakan pada situasi dimana POP mengaktifkan port yang lain (misalnya port Google 995). --popuser- Nama user yang emailnya dipanggil kembali. --poppass- Password yang digunakan oleh nama user. --cycletime- Setelah email dikembalikan, ZenPop akan berhenti sejenak, sebelum bekerja kembali.
7.1.13.3. Menterjemahkan Elemen Pesan ke dalam Event Pulpo menterjemahkan berbagai elemen pesan ke dalam event, sebagai berikut: •
• • •
FROM Field- Jika field FROM adalah IP address, kemudian sistem akan menghubungkan event tersebut dengan dengan device yang memiliki IP address yang sama. Jika field FROM berupa nama domain yang benar, kemudian sistem akan mengkorversinya menjadi IP address dan device akan dihubungkan dengan IP address tersebut. Resolusi hostname menggunakan rekaman “A” bukan “MX”. TO Field- Dalam hal ini sistem akan mengabaikan field TO dari email. SUBJECT Field- ZenMail dan ZenPop menggunakan SUBJECT sebagai summary event. Message Body- ZenMail dan ZenPop menggunakan lampiran tiruan yang pertama sebagai detail event. Sistem akan mengabaikan pesan dengan kode HTML atau lampiran berupa file.
152
MANAJEMEN EVENT
7.1.14. SNMP Trap dan Transformasi Event SNMP trap adalah pesan yang diinisiasi oleh elemen jaringan dan dikirim ke dalam sistem manajemen jaringan. Sebagai contoh, pesan dari router berupa tanda terjadi masalah pada power supply device tersebut, atau pesan dari printer berupa tanda bahwa tintanya habis. Jika SNMP traps masuk ke dalam sistem, dan Pulpo tidak dapat mengidentifikasi sebagai event (event dimasukkan ke dalam kelas /Unknown), event tersebut harus dimasukkan ke dalam class tertentu agar dapat ditangani dengan benar. 7.1.14.1. Klasifikasi SNMP Trap Tahapan klasifikasi event hasil SNMP Trap: 1. Dari console event, select the Unknown Event atau Event. 2. Klik akan muncul kotak dialog Classify Events 3. Pilih /App, dan klik Submit, Cara mengedit klasifikasi sebagai berikut: 1. 2. 3. 4.
Dari area Navigation, pilih Events, Klik tab Mapping, Pilih event yang telah dipetakan, Klik tab Edit, akan muncul halaman Event Mapper, pada halaman ini terdapat aturan mapping event dengan kategori /App. Aturan ini mencocokkan event hasil trap dengan OID tertentu.
Di dalam area Transform dapat dimasukkan kode untuk memodifikasi summary. Misalnya, summary ingin berisi informasi tentang “Spam Terdeteksi Sebagai Virus”, keterangan ini dapat dimasukkan di dalam area tersebut. evt.summary = "Spam Filter Detects Virus" Event hasil trap mempunyai sejumlah informasi standar beserta nialinya dan atribut urutannya. Klik kolom terakhir event tersebut untuk melihat nilai dan detailnya. Misalnya tanda nilai OID ".1.3.6.1.4.1.9789.1500.2.5", sebagai summary. Kemudian memuat MIB, dapat dilakukan dengan cara berikut: evt.summary = evt.spamFilterDetectsVirus
MANAJEMEN EVENT
153
Jika OID dan data masih ada, sebagai gantinya gunakan perintah berikut: evt.summary = getattr(evt, ".1.3.6.1.4.9789.1500.2.5", "Unexpected missing OID") Objek "device" untuk event yang aktif, lakukan sebagai berikut: evt.summary = getattr(evt, ".1.3.6.1.4.9789.1500.2.5", "Unexpected missing OID") + " from device " + device.g Pulpo menggunakan MIBs untuk menterjemahkan hasil SNMP trap yang berisi nilai OID. Setelah dimuat ke dalam MIB, sistem akan menterjemahkan kode OID, misal .1.3.6.1.2.1.1.6 diterjemahkan menjadi kalimat “sysLocation”. Hal ini memudahkan untuk memanipulasi event pada saat mapping.
Gambar 7.11. Tranformasi SNMP Trap Berikut ini demontrasi dari MIB: NOTIFICATION-TEST-MIB DEFINITIONS ::= BEGIN IMPORTS ucdavis FROM UCD-SNMP-MIB NOTIFICATION-TYPE FROM SNMPv2-SMI ;
154
MANAJEMEN EVENT
demonotifs OBJECT IDENTIFIER ::= { ucdavis 991 } demo-notif NOTIFICATION-TYPE OBJECTS { sysLocation } STATUS current DESCRIPTION "Just a test notification" ::= { demonotifs 17 } END
7.1.14.2. Contoh: Cara Mengirim Test Trap Berikut tahapan mengirim SNMP trap 1. Dari command line, masukkan perintah berikut: $ snmptrap -v 2c -c public localhost '' 1.3.6.1.4.1.2021.991.1.3.6.1.2.1.1.6 s "Device in Annapolis" 2. Simpan demonstrasi MIB ini ke dalam suatu file. 3. Kirim trap(event trap). 4. Buka console event dan cari trap yang telah terkirim. 5. Dari kolom paling kanan console event, klik ikon kaca pembesar pada event yang telah terkirim. 6. Klik tab Detail, dan akan terlihat ini .1.3.6.1.2.1.1.6 Device in Annapolis 7. Kirim event tersebut ke histori. Sekarang panggil beberapa MIB ke dalam sistem sehingga OID diterjemahkan ke dalam format yang lebih baik. 1. Salin demonstrasi MIB ke dalam $ZENHOME/share/mibs/site. 2. Jalankan zenmibto $ zenmib run -v 10 DEBUG:zen.zenmib:TRAP-TEST-MIB.mib INFO:zen.zenmib:Unable to find a file providing \the MIB UCD-SNMP- MIB ... 3. MIB telah dimuat, tetapi ada beberapa kesalahan definisi. Dan Salin semua: $ cp /usr/share/snmp/mibs/SNMPv2-MIB.txt $ZENHOME/share/mibs/site $ cp /usr/share/snmp/mibs/UCD-SNMP-MIB.t $ZENHOME/share/mibs/site
MANAJEMEN EVENT
155
4. Jalankan zenmibagain masukkan hasilnya ke dalam sistem: $ zenmib run -v 10 5. Kirim hasil trap: $ snmptrap -v 2c -c public localhost '' 1.3.6.1.4.1.2021.13.991 .1.3.6.1.2.1.1.6 s "Device in Annapolis" 6. Cek event. Pastikan nomor urutnya 1. Jika bernomor 2, kirim event tersebut ke dalam histori, dan kirim trap lagi. Lihat pada tab Detail,dan seharusya akan terlihat tampilan berikut sysLocation Device in Annapolis perubahan summary event dapat dilihat dari: snmp trap 1.3.6.1.4.1.2021.13.991 from localhost ke: snmp trap ucdExperimental from localhost 7.1.14.3. Transformasi Event dengan Mapping Event Untuk memodifikasi event, buatlah peta event melalui antarmuka pengguna: 1. 2. 3. 4.
Buatlah event class . Buka console event dan buatlah mapping event dalam event class. Di dalam peta, pilih tab Edit. Dalam area Transform, update event dengan detail data. Dalam field entry dapat dimasukkan script Python. Event dinyatakan sebagai "evt” dan device sebagai “dev”. Dalam kasus ini, uraikan event syslocation secara detail, dan buatlah summary dengan: evt.summary = evt.sysLocation
5. Simpan hasil mapping event tersebut. 7.1.14.4. Transformasi Event Berdasarkan Event Class Ketika event masuk ke dalam sistem, nilai property-nya dapat diubah (misalnya nilai severity). Sebagai contoh, summary dapat dibuat menjadi lebih informatif, atau mengubah severity mengikuti teks yang ada dalam summary. Pada setiap event class dapat dijalankan script Python untuk setiap event yang masuk.
156
MANAJEMEN EVENT
Contoh: User menginginkan event ambang batas file system pada /Data berstatus kritis. Tambahkan script pada Threshold Transform of /Events/Perf/Filesystem: if evt.component == '/data' and evt.severity != 0: evt.severity = 5 Seperti halnya mapping pada Event Class Keys, baik objek "evt" dan "device" dapat dipakai untuk script transformasi.
MANAJEMEN EVENT
157
158
MANAJEMEN EVENT