TCP/IP: Simple Network Management Protocol

From SpeedyWiki

Jump to: navigation, search

Network Manajemen

Salah satu pekerjaan yang mungkin paling sulit untuk dilakukan adalah mengatur / memanaged banyak peralatan jaringan, seperti, router, gateway, server dll. Alangkah indahnya, jika proses manajemen peralatan jaringan dapat dilakukan dengan mudah dari satu komputer tanpa perlu secara fisik mengkonfigurasi di muka masing-masing alat satu per satu.

Untuk keperluan tersebut, di kembangkan Simple Network Management Protocol (SNMP) yang merupakan bagian dari keluarga protokol Internet yang di definisikan oleh Internet Engineering Task Force (IETF).

SNMP adalah protokol populer untuk melakukan network manajemen. SNMP digunakan untuk mengumpulkan informasi, dan mengkonfigurasi, peralatan jaringan, seperti, server, printer, hub, switch, dan router di jaringan berbasis Internet Protocol (IP). SNMP dapat mengumpulkan informasi seperti kondisi CPU, temperatur chasis, dan hampir tidak ada batas akan apa yang dapat dikonfigurasi oleh SNMP.

Protokol SNMP di rancang untuk memberikan metoda “sederhana” untuk memanage jaringan TCP/IP secara terpusat. Jika anda ingin memanaged peralatan dari komputer pusat, protokol SNMP akan memfasilitasi transfer data dari sisi client sampai sisi server dimana data secara terpusat di catat, di lihat dan di analisa. SNMP tersediri dari sekumpulan standard manajemen jaringan, termasuk di dalamnya definisi aplikasi di lapisan aplikasi, schema database dan sekumpulan objek data. Tujuan utama dari protokol SNMP hanya pada satu tujuan saja, dan masih digunakan hingga hari ini, yaitu, melakukan remote manajemen dari peralatan. SNMP banyak digunakan untuk memanage peralatan di jaringan komputer.

CP/IP Internet Standard Management Framework Architecture and Protocol Components (Page 1 of 2) TCP/IP network management is based on the Simple Network Management Protocol, abbreviated SNMP. As we saw in the overview topic, however, this term is ambiguous. While it is commonly used to refer to the actual communication protocol used to exchange network management information, the term also refers to the entire set of technologies that enable TCP/IP network management. The technical name for this larger architecture is the Internet Standard Management Framework. Again, even though it may seem strange, this term is actually abbreviated in the standards as “SNMP”. For simplicity, I abbreviate it as the “SNMP Framework”, to differentiate it from the SNMP protocol. he Internet Standard Management Framework encompasses all of the technologies that comprise the TCP/IP network management solution. The SNMP Framework consists of a number of architectural components that define how management information is structured, how it is stored, and how it is exchanged using the SNMP protocol. The Framework also describes how the different components fit together, how SNMP is to be implemented in network devices, and how the devices interact. As we will explore in more detail later, the Internet Standard Management Framework is entirely information-oriented. It includes the following primary components (see Figure 271): Structure of Management Information (SMI): To ensure interoperability of various devices, we want to have a consistent way of describing the characteristics of devices to be managed using SNMP. In computer science, a data description language (DDL) is the tool for this job. The Structure of Management Information (SMI) is a standard that defines the structure, syntax and characteristics of management information in SNMP. Management Information Bases (MIBs): Each managed device contains a set of variables that is used to manage it. These variables represent information about the operation of the device that is sent to a network management station, and/or parameters sent to the managed device to control it. The management information base (MIB) is the full set of these variables that describe the management characteristics of a particular type of device.

Each variable in a MIB is called a MIB object, and is defined using the SMI data description language. A device may have many objects, corresponding to the different hardware and software elements it contains. Initially, a single document defined the MIB for SNMP, but this model was inflexible. To allow new MIB objects to be more easily defined, groups of related MIB objects are now defined in separate RFC standards called MIB modules. Over 100 such MIB modules have been defined so far. Simple Network Management Protocol (SNMP): This is the actual SNMP protocol itself. It defines how information is exchanged between SNMP agents and network management stations. The SNMP protocol operations define the various SNMP messages and how they are created and used. SNMP transport mappings describe how SNMP can be used over various underlying internetworks, such as TCP/IP, IPX and others. Security and Administration: To the three main architectural components above, the SNMP Framework adds a number of supporting elements. These provide enhancements to the operation of the SNMP protocol for security, and address issues related to SNMP implementation, version transition and other administrative issues.  

Figure 271: Components of the TCP/IP Internet Standard Management Framework


TCP/IP Structure of Management Information (SMI) and Management Information Bases (MIBs) Overview (Page 1 of 3)

The key to really understanding TCP/IP network management is to comprehend the information-oriented nature of the entire Internet Standard Management Framework (SNMP Framework). To see what I mean by this, let's step back for a moment and consider in general terms the problem of network management, and more specifically, the problem of managing devices on a network. Understanding SNMP's Information-Oriented Design

A network administrator needs to perform two basic types of actions: gather data about devices to learn how they are functioning, and give commands to devices to change how they are functioning. In the simplest terms, the first category can be considered like a “read” operation, and the second is comparable to a “write” operation.

A classical way of implementing this functionality is to define a communication protocol. Most such protocols are command-oriented—they consist of a specific set of commands to perform the “read” and “write” operations we mentioned above. For example, a network management protocol might have a read command such as “report on number of hours device has been in use”, and a write command such as “put this device into test mode”. The network manager would control the device by giving the appropriate commands.

A command-oriented management protocol has the advantage of simplicity: it's clear what the commands are for and how they are to be used. It can be reasonably well-suited for use in certain environments, but it doesn't work well on a large, heterogeneous TCP/IP internetwork. The main reason for this is that command-orientation inextricably ties the protocol to the devices being managed. Consider:

   * Every type of device might require a distinct set of commands. For example, the commands given to a router might need to be different than those given to a host. This would lead either to a proliferation of commands in the protocol, or to inflexibility in allowing proper management of different device types.
   * Every time a company created a new type of device, or made a unique version of a type of device, the network management protocol would have to be changed.
   * Whenever the operation of a kind of device changed, due perhaps to a change in another protocol, the management protocol would need to be updated.
   * The protocol itself could not be easily changed without affecting a lot of hardware. 

The solution to the problems of command-oriented management protocols was to use an information-oriented model. Instead of defining specific commands that interrogate or control devices, the devices are defined in terms of units of information that are to be exchanged between the devices and a management station.

Instead of “read” commands and “write” commands, we have variables that can be “read” or “written”. Take the two examples mentioned earlier. Instead of a command like “report on a number of hours device has been in use”, the device keeps a variable called “number of hours in use” and the network management station can “read” this as one of many variables, with no need for a specific protocol command. Instead of a “write” command called “put this device into test mode”, the device has a variable called “current mode”. The network manager can change the mode of the device to “test” by changing the value of the variable.

