이 페이지의 이전 버전을 보고 있습니다. 현재 버전 보기.

현재와 비교 페이지 이력 보기

« 이전 버전 9 다음 »

PDCA


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




C




A




일일회고

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 : -

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



  • 레이블 없음