PDCA


전공교육개발실습부서교육부서업무지원기타
P과학데이터교육 일 3.2시간 이상 수강omz 설치 및 실습, snmp설치 및 실습, influx DB 설치 및 실습, mininet으로 만든 sdn의 snmp 데이터 가시화하기
우수성과취합
DR기초 11시간 수강omz 설치 및 실습, snmp+telegraf+inluxdb+grafana로 네트워크 모니터링 환경 구성, ryu 컨트롤러 실습
32개중 13개 취합
C일정에 맞게 수강하였다.간단한 환경구성을 해보았고 성공적이었다.
13개를 취합하긴했지만 내용이 통일되게 하지 못했다.
A전공교육은 계속 이렇게 진행하면 될것같다.ryu컨트롤러로 mininet의 snmp데이터 저장을 따로 하지는 못했다
일단 모두 취합을 한 후에 다시 한번 정리를 해야할것 같다.

일일회고

23/02/06

23/02/07

23/02/08

23/02/09

23/02/10

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 을 사용하여 간단한 트래픽 모니터 컨트롤러를 실행