Minggu, Mei 28, 2017

Sistem Monitoring dengan Script PHP

Udah lama ga posting.
Lagi develop kecil2an sistem monitoring Linux dengan scrip PHP.
Saya kasih nama RMonit, dibawah lisensi GPL-v2.

Ada 4 file:
- BACADULU.txt
- rmonit_config.php
- rmonit_function.php
- rmonit_cek.php

Fungsi:
monitoring uptime (dg ping), disk, spu, dan ram usage.
Output:
SMS alert.

Silakan pakai, dan kembangkan. Jangan lupa mencantumkan sumber.
SMS gateway menggunakan zenziva.net.

BACADULU.txt

*********************************************************************
*                                                      *
*   RMonit v1.0.0.rc1 (Monitoring system with PHP)                *
*   Oleh   : Raka Yusuf                                      *
*   License: GNU GPL-v2                                      *
*                                                      *
*********************************************************************
RMonit  adalah  sistem monitoring  berbasis PHP-CLI,  bukan web-based
PHP. RMonit memonitor uptime host (dengan ping), penggunaan CPU, RAM,
dan disk,  baik lokal maupun remote, TAPI HANYA LINUX.  Ditambah lagi
dengan monitoring  replikasi Galera  Cluster (MariaDB).  Use it  with
your own risks!

Cara menggunakan RMonit:
1. Sediakan dulu DB di MySQL utk Log, nama DB bebas.  Nama tabel juga
   bebas. Di host mana bebas juga. Catat nama host, nama DB, nama ta-
   bel, user, dan pswd. Isikan di file konfig rmonit_config.php
2. Struktur tabel log pada poin (1) adalah sbb:
    CREATE TABLE nama_table (
  id INT auto_increment,
  tgl DATETIME,
  host VARCHAR(15),
  service VARCHAR(10),
  status INT default 1,
  count INT default 0,
  PRIMARY KEY (id)
    )
3. Pada file konfig,  sesuaikan mana  yang mau dimonitor.  Baca komen
   pada file konfig.
4. PHP harus diinstal dg modul cURL dan mysql. Misal:
   di debian,
       apt-get install php5 php5-mysql php5-curl
   WARNING: RMonit tidak jalan di PHP7.0!!
4. Ada  baiknya menginstal  modul php5-snmp  supaya tidak ada warning
   soal snmp (optional).
5. Tambahkan di crontab
       */2 * * * * /path-ke-rmonit/rmonit_cek.php
   bila diinginkan pengecekan tiap 2 menit.
6. Untuk pengecekan disk, CPU, dan RAM secara remote,  host yg dituju
   harus sudah dapat dihubungi dg ssh tanpa perlu login.  Gunakan pe-
   rintah:
      #ssh-keygen
      #ssh-copy-id -i ~/.ssh/id-rsa.pub [ip-host-tujuan]
   silakan googling untuk hal ini.
7. Selamat mencoba.

Change Log:
1.0.0rc1
- dapat  digunakan juga  untuk  pengecekan  remote host  untuk uptime
  (dengan ping), disk usage, CPU usage, dan RAM usage
- perubahan konfig ping menjadi {IP, NamaHost, PingCycle}
- perubahan konfig disk menjadi {IP, NamaHost, Limit}
- perubahan konfig CPU menjadi  {IP, NamaHost, Limit}
- perubahan konfig RAM menjadi  {IP, NamaHost, Limit}
- pengecekan disk, cpu, ram dilakukan bila host hidup (dicek dg ssh)

0.6.3
- Menambahkan berapa lama host down (service: ping)
- Menambahkan $pesanSMS dan membuang "Silakan periksa" dari SMS untuk

  host UP (service: ping)