PHPackages                             koyabu/snmpclient - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. koyabu/snmpclient

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

koyabu/snmpclient
=================

SNMP Client for v2/v3

010PHP

Since Dec 27Pushed 4mo agoCompare

[ Source](https://github.com/stievenk/SNMP-Cient)[ Packagist](https://packagist.org/packages/koyabu/snmpclient)[ RSS](/packages/koyabu-snmpclient/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Koyabu\\SnmpClient
==================

[](#koyabusnmpclient)

`Koyabu\SnmpClient` adalah **library PHP ringan** untuk mengambil informasi server atau perangkat jaringan menggunakan **SNMP** (Simple Network Management Protocol).

Library ini cocok untuk:

- monitoring server Linux
- dashboard server / VPS
- sistem monitoring internal
- belajar SNMP dengan cara yang lebih sederhana

Mendukung **SNMP v2c dan SNMP v3**, serta sudah dirancang agar **aman, stabil, dan mudah digunakan**.

---

✨ Fitur Utama
-------------

[](#-fitur-utama)

- ✅ Mendukung **SNMP v2c &amp; v3**
- ✅ Ambil data **sistem, CPU, RAM, disk, jaringan**
- ✅ Ambil **daftar IP address server**
- ✅ Ambil **port TCP yang sedang LISTEN**
- ✅ Hitung **traffic jaringan (RX / TX delta)**
- ✅ Error handling jelas dengan Exception
- ✅ Logging otomatis
- ✅ Kode modern, rapi, dan efisien

---

📋 Persyaratan
-------------

[](#-persyaratan)

- PHP **7.4 atau lebih baru**
- Ekstensi PHP: `php-snmp`
- Composer

Pastikan SNMP aktif di server target (biasanya `snmpd` di Linux).

---

📦 Instalasi
-----------

[](#-instalasi)

Jika library tersedia via Composer:

```
composer require koyabu/snmpclient
```

Jika ini library lokal, pastikan autoload di `composer.json` sudah benar.

Jangan lupa load autoloader:

```
require 'vendor/autoload.php';
```

---

🚀 Cara Menggunakan
------------------

[](#-cara-menggunakan)

### 1️⃣ Inisialisasi SnmpClient

[](#1️⃣-inisialisasi-snmpclient)

#### 🔹 SNMP v2c (paling umum &amp; mudah)

[](#-snmp-v2c-paling-umum--mudah)

```
use Koyabu\SnmpClient\SnmpClient;

$snmp = new SnmpClient(
    '192.168.1.1',
    2,
    ['community' => 'public']
);
```

---

#### 🔹 SNMP v3 (lebih aman)

[](#-snmp-v3-lebih-aman)

```
use Koyabu\SnmpClient\SnmpClient;

$authV3 = [
    'sec_name'   => 'snmpuser',
    'sec_level'  => 'authPriv',
    'auth_proto' => 'SHA',
    'auth_pass'  => 'passwordAuth',
    'priv_proto' => 'AES',
    'priv_pass'  => 'passwordPriv'
];

$snmp = new SnmpClient('192.168.1.1', 3, $authV3);
```

---

📊 Mengambil Data
----------------

[](#-mengambil-data)

### 🖥️ Informasi Sistem

[](#️-informasi-sistem)

```
print_r($snmp->systemInfo());
```

Contoh hasil:

```
[
  'hostname' => 'server-01',
  'os'       => 'Linux Ubuntu 22.04',
  'location' => 'Data Center',
  'uptime'   => '3 days, 04:12:55'
]
```

---

### ⚙️ Beban CPU

[](#️-beban-cpu)

```
print_r($snmp->cpuLoad());
```

```
[
  '1min'  => 0.25,
  '5min'  => 0.30,
  '15min' => 0.28
]
```

---

### 🧠 Memori (RAM &amp; Swap)

[](#-memori-ram--swap)

> Semua nilai dalam **KB**

```
print_r($snmp->memory());
```

```
[
  'physical' => [
    'total' => 8192000,
    'used'  => 4200000,
    'free'  => 3992000
  ],
  'swap' => [
    'total' => 2048000,
    'used'  => 128000,
    'free'  => 1920000
  ]
]
```

---

### 💽 Disk

[](#-disk)

```
print_r($snmp->disks());
```

```
[
  [
    'mount'    => '/',
    'total_kb' => 512000000,
    'used_kb'  => 256000000
  ],
  [
    'mount'    => '/home',
    'total_kb' => 1024000000,
    'used_kb'  => 307200000
  ]
]
```

---

### 🌐 Interface Jaringan

[](#-interface-jaringan)

```
print_r($snmp->interfaces());
```

```
[
  2 => [
    'device'    => 'eth0',
    'rx_bytes'  => 987654321,
    'tx_bytes'  => 123456789
  ]
]
```

---

### 🧾 Daftar IP Address Server

[](#-daftar-ip-address-server)

Mengembalikan semua IP yang terdaftar di server (LAN, Docker, VPN, dsb).

```
print_r($snmp->ipAddresses());
```

```
[
  [
    'ip' => '103.150.191.56',
    'interface_index' => 2,
    'device' => 'eth0',
    'netmask' => '255.255.254.0'
  ],
  [
    'ip' => '172.22.0.1',
    'interface_index' => 178,
    'device' => 'ztdiyuprfr',
    'netmask' => '255.255.0.0'
  ]
]
```

> ⚠️ Catatan:
>
> - IP Docker / VPN **akan ikut terbaca**
> - Ini normal dan **bukan bug**

---

### 🔐 Port TCP yang Sedang LISTEN

[](#-port-tcp-yang-sedang-listen)

```
print_r($snmp->listeningPorts());
```

```
[22, 80, 443, 3306]
```

📌 Hanya port **TCP LISTEN**, bukan UDP.

---

📈 Hitung Traffic Jaringan (RX / TX)
-----------------------------------

[](#-hitung-traffic-jaringan-rx--tx)

```
$first  = $snmp->interfaces();
sleep(60);
$second = $snmp->interfaces();

$delta = SnmpClient::trafficDelta($first, $second);

print_r($delta);
```

Hasil (dalam **byte per interval**):

```
[
  2 => [
    'device' => 'eth0',
    'rx_bps' => 102400,
    'tx_bps' => 204800
  ]
]
```

> Jika ingin **bit per detik (bps)**:

```
$iface['rx_bps'] = ($iface['rx_bps'] * 8) / 60;
```

---

❌ Penanganan Error
------------------

[](#-penanganan-error)

Semua error akan melempar `SnmpException`.

```
use Koyabu\SnmpClient\SnmpException;

try {
    $snmp->systemInfo();
} catch (SnmpException $e) {
    echo "SNMP Error: " . $e->getMessage();
}
```

---

📝 Logging
---------

[](#-logging)

Default log:

```
/var/log/snmp-monitor.log

```

Custom log:

```
use Koyabu\SnmpClient\SnmpLogger;

$logger = new SnmpLogger(__DIR__ . '/snmp.log');

$snmp = new SnmpClient(
    '192.168.1.1',
    2,
    ['community' => 'public'],
    $logger
);
```

---

✅ Penutup
---------

[](#-penutup)

Library ini dirancang agar:

- **mudah dipakai user awam**
- **cukup kuat untuk produksi**
- **tidak ribet SNMP raw**

Silakan dikembangkan lebih lanjut sesuai kebutuhan monitoring Anda.

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance51

Moderate activity, may be stable

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity12

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/09b7ee9510aae1fe1a8aea5c2f2c39683d3c3f20d389420e6f862b322aed8eee?d=identicon)[stievenk](/maintainers/stievenk)

---

Top Contributors

[![stievenk](https://avatars.githubusercontent.com/u/486428?v=4)](https://github.com/stievenk "stievenk (7 commits)")

### Embed Badge

![Health badge](/badges/koyabu-snmpclient/health.svg)

```
[![Health](https://phpackages.com/badges/koyabu-snmpclient/health.svg)](https://phpackages.com/packages/koyabu-snmpclient)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