This difference may seem subtle, but it in fact underlies every aspect of how SNMP works. I believe part of why the SNMP Framework is hard to understand is because insufficient emphasis is placed on looking at things in the “SNMP way”, which means thinking about information objects and not commands.

Key Concept: Unlike most protocols, which are command-oriented, SNMP is information-oriented. SNMP operations are implemented using objects called variables that are maintained in managed devices. Rather than issuing commands, a network management station checks the status of a device by reading variables, and controls the operation of the device by changing (writing) variables.

SNMP menggunakan UDP

UDP singkatan dari User Datagram Protocol dan merupakan kebalikan dari TCP, Transmission Control Protocol yang sangat reliable dan protokol dengan overhead waktu yang tinggi.

User Datagram Protocol sangat rendah overhead-nya, cepat dan tidak reliabel.UDP di definisikan di RFC 768. UDP lebih mudah di gunakan daripada menggunakan protokol yang lebih kompleks seperti TCP. Walau demikian, UDP mampu memberikan banyak fungsi yang memungkinkan komputer pusat manajemen untuk berkomunikasi dengan agen remote yang terdapat pada managed device. Unreliabilitas dapat di kompensasi dengan menggunakan proses cek-and-recek, sementara pada TCP selalu di tunggu paket acknowlege. Sementara yang terjadi dalam pencatatan di peralatan biasanya pada siklus waktu periodik, tidak masalah jika ada data yang hilang karena nantinya akan tetap di update dengan data yang baru. Hal lain yang menyebabkan UDP menarik untuk digunakan adalah karena sangat sederhana, tidak memakan bandwidth jaringan terlalu besar tidak seperti TCP.



Operasi SNMP

Rancangan SNMP relatif sederhana. Pada dasarnya ada dua (2) pemain utama di SNMP, yaitu, manager dan agen. Manager biasa berupa komputer utama, seperti, HP OpenView. Agen dapat berupa software SNMP yang berjalan di client yang berusaha kita monitor.

Manager biasanya berupa software aplikasi yang berjalan di sebuah workstation atau komputer besar yang berkomunikasi dengan agen yang berjalan di setiap peralatan yang akan di monitor. Agen dapat di temukan di switch, firewall, server, wireless access point, router, hub, bahkan di user workstation. Manager akan meminta agen akan informasi, dan agen akan menjawab dengan informasi yang di inginkan.

Network Management Station (NMS)

The manager is also called a Network Management Station or NMS for short. The software used to create the NMS varies in functionality as well as expense. You can get cheaper applications with lesser functionality or pay through the nose and get the Lamborghini of NMS systems. Other functionalities of the NMS include reporting features, network topology mapping and documenting, tools to allow you to monitor the traffic on your network, and so on. Some management consoles can also produce trend analysis reports. These types of reports can help you do capacity planning and set long-range goals. SNMP Primitives

SNMP has three control primitives that initiate data flow from the requester which is usually the Manager. These would be get, get-next and set. The manager uses the get primitive to get a single piece of information from an agent. You would use get-next if you had more than one item. When the data the manager needs to get from the agent consists of more than one item, this primitive is used to sequentially retrieve data; for example, a table of values. You can use set when you want to set a particular value. The manager can use this primitive to request that the agent running on the remote device set a particular variable to a certain value. There are two control primitives the responder (manager) uses to reply and that is get-response and trap. One is used in response to the requester's direct query (get-response) and the other is an asynchronous response to obtain the requester's attention (trap). As I mentioned earlier, I alluded to the fact that the manager doesn’t always initiate – sometimes the agent can as well. Although SNMP exchanges are usually initiated by the manager software, this primitive can also be used when the agent needs to inform the manager of some important event. This is commonly known and heard of as a ‘trap’ sent by the agent to the NMS.


Management Information Base (MIB)

We just learned what primitives were… the agent and the manager, exchanging data. The data they exchange also has a name. The types of data the agent and manager exchange are defined by a database called the management information base (MIB).The MIB is a virtual information store. Remember, it is a small database of information and it resides on the agent. Information collected by the agent is stored in the MIB. The MIB is precisely defined; the current Internet standard MIB contains more than a thousand objects. Each object in the MIB represents some specific entity on the managed device. SNMPv2 and SNMPv3

Disain SNMP yang di dapat berkembang di mungkinkan karena menggunakan Management Information Bases (MIBs), yang menentukan manajemen data dari subsistem pada peralatan, mengunakan namaspace yang berhirarki yang berisi pengidentifikasi objek, yang di implementasikan melalui ASN.1. Hirarki MIB dapat digambarkan sebagai pohon dengan akar (root) tanpa nama, dengan level / tingkatan yang di tentukan oleh berbagai organisasi. ID MIB Objek pada tingkat / level yang paling tinggi milik berbagai organisasi standard, sedang ID objek pada level yang lebih rendah dialokasikan oleh organisasi terkait. Model ini mengijinkan manajemen di seluruh lapisan OSI, maupun dikembangkan untuk manajemen aplikasi, seperti, database, email, dan Java. MIB dapat di definisikan untuk informasi dan operasi yang sangat spesifik.

MIB adalah kumpulan informasi yang di atur secara hirarki. MIB di akses menggunakan protokkol network-manajemen seperti SNMP. MIB terdiri dari managed objek dan di identifikasi oleh object identifier (pengidentifikasi objek).

Sebuah managed object, kadang kala di sebut sebagai MIB object, objek, atau MIB, adalah satu dari banyak karakteristik spesifik dari peralatan yang di manaje. Managed object berisi satu atau lebih objek, yang pada dasarnya berupa variabel.

Ada dua (2) jenis managed object yang ada, yaitu,

1.Scalar object, yang mendefinisikan sebuah objek saja. 2.Tabular object (objek tabel), mendefinisikan banyak ibjek terkait yang di kumpulkan dalam tabel MIB.

Sebagai contoh, sebuah managed object – atInput, adalah sebuah scalar object yang berisi satu buah objek kejadian, bernilai bilangan bulat yang mengindikasikan jumlah total paket yang masuk ke sebuah interface jaringan.

Sebuah object identifier (atau object ID atau OID) akan secara unik mengidentifikasi sebuah managed object di hirarki MIB.


Sepintas Abstract Syntax Notation One (ASN.1)

Dalam dunia telekomunikasi dan jaringan komputer, Abstract Syntax Notation One (ASN.1) adalah sebuah standard dan notasi flexibel yang menjelaskan struktur data untuk merepresentasikan, mengenkoding, mengirimkan dan mendekoding data. ASN.1 memberikan aturan formal untuk menjelaskan sebuah struktur objek yang independen / bebas dari teknik enkoding yang spesifik untuk beda mesin dan sangat presisi. Notasi formal ini menghilangkan keragu-raguan.

ASN.1 adalah usaha bersama stanadard ISO dan ITU-T, awalnya di definisikan tahun 1984 sebagai bagian dari CCITT X.409:1984. ASN.1 bergerak membangun standard-nya sendiri, X.208, di tahun 1998 karena banyaknya penggunaan. Kemudian di revisi habis-habisan di tahun 1995 yang di kenal sebagai seri X.680.

