버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

목차


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

  • Fact : oh-my-zsh와 snmp를 설치 및 실습, mininet 토폴로지 구성을 위해 mininet python API 설명서 참조
  • Feelings : oh-my-zsh의 자동완성이 너무나도 편리했다. 
  • Finding : snmp가 네트워크 장비들을 관리하기 위한 프로토콜 이라는 것을 알았고 mininet prthon api를 보면서 mininet 토폴로지 구성 방법에 대해 알았다.
  • Future Action Plan : mininet python api를 이용해서 호스트간의 지속적인 ping을 보내는 토폴로지 구성, influxDB 설치
  • Feedbacks : -

23/02/07

  • Fact : telegraf, influxdb,grafana 설치 및 구동, snmp 연동
  • Feelings : 복잡하면서도 체계화가 잘 된 툴인것같다.
  • Finding : snmp의 값들을 telegraf를 통해 influxdb에 저장하고 grafana로 influxdb에 저장된 네트워크 장비들의 상태를 모니터링 할 수 있는 시스템 구성인것을 알았다.
  • Future Action Plan : mininet python api를 이용해서 호스트간의 지속적인 ping을 보내는 토폴로지 구성 및 해당 토폴로지에 snmp를 구동하고 telegraf, influxdb,grafana를 통해 네트워크 모니터링
  • Feedbacks : -

23/02/08

  • Fact : mininet python api를 이용한 호스트간 지속적인 ping 보내는 간단한 토폴로지 구성, mininet controller인 ryu 컨트롤러 탐색, telegraf의 .conf 파일을 수정해보면서 influxdb에 다양한 데이터 저장 실습
  • Feelings : 네트워크가 정말 복잡하다는 것을 다시 깨달았다.
  • Finding : telegraf의 설정에 따른 snmp저장 형식을 배웠다. mininet의 기본 switch인 ovSwitch는 호스트 내에서 snmpd를 실행시킬수 없고 전체로 관리 된다
  • Future Action Plan : 만든 토폴로지에 snmp를 구동하고 telegraf, influxdb,grafana를 통해 네트워크 모니터링
  • Feedbacks : -

23/02/09

  • Fact : ryu wiki를 보면서 컨트롤러 실습, mininet으로 만든 sdn의 snmp 데이터 grafana에 시각화
  • Feelings : 알면 알수록 더욱 미궁속으로 빠져들어가는 느낌이다.
  • Finding : ovSwitch를 사용한 토폴로지에서는 snmp가 리눅스에서 실행되기 때문에 telegraf의 설정파일을 수정하고 snmpd와 telegraf, influxdb를 모두 실행시키면 mininet을 켯을 때 자동으로 토폴로지의 호스트에 대한 iftable이 잡히게 되서 알아서 influxdb에  저장되게 된다.
  • Future Action Plan : 토폴로지의 switch의 정보가 원래 snmp에 안잡히는 건지를 찾아봐야겠다.
  • Feedbacks : -

23/02/10

  • Fact : 성과취합만 했다.
  • Feelings : 생각보다 파일들의 내용이 통일되어있지 않아서 더욱 시간이 걸리는 느낌이었다.
  • Finding : - : Finding : 
  • Future Action Plan :  -
  • Feedbacks : -

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

      ...