PDCA


전공교육개발실습부서교육부서업무지원기타
P과학데이터교육 일 3.2시간 이상 수강omz 설치 및 실습, snmp설치 및 실습, influx DB 설치 및 실습, mininet으로 만든 sdn의 snmp 데이터 가시화하기
우수성과취합
D




C




A




일일회고

23/02/06

23/02/07

23/02/08

23/02/09

Memo

23/02/06

출처

내용

배운 점 및 기억해야할 점

비고

과학데이터교육 R기초충북대 현장실습 직무교육데이터 분석 이론 기초, R프로그래밍 준비 및 기초, 데이터 분석 환경 설정
3차시까지 수강

23/02/07

출처

내용

배운 점 및 기억해야할 점

비고

과학데이터교육 R기초충북대 현장실습 직무교육데이터분석 실습
수강완료

23/02/08

23/02/09

배운 것 및 기억해야할 것

지속적인 핑을 주고받는 간단한 토폴로지

#!/usr/bin/python

from mininet.net import Mininet
from mininet.node import Controller
from mininet.cli import CLI
from mininet.link import Intf
from mininet.log import setLogLevel, info
from mininet.topo import Topo

class tmpnet(Topo):
    def build(self, n=2):
        info( '*** Add switches\n')
        switch = self.addSwitch('s1')
        for h in range(n):
            info( '*** Add host '+str(h)+' and Link Siwtch\n')
            host = self.addHost('h%s'%(h+1))
            self.addLink(host, switch)

if __name__ == '__main__':
    setLogLevel( 'info' )
    topo=tmpnet()
    net=Mininet(topo=topo)
    net.start()
    hosts=net.hosts
    print(hosts)
    hosts[0].cmd("ping "+hosts[1].IP()+" &")
    hosts[1].cmd("ping "+hosts[0].IP()+" &")

    CLI(net)
    net.stop()

snmp 정보를 influxdb에 저장하는 telegraf.conf

[[outputs.influxdb]]
#influxdb에 데이터베이스를 만들고 해당 정보를 기입한다.
  urls = ["http://127.0.0.1:8086"]
  database = "telegrafdb"
  username = "telegraf"
  password = "12345"

[[inputs.snmp]]
  agents = [ "localhost" ]
  version = 2
  community = "public"
  interval = "10s"
  timeout = "10s"
  retries = 3

  [[inputs.snmp.field]]
    name = "hostname"
    oid = "RFC1213-MIB::sysName.0"
    is_tag = true

  # IF-MIB::ifTable contains counters on input and output traffic as well as errors and discards.
  [[inputs.snmp.table]]
    name = "interface"
    inherit_tags = [ "hostname" ]
    oid = "IF-MIB::ifTable"

    # Interface tag - used to identify interface in metrics database
    [[inputs.snmp.table.field]]
      name = "ifDescr"
      oid = "IF-MIB::ifDescr"
      is_tag = true

mininet + ryu controller

sudo mn --controller remote #외부 컨트롤러를 사용하여 mininet 실행

sudo python3 /usr/local/bin/ryu-manager --verbose ~/ryu/ryu/app/simple_monitor_13.py # ryu의 예제 중 openflow1.3 을 사용하여 간단한 트래픽 모니터 컨트롤러를 실행