Adopsi subset dari ASN.1, Structure of Management Information (SMI), di spesifikasikan sebagai SNMP untuk mendefinisikan kumpulan objek MIB, kumpulan ini biasanya di sebut sebagai MIB modul.


Komponen Dasar SNMP

TCP/IP SNMP Operational Model, Components and Terminology. (Page 1 of 3)

So, it seems the “Simple” Network Management Protocol (SNMP) isn't quite so simple after all. There are many versions and standards and uses of SNMP, and so a lot we need to learn. I think a good place to start in understanding what SNMP does is to look at its model of operation, and examine the components that comprise a TCP/IP network management system and the terminology used to describe them. SNMP Device Types

As we saw in the preceding high-level overview topic, the overall idea behind SNMP is to allow the information needed for network management to be exchanged using TCP/IP. More specifically, the protocol allows a network administrator to make use of a special network device that interacts with other network devices to collect information from them, and modify how they operate. In the simplest sense, then, two different basic types of hardware devices are defined:

   * Managed Nodes: Regular nodes on a network that have been equipped with software to allow them to be managed using SNMP. These are, generally speaking, conventional TCP/IP devices; they are also sometimes called managed devices.
   * Network Management Station (NMS): A designated network device that runs special software to allow it to manage the regular managed nodes mentioned just above. One or more NMSes must be present on the network, as these devices are the ones that really “run” SNMP. 



Sebuah jaringan yang dapat di manage menggunakan SNMP pada dasarnya memiliki tiga (3) komponen, yaitu:

1.Managed Device. 2.Agen. 3.Network-management System (NMS).

Sebuah managed device adalah sebuah node di jaringan yang berisi agen SNMP yang berada di jaringan yang dapat di manage. Managed device akan mengumpulkan dan menyimpan informasi manajemen dan membuat informasi ini tersedia bagi NMS menggunakan SNMP. Managed device, kadang kala di sebut elemen jaringan, dapat berupa router dan akses server, switch dan bridge, hub, host komputer atau printer.

Agen adalah sebuah modul software network manajemen yang berada di dalam managed device. Agen ini mengetahui tentang informasi manajemen dan dalam menterjemahkan ke informasi yang kompatibel dengan SNMP.

Aplikasi NMS menjalankan aplikasi yang dapat memonitor dan mengontrol managed device. NMS memberikan resource memory dan prosesor yang dibutuhkan untuk manajemen network. Satu atau lebih NMS harus ada dalam sebuah jaringan yang di manage.


Arsitektur SNMP

Kerangka SNMP terdiri dari master agen, subagen dan manajemen station

Master Agen Master agen adalah sebuah software yang berjalan di komponen jaringan yang mampu SNMP. Sebagai contoh, sebuah router dapat menjawab permohonan SNMP dari management station. Oleh karenanya sebetulnya berfungsi sebagai server dalam arsitektur client-server atau sebagai daemon dalam terminologi sistem operasi. Sebuah master agen bergantung pada subagen untuk memperoleh oleh informasi manajemen dari sebuah fungsi yang spesifik. Master agen juga sering di sebut sebagai managed object.

Subagen Subagen adalah sebuah software yang yang jalan di komponen jaringan yang mampu SNMP yang mengimplementasikan fungsi untuk informasi dan manajemen seperti di definisikan oleh MIB dari subsistem yang spesifik, contoh Ethernet link layer. Beberapa kemampuan subagen adalah:

Mengumpulkan informasi untuk managed object. Mengkonfigurasi parameter dari managed object. Merespon kepada permintaan / request dari manager. Mengumpulkan tangkapan-tangkapan alarm.

Stasiun Managemen Sebuah stasiun managemen adalah komponen akhir dari arsitektur SNMP. Fungsinya equivalen dengan clent di arsitektur client-server. Stasiun managemen akan mengirimkan request untuk operasi manajemen atas nama administrator jaringan atau aplikasi dan menerima tangkapan dari agen-agen.


Protokol SNMP

Tipe data SNMPv1 dan ASN.1

Pada SNMPv1 SMI di tentukan bahwa semua managed objek mengggunakan subset dari tipe data yang berasosiasi dengan Abstract Syntax Notation One (ASN.1). Tiga (3) tipe data di perlukan untuk ASN.1:

name / nama – sebagai object identifier (object ID). syntax / sintaks – mendefinisikan tipe data dari sebuah objek (contoh, integer atau rangkaian kata-kata). SMI menggunakan subset dari definisi sintaks ASN.1. encoding data – menjelaskan bagaimana managed object di bentuk dalam sebuah untaian data yang di kirimkan lewat jaringan.

Tipe data SNMPv1 dan SMI-Specific

SNMPv1 SMI menentukan penggunakan angka untuk tipe data SMI-specific, yang dibagi dalam dua kategori

Tipe data sederhana Tipe data untuk aplikasi besar

Tiga (3) tipe data sederhana yang di definisikan dalam SNMPv1 SMI, semua mempunyai nilai yang unik,

tipe data integer (bilangan bulat) adalah bilangan bulat dari -2,147,483,648 sampai dengan 2,147,483,647. Oktet string berurutan dari 0 sampai dengan 65,535 oktet. Object ID di set untuk semua object identifier di alokasikan sesuai aturan yang di tulis di ASN.1.

Tujuh tipe data pada aplikasi yang ada di SNMPv1 SMI: network address, counter, gauge, time tick, opaque, integer, dan unsigned integer.

Netwok address mereseprentasikan alamat dari keluar protokol tertentu. SNMPv1 hanya mendukung alamat IP 32-bit. Counter adalah bilangan bulat (integer) non-negatif yang selalu naik sampai mencapai nilai maksimum untuk kemudian kembali ke nol. Pada SNMPv1, besar counter adalah 32-bit. 3.Gauge adalah bilangan bulat non-negarif yang dapat naik atau turun akan menyimpan nilai maximum (atau minimum), seperti di atur di RFC 2578. 4.time tick merepresentasikan waktu seper seratus detik dari sebuah kejadian. 5.Opaque merepresentasikan enkoding bebas yang digunakan untuk menyampaikan informasi dalam bentuk string (kalimat) bebas yang tidak mengikuti tipe data yang ketat yang digunakan oleh SMI. 6.Bilangan bulat (signed integer) merepresentasikan informasi yang bernilai bilangan bulat. Pada ASN.1 ketelitian tipe data ini bebas, pada SMI ketelitian-nya terbatas. 7.Bilangan bulat non-negatif (unsigned integer) mempunyai ketelitian data bebas pada ASN.1, dan ketelitian terbatas pada SMI.

Tabel SNMPv1 MIB

