CÄÚµå : ³×Æ®¿öÅ© Interface Æ®·¡ÇÈ ±¸Çϱâ
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : Code>C>getIfTraffic



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

¼Ò°³

  1. ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽ºÀÇ Æ®·¡ÇÈÁ¤º¸¸¦ ±¸ÇÑ´Ù.
  2. proc ÆÄÀϽýºÅÛÀ» ºÐ¼®ÇÑ´Ù.
  3. ÀÌ·¸°Ô ÇØ¼­ ¾ò¾î³½ Á¤º¸´Â RRD µîÀ» ÀÌ¿ëÇØ¼­ Åë°èµ¥ÀÌÅÍ·Î ¸¸µé ¼ö ÀÖÀ» °ÍÀÌ´Ù.

ÄÚµå

#include <stdio.h> #include <string.h> // ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º Á¤º¸¸¦ ÀúÀåÇÑ proc ÆÄÀÏ const char *ProcDev = "/proc/net/dev"; const char *Format = "%s %s %s %s %s %s %s %s %s %s"; // Æ®·¡ÇÈ Á¤º¸¸¦ ÀúÀåÇϱâ À§ÇÑ ±¸Á¶Ã¼ struct traffic { char bytes[16]; char packets[16]; char errs[16]; }; int GetTraffic(struct traffic *in, struct traffic *out, char *ifname); int main(int argc, char **argv) { struct traffic in, out; int rtv; rtv = GetTraffic(&in, &out, "eth0"); if (rtv == 1) printf("Traffic eth0 OK | inbps=%s inpps=%s outbps=%s outpps=%s\n", in.bytes, in.packets, out.bytes, out.packets); } int GetTraffic(struct traffic *in, struct traffic *out, char *ifname) { FILE *fp; char *hp; char buf[256]; char ifheader[16]; sprintf(ifheader, "%s:", ifname); fp = fopen(ProcDev,"r"); int noused[16]; char tell[12]; if (fp == NULL) return -1; while(fgets(buf, 255, fp)!=NULL) { if ((hp = strstr(buf, ifheader)) != NULL) { hp = hp + strlen(ifheader); sscanf(hp, Format, in->bytes, in->packets, in->errs, noused, noused, noused, noused, noused, out->bytes, out->packets, out->errs); break; } } fclose(fp); return 1; }

  1. °á°ú °ªÀº Nagios Æ÷¸ËÀ» µû¸£°í ÀÖÀ¸¸ç nagios¿Í zenoss¿¡¼­ ±×´ë·Î Ȱ¿ëÇÒ ¼ö ÀÖ´Ù.


EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.