SNMPv1 SMI mendefinisikan tabel yang sangat terstruktur yang digunakan untuk mengumpulkan berbagai kejadian dalam tabel objek (maksudnya objek yang mempunyai banyak variabel). Tabel terdiri dari nol atau lebih baris, yang di index supaya memudahkan SNMP untuk mengambil, mengubah seluruh baris dengan sebuah perintah Get, GetNext atau Set.


SNMPv2 dan Struktur dari Informasi Manajemen

SNMPv2 SMI di jelaskan di RFC 2578. SNMPv2 SMI menambahkan beberapa kondisi dan perbaikan pada tipe data SNMPv1 SMI, seperti, memasukan string bit, network address dan counter. Bit string di definisikan hanya di SNMPv2 an terdiri dari nol atau lebih bit yang menentukan sebuah nilai. Network address merepresentasikan sebuah address dari keluarga protokol tertentu. SNMPv1 hanya mendukung 32-bit IP address, tapi SNMPv2 dapat mendukung tipe pengaddressan lainnya. Counter pada SNMPv1, hanya ada 32-bit counter. Pada SNMPv2, di definisikan counter 32-bit dan 64-bit.

Protokol SNMP bekerja pada lapisan aplikasi. Pada versi 1 mendefinisikan lima (2) inti dari Protocol Data Unit (PDU), yaitu:

GET REQUEST – digunakan untuk mengambil potongan dari informasi manajemen. GET NEXT REQUEST – digunakan secara iteratif untuk mengambil informasi manajemen secara berurut. GET RESPONSE – menggunakan respons agen dengan data untuk mengambil dan menset permohonan dari manager. SET REQUEST – digunakan untuk menginisialisasi dan membuat perubahan nilai pada network elemen. TRAP – digunakan untuk melaporkan sebuah alert atau event yang tidak normal pada subsistem yang di manage. Pada SNMPv1, event yang tidak normal di sebut trap, sementara pada versi SNMP selanjutnya di sebut notifikasi. Pada modul MIB SMIv1, trap di definisikan menggunakan makro TRAP-TYPE; Dalam modul MIB SMIv2, trap di definisikan menggukana makro NOTIFICATION-TYPE.

Beberapa PDU yang di tambahan di versi selanjutnya, termasuk,

GETBULK REQUEST – iterasi yang lebih cepat untuk memperoleh urusan informasi manajemen. INFORM – untuk meng-acknowledge sebuah trap.

Biasanya SNMP menggunakan port UDP 161 untuk agen, dan 162 untuk manager. Manager dapat mengirim Request dari port (source port) mana saja ke port 161 (destination port) di agen. Agen akan merespons balik ke source port di Manager. Manager menerima trap di port 162. Agen dapat mengirimkan trap dari port yang tersedia.

Aturan port di atas belum tentu di gunakan di semua distribusi software SNMP. Beberapa distribusi mengubah nomor port yang digunakan.

Modul Informasi SNMPv2 SMI

SNMPv2 SMI menerangkan modul informasi, yang menjelaskan group dari definisi yang terkait. Ada tiga (3) tipe modul informasi SMI, yaitu, modul MIB, pernyataan compliance , dan pernyataan kemampuan.

Modul MIB berisi definisi dari managed objek yang saling berhubungan. Pernyataan compliance memberikan cara sistematik untuk menjelaskan sebuah group dari managed object yang harus di implementasikan sesuai dengan sebuah standard. Pernyataan kemampuan digunakan untuk memberitahukan secara rinci tingkat kemampuan dukungan sebuah agen terhadap sebuah group MIB. NMS dapat mengatur perilakunya di sesuaikan dengan kemampuan dari pernyataan kemampuan dari agen tersebut.


SNMPv3

Simple Network Management Protocol versi 3 didefinisikan oleh RFC 3411RFC 3418 (yang juga di kenal sebagai 'STD0062'). Simple Network Management Protocol versi 3 terutama menambahkan keamnan dari konfigurasi remote ke SNMP. SNMPv3 adalah standard SNMP pada saat ini, sejak tahun 2004. IETF menganggap versi yang lama sebagai “Obsolete” atau “Historical”.

SNMPv3 memberikan beberapa fitur keamanan yang penting, seperti,

Integritas message yang menjamin paket tidak di ubah pada saat transit. Authentikasi untuk memverifikasi sumber yang valid dari message. Enkripsi paket untuk mencegah pengintip dari sumber yang tidak di inginkan.



SNMP versi 1

SNMP versi 1 (SNMPv1) adalah implementasi awal dari protokol SNMP. SNMPv1 beroperasi di atas protokol lain, seperti, User Datagram Protocol (UDP), Internet Protocol (IP), OSI Connectionless Network Service (CLNS), AppleTalk Datagram-Delivery Protocol (DDP), dan Novell Internet Packet Exchange (IPX). SNMPv1 banyak digunakan dan menjadi de-facto protokol untuk manajemen jaringan di komunitas Internet.

Beberapa RFC pertama untuk SNMP, yang sekarang di kenal sebagai Simple Network Management Protocol versi 1, muncul di tahun 1998,

RFC 1065 — Structure and identification of management information for TCP/IP-based internets RFC 1066 — Management information base for network management of TCP/IP-based internets RFC 1067 — A simple network management protocol

Protokol di atas, di buat obsolete oleh,

RFC 1155 — Structure and identification of management information for TCP/IP-based internets RFC 1156 — Management information base for network management of TCP/IP-based internets RFC 1157 — A simple network management protocol

Versi 1 di kritik habis-habisan karena lemahnya keamanan. Authentikasi client dilakukan hanya melalui “community string”, yang menjadi password, yang di kirimkan dalam bentuk text biasa. Hal ini terjadi, karena disain di tahun 80-an, authentikasi / security masih di anggap sebagai mimpi dan tidak di sarankan oleh group perancang protokol.


SNMP Versi 2

Versi 2 tidak di adopsi secara luas karena ke tidak sepakatan mengenak kerangka keamanan di dalam standard.

Simple Network Management Protocol versi 2 (RFC 1441RFC 1452), yang juga di kenal sebagai SNMP v2 atau SNMP v2p, merevisi versi 1 dan memasukan beberapa perbaikan masalah performance, keamanan, kerahasian, dan komunikasi antar manager. SNMP v2 memperkenalkan GETBULK, sebuah alternatif dari iterasi GETNEXT untuk data manajemen dalam jumlah besar melalui satu perintah saja. Akan tetapi, kebanyakan melihatnya terlalu rumit, sehingga tidak secara luas di adopsi.

Community-Based Simple Network Management Protocol version 2, atau SNMP v2c, di definisikan di RFC 1901RFC 1908. Pada tahap awal, ini di kenal sebagai SNMP v1.5. SNMP v2c yang berisi SNMP v2 tanpa model keamanan kontroversial SNMP v2, tapi menggunakan keamanan berbasis komunitas yang sederhana dari SNMP v1. Walaupun secara resmi lebih dikenal sebagai "Draft Standard", tapi secara de-facto di kenal sebagai standard SNMP v2.

User-Based Simple Network Management Protocol version 2, atau SNMP v2u, di definisikan di RFC 1909RFC 1910. Ini merupakan usaha untuk memberikan lebih banyak kemampuan keamanan daripada SNMP v1, tanpa memaksakan kerumitan dari SNMP v2. Varian dari ini di dunia komersial di kenal sebagai SNMP v2*, mekanisme yang di kembangkan pada akhirnya di adopsi sebagai salah satu dari dua kerangka keamanan di SNMP v3.


Interoperabilitas SNMPv1 & SNMPv2c

Pada saat di spesifikasikan, SNMPv2 sebetulnya tidak kompatibel dengan SNMPv1 di dua (2) area utama, yaitu, format message dan operasi protokol. Message SNMPv2c menggunakan format header dan protocol data unit (PDU) yang berbeda dengan message SNMPv1. SNMPv2c juga menggunakan dua operasi protokol yang tidak di spesifikasikan di SNMPv1. Oleh karenanya, RFC 1908 mendefinisikan dua (2) kemungkinan strategi agar SNMPv1/v2c dapat bekerjasama, yaitu, proxy agent dan bilingual network-management system.

Proxy Agents SNMPv2 agent dapat berfungsi sebagai proxy untuk managed device dengan SNMPv1, sebagai berikut, NMS SNMPv2 mengirimkan perintah yang ditujukan kepada agen SNMPv1. NMS mengirimkan SNMP message ke agen proxy SNMPv2. Agen proxy mem-forward message Get, GetNext, danSet ke agen SNMPv1 tanpa di ubah. Message GetBulk di konversikan oleh proxy agen menjadi message GetNext yang di forward ke agen SNMPv1. Agen proxy akan memetakan message SNMPv1 trap ke message SNMPv2 trap dan mem-forwardnya ke NMS.

Bilingual Network-Management System Bilingual SNMPv2 network-management system mendukung SNMPv1 dan SNMPv2. Untuk mendukung manajemen dengan dua lingkungan, sebuah aplikasi manajemen di NMS bilingual akan menghubungi agen. NMS dapat mempelajari dari informasi yang di simpan di database lokal untuk menentukan apakah agen tersebut mendukung SNMPv1 atau SNMPv2. Berbasis pada informasi di database NMS akan berkomunikasi dengan agen menggunakan versi SNMP yang cocok.


SNMP versi 3

IETF mengakui Simple Network Management Protocol versi 3 seperti di definisikan oleh RFC 3411RFC 3418 (juga di kenal sebagai STD0062) sebagai standard SNMP sejak 2004. IETF menganggap versi sebelumnya sebagai “Obsolete" atau "Historical".

Di sisi praktis, implementasi SNMP biasanya memberikan dukungan bagi banyak versi, terutama SNMPv1, SNMPv2c, dan SNMPv3. Ada baiknya membaca RFC 3584 "Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework".

SNMPv3 memberikan tiga (3) servis yang penting, yaitu, authentikasi, privasi dan access control.

Contoh Penggunaan Perintah

Monitoring device uptimes (sysUpTimeInstance) Inventory of OS versions (sysDescr) Collect interface information (ifName, ifDescr, ifSpeed, ifType, ifPhysAddr) Measuring network interface throughput (ifInOctets, ifOutOctets) Querying a remote ARP cache (ipNetToMedia)


Beberapa Topik Lain Tentang SNMP

Autodiscovery SNMP secara sederhana sebetulnya merupakan protokol untuk mengumpulkan dan mengatur informasi. Kebanyakan software yang mengimplementasikan SNMP memberikan kemungkinan mekanisme pencarian, menggunakan sebuah koleksi data yang umum untuk semua platform atau peralatan, untuk menarik pengguna baru maupun implementator. Fitur ini banyak digunakan untuk melakukan pencarian secara automatis, jika ada peralatan baru maka akan secara automatis di cek. Untuk SNMPv1 dan SNMPv2c, hal ini berarti resiko keamanan, karena komunitas SNMP read akan terkirim menggunakan text biasa ke peralatan yang menjadi target. Memang di sebuah corporate tertutup keamanan jaringan-nya relatif rendah. Tapi di sebuah datacenter, hosting server, dan fasilitas colocation maka keamanan menjadi sangat fatal.

Efek Negatif Implementasi SNMP akan berbeda-beda di berbagai platform. Pada beberapa kasus, SNMP mungkin di tambahkan fitur yang bukan elemen inti dari disain. SNMP struktur pohon dan index linier yang digunakan tidak selalu cocok dengan struktur data internal dari rancangan dasar sebuah platform. Penggunaan SNMP untuk memperoleh sekumpulan data mungkin akan menyebabkan penggunaan kemampuan CPU yang besar yang berefek negatif terhadap operasi peralatan. salah satu contoh yang paling nyata adalah tabel routing yang besar, seperti, BGP atau IGP.

Pergeseran Index Peralatan modular dapat memberikan nomor ulang jika ada hardware ditambahkan atau diambil. Nilai index biasanya di berikan pada saat boot dan akan tetap sampai boot selanjutnya. Jika hardware ditambahkan pada saat peralatan masih 'hidup' maka index yang diberikan kepada hardware tambahan ini akan berupa nomor terakhir dari index yang ada. Penentuan ulang index hanya akan terjadi pada saat boot selanjutnya, akan tetapi akan menyebabkan pergeseran besar-besaran semua hardware objek karena adanya tambahan objek baru. Jangan kaget kalau terjadi korupsi & ketidakcocokan data dikarenakan adanya perilaku tersebut.

Implikasi Keamanan Versi 1 dan 2C akan sangat rentan terhadap sniffing paket karena string komunitas yang menggunakan text. Karena tidak digunakan challenge-response handshake, semua versi akan sangat rentan terhadap serangan bruteforce dan dictionary attack yang berusaha menebak string komunitas / string authentifikasi. Karena UDP yang digunakan, maka connectionless dan rentan terhadap serangan IP spoofing, semua versi akan rentan terhadap usaha untuk membypass access list yang mungkin sudah di batsi di SNMP access. Memberikan fitur konfigurasi / write (penulisan) yang seringkali kelupaan dari pada fitur yang lebih baik yaitu repoting / read, protokol seringkali lupa / salah konfigurasi sehingga dapat digunakan yang menimbulkan kerusakan. Berdasarkan hasil penelitian SANS Institut, SNMP ternyata menduduki kedudukan paling tinggi karena isu konfigurasi defaut yang menggunakan string komunitas 'public' dan 'private'.


For more detail on SNMP security implications see the CERT SNMP Vulnerabilities FAQ

RFC dan referensi lainnya


[edit] RFCs

   * RFC 1155 — Structure and Identification of Management Information for the TCP/IP-based Internets
   * RFC 1156 — Management Information Base for Network Management of TCP/IP-based internets
   * RFC 1157 — A Simple Network Management Protocol (SNMP)
   * RFC 1441 — Introduction to version 2 of the Internet-standard Network Management Framework
   * RFC 1213 — Management Information Base for Network Management of TCP/IP-based internets: MIB-II
   * RFC 3410 (Informational) — Introduction and Applicability Statements for Internet Standard Management Framework
   * RFC 3411 (Standard 62) — An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks
   * RFC 3412 (Standard 62) — Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)
   * RFC 3413 (Standard 62) — Simple Network Management Protocol (SNMP) Application
   * RFC 3414 (Standard 62) — User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)
   * RFC 3415 (Standard 62) — View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)
   * RFC 3416 (Standard 62) — Version 2 of the Protocol Operations for the Simple Network Management Protocol (SNMP)
   * RFC 3417 (Standard 62) — Transport Mappings for the Simple Network Management Protocol (SNMP)
   * RFC 3418 (Standard 62) — Management Information Base (MIB) for the Simple Network Management Protocol (SNMP)
   * RFC 3584 (Best Current Practice) — Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework
   * RFC 3826 (Proposed) — The Advanced Encryption Standard (AES) Cipher Algorithm in the SNMP User-based Security Model

[edit] See also

   * Management information base (MIB)
   * Object identifier (OID)
   * Remote monitoring (RMON)
   * AgentX
   * Simple Gateway Monitoring Protocol (SGMP)
   * Common management information protocol (CMIP)
   * Common management information service (CMIS)
   * CMIP over TCP/IP (CMOT)
   * Net-SNMP

[edit] External links

   * SimpleWeb
   * Description of the SNMP packet breakdown
   * SNMP FAQ part 1
   * SNMP FAQ part 2

[edit] Implementations

   * Net-SNMP (Net-SNMP: Open source SNMP implementation)
   * Netsnmpj: Open source SNMP for Java
   * OpenSNMP: multi-threaded SNMPv3 engine
   * PySNMP: pure-Python module, BSD license
   * TinySNMP: an easy to configure minimal SNMPv1 agent
   * .SNMPv3 for .NET

[edit] References

  1. ^ W. Stallings SNMP, SNMPv2, SNMPv3, and RMON 1 and 2 3rd Edition, Addison Wesley, 1998. ISBN 978-0201485349
  2. ^ SNMP Version 3 links hub
  3. ^ In This Issue: SNMP Version 3 The Simple Times ISSN 1060-6080
  4. ^ SNMPv3 Cisco

SNMP Version 3 (SNMPv3) Message Format

In the late 1990s, SNMP version 3 was created to resolve the problems that occurred with the many different variations of SNMPv2. The SNMPv3 Framework adopts many components that were created in SNMPv2, including the SNMPv2 protocol operations, PDU types and PDU format. Amongst the significant changes made in SNMPv3 include a more flexible way of defining security methods and parameters, to allow the coexistence of multiple security techniques.

The general message format for SNMPv3 still follows the same idea of an overall message “wrapper” that contains a header and an encapsulated PDU. However, in version 3 this concept is further refined. The fields in the header have themselves been divided into those dealing with security and those that do not deal with security matters. The “non-security” fields are common to all SNMPv3 implementations, while the use of the security fields can be tailored by each SNMPv3 security model, and processed by the module in an SNMP entity that deals with security. This solution provides considerable flexibility while avoiding the problems that plagued SNMPv2.

The overall SNMPv3 message format is described in RFC 3412, which describes version 3 message processing and dispatching. It is shown in Table 221 and Figure 285.


Table 221: SNMP Version 3 (SNMPv3) General Message Format Field Name Syntax Size (bytes) Description Msg Version Integer 4 Message Version Number: Describes the SNMP version number of this message; used for ensuring compatibility between versions. For SNMPv3, this value is 3. Msg ID Integer 4 Message Identifier: A number used to identify an SNMPv3 message and to match response messages to request messages. The use of this field is similar to that of the Request ID field in the PDU format (see Table 218), but they are not identical. This field was created to allow matching at the message processing level regardless of the contents of the PDU, to protect against certain security attacks. Thus, Msg ID and Request ID are used independently. Msg Max Size Integer 4 Maximum Message Size: The maximum size of message that the sender of this message can receive. Minimum value of this field is 484. Msg Flags Octet String 1

  Msg Security Model Integer 4 Message Security Model: An integer value indicating which security model was used for this message. For the user-based security model (the default in SNMPv3) this value is 3. Msg Security Parameters — Variable Message Security Parameters: A set of fields that contain parameters required to implement the particular security model used for this message. The contents of this field are specified in each document describing an SNMPv3 security model. For example, the parameters for the user-based model are in RFC 3414. Scoped PDU — Variable

 




TCP/IP MIB Objects, Object Characteristics and Object Types (Page 1 of 4) The Internet Standard Management Framework (SNMP Framework) is designed to facilitate the exchange of management information. The Management Information Base (MIB) defines a device's management information. The MIB contains a number of variables called MIB objects; they are also called managed objects. These objects are defined according to the rules set out in the Structure of Management Information (SMI) standard. The best place to begin looking at MIB objects is by examining the SMI rules that define them. As I mentioned earlier in this section, two different versions of SMI have been created: SMIv1 as part of the original SNMP, and SMIv2 as part of SNMPv2 and SNMPv3. The two are similar in terms of how MIB objects are described, but SMIv2 allows more information to be associated with each object. Just as a typical protocol uses a field format for specifying the content of messages sent between devices using the protocol, SMI uses a format that specifies the fundamental characteristics of each MIB object. The most basic of these are five mandatory characteristics defined in SMIv1. These are also used in SMIv2, but a couple of names were changed, and the possible values for some of the fields were modified as well. This is shown conceptually in Figure 272.

 

Figure 272: SNMP Management Information Base (MIB) This diagram shows an SNMP management information base containing “N” MIB objects. Each object has five mandatory characteristics and a variable number of optional characteristics.

Each object has a name that serves to uniquely identify it. Actually, that's not entirely true. Each object actually has two names: a textual name called an Object Descriptor and a numeric Object Identifier that indicates the object's place in the MIB object name hierarchy. I'm sure that made no sense to you, but that's why I included the next topic discussing object naming that hopefully will (make sense that is.)


TCP/IP MIB Object Descriptors and Identifiers and the Object Name Hierarchy and Name Notation (Page 1 of 4)

Of the many MIB object characteristics, only one is sufficiently interesting that it really deserves its own exposition. Or perhaps I should say, only one is sufficiently complicated that it does. J This is the object name, part of the larger naming system used for MIB objects.

As I said before, each MIB object actually has two names: an object descriptor and an object identifier. The object descriptor is a conventional text name that provides a “user-friendly handle” to refer to the object. The name is assigned based on the particular MIB object group in which the object is located. In the example definition I gave at the end of the prior topic, sysLocation is the object descriptor for that MIB object. I describe these names in greater detail in the next topic, on MIB modules and object groups.


TCP/IP MIB Modules and Object Groups (Page 1 of 4)

The Management Information Base (MIB) contains the collection of MIB objects that describe the characteristics of a device using the Internet Standard Management Framework (SNMP Framework). When SNMP was first created, there were not that many objects in the MIB. Furthermore, they were mostly “generic” objects that applied fairly universally to TCP/IP devices as a whole. In fact, most of the MIB objects were variables related to the operation of TCP/IP protocols such as IP, TCP and ICMP.

For this reason, at first, a single document defined “the” Management Information Base (MIB) for SNMP. The first of these documents was RFC 1066, part of the initial SNMPv1 specification. It was then revised in RFC 1156. In RFC 1158, a second version of the MIB, MIB II, was defined, which was essentially the same but made a few changes. The Organization of MIB Objects into Object Groups

The number of MIB objects defined in these standards was relatively small. However, there were still several dozen of them, and it was recognized from the start that more would be created in time. To help organize the objects in a logical way, they were arranged into object groups. These groups serve the purpose of separating the objects and defining how they should be given object identifiers in the overall object name hierarchy.

Each group has associated with it three important pieces of information:

   * Group Name: A name that is used as a text label in the object identification tree we saw in the previous topic. These objects are all located within the “iso.org.dod.internet.mgmt.mib” subtree. So for example, the group system would be “iso.org.dod.internet.mgmt.mib.system”.
   * Group Number: A number corresponding to the group name used for making numeric identifiers from the object name tree. For example, the group system has the number 1, and so the group's object identifier is 1.3.6.1.2.1.1. All objects in that group will be under that tree; for example, sysUpTime is 1.3.6.1.2.1.1.3.
   * Group Code: A text label that may be the same as the group name or may be an abbreviation. It is used as a prefix in making object descriptors (the text names of objects). For example, for the group system the code is sys, and so an object in this group is sysUpTime. 




[root@visiongate ~]# service snmpd restart Stopping snmpd: [FAILED] Starting snmpd: [ OK ] [root@visiongate ~]#






Monitoring your system’s web performance can be done quite easily with a number of graphical tools available for Linux. These include MRTG for raw network traffic which is based on SNMP and Webalizer that monitors web site hits. SNMP What is SNMP? Most routers and firewalls keep their operational statistics in Management Information Blocks (MIBs). Each statistic has an Object Identifier (OID) and can be remotely retrieved from the MIB via the Simple Network Management Protocol (SNMP). However, as a security measure, you need to know the SNMP password or "community string" to do so. There are a number of types of community strings, the most commonly used ones are the "Read Only" community string that only provides access for viewing statistics and system parameters. In many cases the "Read Only" community string or password is set to "public". There is also a "Read Write" community string for not only viewing statistics and system parameters but also for updating the parameters too. SNMP on a Linux Server By default, RedHat Linux has the NetSNMP package installed to provide SNMP services. NetSNMP uses a configuration file /etc/snmp/snmpd.conf in which the community strings may be set. The version of the configuration file that comes with Net-SNMP is quite complicated. I suggest archiving it and using a much simpler version with only a single line containing the keyword "rocommunity" followed by the community string. Here is an example of how to do that.

• Save the old configuration file

[root@bigboy snmp]# cd /etc/snmp/ [root@bigboy snmp]# mv snmpd.conf snmpd.conf.old [root@bigboy snmp]# vi snmpd.conf

• Enter the following line in the new configuration file to set the Read Only community string to "craz33guy"

rocommunity craz33guy

• Configure Linux to start SNMP services on each reboot with the chkconfig command:

[root@bigboy root]# chkconfig --level 345 snmpd on [root@bigboy root]#

• You can then start SNMP to load the current configuration file.

[root@bigboy root]# /etc/init.d/snmpd start Starting snmpd: [ OK ] [root@bigboy root]#

• Test whether SNMP can read the "system" and "interface" information MIB

[root@bigboy snmp]# snmpwalk -v 1 -c craz33guy localhost system SNMPv2-MIB::sysDescr.0 = STRING: Linux bigboy 2.4.18-14 #1 Wed Sep 4 11:57:57 EDT 2002 i586 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 SNMPv2-MIB::sysUpTime.0 = Timeticks: (425) 0:00:04.25 SNMPv2-MIB::sysContact.0 = STRING: root@localhost SNMPv2-MIB::sysName.0 = STRING: bigboy ... ... ... [root@bigboy snmp]# snmpwalk -v 1 -c craz33guy localhost interface IF-MIB::ifNumber.0 = INTEGER: 3 IF-MIB::ifIndex.1 = INTEGER: 1 IF-MIB::ifIndex.2 = INTEGER: 2 IF-MIB::ifIndex.3 = INTEGER: 3 IF-MIB::ifDescr.1 = STRING: lo IF-MIB::ifDescr.2 = STRING: wlan0 IF-MIB::ifDescr.3 = STRING: eth0 ... ... ... [root@bigboy snmp]#

Note: In this case we were polling localhost. You can poll any SNMP aware network device with SNMP enabled. All you need is the IP address and SNMP read only string and you’ll be able to get similar results. Now that we know SNMP is working correctly on your Linux server, we can configure a SNMP statistics gathering software package such as MRTG to create online graphs of your traffic flows. MRTG What is MRTG? MRTG (Multi Router Traffic Grapher) is a public domain package for producing graphs of various types of router statistics via a web page. You can easily create graphs of traffic flow statistics through your home network's firewall / router or even your Linux box's NIC cards using MRTG. The product is available from the MRTG website and also on your distribution CDs. Download and Install The MRTG Packages Most RedHat Linux software products are available in the RPM format. Downloading and installing RPMs isn’t hard. If you need a refresher, the chapter on RPMs covers how to do this in detail. The latest version of the RPM for RedHat 8.0 is:

mrtg-2.9.17-8.i386.rpm

o You can install the package like this:

[root@bigboy tmp]# rpm -Uvh mrtg-2.9.17-8.i386.rpm

o You will also need to have a webserver package installed for MRTG to work. The RedHat RPM version seems to work with Apache 1.X. The most current version as of this writing was apache 1.3.23 - 11. This is available from the RedHat website or your installation CDs. Install apache using the following command.

[root@bigboy tmp]# rpm -Uvh apache-1.3.23-14.i386.rpm

o MRTG runs automatically upon startup, but you’ll need to configure Apache to start at boot using the chkconfig command:

[root@bigboy tmp]# chkconfig --level 35 httpd on

o Here’s how to start/stop/restart Apache after booting:

[root@bigboy tmp]# /etc/init.d/httpd start [root@bigboy tmp]# /etc/init.d/httpd stop [root@bigboy tmp]# /etc/init.d/httpd restart

By default Apache expects the HTML files for your website to be located in /var/www/html. MRTG will place its HTML files in /var/www/html/mrtg.

Configuring MRTG By default, MRTG will map the inbound and outbound data throughput rates on the device it is polling. There are ways to specify other OIDs such as CPU and memory usage, but this is beyond the scope of this book. We’ll be discussing the default configuration. When the MRTG RPM is installed it creates a directory called /etc/mrtg in which all future configuration files are stored. Here are the steps you need to go through to create new configuration files.

o In this example we'll use MRTG’s cfgmaker command to create a configuration file named localhost.cfg for the server "bigboy" using a read only community string of craz33guy. All data files will be placed in the directory /var/www/html/mrtg/stats.

[root@bigboy tmp]# cfgmaker --output=/etc/mrtg/localhost.cfg \ -ifref=ip --global "workdir: /var/www/html/mrtg/stats" \ craz33guy@localhost


--base: Get Device Info on craz33guy@localhost: --base: Vendor Id: --base: Populating confcache --snpo: confcache craz33guy@localhost: Descr lo --> 1 --snpo: confcache craz33guy@localhost: Descr wlan0 --> 2 --snpo: confcache craz33guy@localhost: Descr eth0 --> 3 --snpo: confcache craz33guy@localhost: Ip 0.0.0.0 --> 3 --snpo: confcache craz33guy@localhost: Ip 127.0.0.1 --> 1 --snpo: confcache craz33guy@localhost: Ip 192.168.1.100 --> 2 --snpo: confcache craz33guy@localhost: Type 24 --> 1 --snpo: confcache craz33guy@localhost: Type 6 --> 2 --snpo: confcache craz33guy@localhost: Type 6 --> 3 (duplicate) --snpo: confcache craz33guy@localhost: Eth --> 1 --snpo: confcache craz33guy@localhost: Eth 00-06-25-09-6a-b5 --> 2 --snpo: confcache craz33guy@localhost: Eth 00-08-c7-10-74-a8 --> 3 --base: Get Interface Info --base: Walking ifIndex --base: Walking ifType --base: Walking ifSpeed --base: Walking ifAdminStatus --base: Walking ifOperStatus --base: Writing /etc/mrtg/localhost.cfg [root@bigboy tmp]#


o Next create the /var/www/html/mrtg/stats directory and copy all of MRTG’s standard “.png” image files into it.

[root@bigboy mrtg]# mkdir /var/www/html/mrtg/stats [root@bigboy mrtg]# cp /var/www/html/mrtg/*.png /var/www/html/mrtg/stats [root@bigboy mrtg]#

o Edit /etc/mrtg/localhost.cfg and remove the sections related to interfaces you don't need to monitor. This would most likely include the loopback interface L0: with the IP address of 127.0.0.1 When the MRTG RPM is installed it places an entry in the /etc/crontab file to make MRTG run every 5 minutes using the default /etc/mrtg/mrtg.cfg configuration file. Add a new line referring to /etc/mrtg/localhost.cfg and comment out the one pointing to mrtg.cfg.

  1. 0-59/5 * * * * root /usr/bin/mrtg /etc/mrtg/mrtg.cfg

0-59/5 * * * * root /usr/bin/mrtg /etc/mrtg/localhost.cfg

o Run MRTG using /etc/mrtg/localhost.cfg as your argument three times. You'll get an error the two times as MRTG tries to rename old data files, and naturally, the first time it is run, MRTG has no data files to move.

[root@bigboy mrtg]# mrtg /etc/mrtg/localhost.cfg Rateup WARNING: /usr/bin/rateup could not read the primary log file for localhost_192.168.1.100 Rateup WARNING: /usr/bin/rateup The backup log file for localhost_192.168.1.100 was invalid as well Rateup WARNING: /usr/bin/rateup Can't remove localhost_192.168.1.100.old updating log file Rateup WARNING: /usr/bin/rateup Can't rename localhost_192.168.1.100.log to localhost_192.168.1.100.old updating log file [root@bigboy mrtg]# mrtg /etc/mrtg/localhost.cfg Rateup WARNING: /usr/bin/rateup Can't remove localhost_192.168.1.100.old updating log file [root@bigboy mrtg]# mrtg /etc/mrtg/localhost.cfg [root@bigboy mrtg]#

o You'll then want to use MRTG’s indexmaker command to create a combined index page to see all the graphs defined in all the various “.cfg” files in your /etc/mrtg directory. Once this is done, you can point your browser to http://ip-address/mrtg/ to get a graphical listing of all the monitored interfaces. Note: The indexmaker command creates a very generic index page which is very similar to the MRTG home page, don’t be fooled, you will find your devices at the very bottom. The format of the command is:

indexmaker --output=filename device1.cfg device2.cfg etc

RedHat Version 8.0 and Indexmaker RedHat version 8 gives an error like this when running indexmaker.

[root@bigboy mrtg]# indexmaker --output=index.html /etc/mrtg/localhost.cfg Can't locate package $VERSION for @MRTG_lib::ISA at /usr/bin/indexmaker line 49 main::BEGIN() called at /usr/bin/../lib/mrtg2/MRTG_lib.pm line 49 eval {...} called at /usr/bin/../lib/mrtg2/MRTG_lib.pm line 49 [root@bigboy mrtg]#

You have a couple choices here: • Run a version of indexmaker from an older version of RedHat • Create your own custom index page to replace the default one in /var/www/html/mrtg. You can then add links to all the html files in the /var/www/html/mrtg/stats directory. Using MRTG To Monitor Other Subsystems MRTG will generate HTML pages with daily, weekly, monthly and yearly statistics for your interfaces. By default MRTG provides only network interface statistics. The MRTG website www.mrtg.org has links to other sites that show you how to monitor other sub-systems on a variety of devices and operating systems. Webalizer What Is Webalizer? Webalizer is a web server log file analysis tool that comes installed by default on RedHat Linux. Each night, Webalizer reads your Apache log files and creates a set of web pages that allow you to view websurfer statistics for your site. The information provided includes a list of your web site’s most popular pages sorted by “hits” along with traffic graphs showing the times of day when your site is most popular. How To View Your Webalizer Statistics By default webalizer places its index page in the directory /var/www/html/usage, so if you have a default Apache installation you’ll be able to view your data by visiting http://www.my-site.com/usage The Webalizer Configuration File Webalizer stores its configuration in the file /etc/webalizer.conf. The default settings should be sufficient for your web server, but you may want to adjust the directory in which Webalizer places your graphic statistics. This can be adjusted with the OutputDir directive in the file. Make Webalizer run in Quiet Mode Webalizer has a tendency to create this message in your logs which according to the Webalizer site’s documentation is non-critical.

Error: Unable to open DNS cache file /var/lib/webalizer/dns_cache.db

You can make the software run in quite mode by editing the /etc/cron.daily/00webalizer script file and adding the –Q (Quiet) switch to the webalizer command like this:

  1. ! /bin/bash
  2. update access statistics for the web site

if [ -s /var/log/httpd/access_log ] ; then

   /usr/bin/webalizer -Q

fi

exit 0

Once you’ve done this, Webalizer will function with few annoyances, however be aware that running in quiet mode could hide deeper problems that could occur in future.



[edit] Pranala Menarik

Personal tools