Winning with Monitoring

NetOpsCoding Advent Calendar 201612/8분의 신청서.

개시하다


12월 1일 Juniper의 "Juniper Cloud Builder Community"라는 이벤트 중
'위닝 위드 모니터'라는 제목으로 제가 등장했습니다.
행사 중 감사한 것은 "자료를 발표해 주세요"라는 목소리를 많이 받았다는 점입니다.
나는 이곳을 빌리고 싶다. 내가 공개하면 된다.
행사의 강연 시간은 25분에 비해 비교적 짧아서 제작된 자료의 절반 정도는 울면서 삭제된다
얻기 어려운 기회이기 때문에 본 프로젝트에서 요약만 발표할 수 있도록 허락해 주십시오.
행사의 강연 내용으로 삼다
최근 몇 년 동안 모니터링의 유형에서 논의된 일이 많은 측정 기능
이것은 (SMP와 달리 네트워크 장치 자체가 메트릭을 보내는 유형)을 사용하는 하나의 실현이다
OpenNTI(Juniper의 공식 지원 대안이 아님)
측정 기능의 유용성을 확인하기 위해서다.

모니터링 아키텍처


Monitoring 아키텍처에 대한 마지막 인사

Pull형은 정보 수집을 위해collector가 네트워크 노드 등 목표물에 Request를 던진다
그 목표는response로 돌아가는 유형입니다.
한편, Push형 목표는 SNMP Trap과SYSLOG처럼 일방적으로collector로 변한다
메시지를 보내는 유형입니다.
딱 봐도 Request/response가 있는 Pull형이랑 달라요.
나는 푸시형은 실시간성이 강한 구조라고 생각한다.
다만, 나는 개인적으로 Pull형과 Push형 중 어느 것이 더 우수한지 말하는 것에 익숙하지 않아서 구별해서 사용해야 한다고 생각한다
(예를 들어 Pull형은 Request/response를 통해 지연 등을 측정할 수 있어 사활 감시 등에 적합하다).

Monitoring System의 분류


다음은 Monitoring System의 분류이지만 명시적으로 분류할 수는 없습니다.
나는 이것이 단지 하나의 예일 뿐이라고 생각한다.

실제로 여러 가지 조합이 있어 백엔드의 데이터 원본을 선택할 수 있다
아키텍처도 SNMP의 존재를 무시할 수 없습니다.
퍼시형은 대부분 플러그인 등을 통해 풀형을 지원하는 것으로 생각한다.

SNMP


Monitoring이 피할 수 없는 것은 SNMP 프로토콜이라고 생각합니다.
다음은 장점과 문제점을 열거했다.

SNMP에 대해 하고 싶은 말이 너무 많아서 사랑을 끊는다.

네트워크 공급업체 각 회사의 원격 측정 설치 상황


■Cisco
・IOS XR6.X에 측정 기능 설치
(비행량에서 가장 짧은 간격은 현재 5초)
실시예
  IOS XR 6.X + Streaming Telemetry Collector Stacks
■Arista
· 일찌감치 LANZ 등 원격 측정 기능 구현
· 최근 NetDB를 통해 각종 트레이서 기능(VM 트레이서, Contaainer Tracer)에서 수집한 정보를 축적
Cloudvision으로 해석할 수도 있어요.
실시예
  NetDB + CloudVision
  EOS Splunk Extension + Splunk Apps
  LANZ + CorvilNet
■Juniper
· QFX5100에서 Insight Technology(본 프로젝트는 Analythicsd로 표시됨)
일컫는 기능으로 원격 측정을 실현하다
· MX 등도 JTI(Junso Telemetry Interface) 기능으로 구현
실시예
  Analyticsd + Cloud Analytics Engine + Network Director
  Analyticsd + Contrail
  docker-junos-datadog
  junos-telemetry-splunk
  NetReflex
  BizReflex
  OpenNTI ⇒  강연 자료
※ 애니메이션이 많기 때문에 docs.인터넷에 올리고 있습니다.
※ 추가 설명이 필요한 슬라이드는 잘 모르는 부분이 있을 수 있습니다.

공개 자료의 보충(2016/12/16 보충)


P.6
OpenNTI에서 "Data Streaming Collector"라는 처리가 있음
이것은 네트워크 장치의 원격 측정 기능을 사용하는 처리(Push형)이다.
또한 Data Collection Agent 로 불리는 프로세스도 있습니다.
Netconf를 통해 데이터를 가져오는 처리(Pull형)입니다.
마지막 "SYSLOG"은 모든 네트워크 장치에 대한 로그를 보내지 않습니다.
특정 이벤트만 보내기(commit compllete 등)(이후 분석에 사용됨).
P.8
Analythicsd의 설정 샘플이지만 설정 항목 depth-threshold의 값은 상당히 낮습니다
상황에 따라 값을 바꿀 필요도 있다.
P.9
거리측정기 기능을 사용해서 실현할 수 있는 일은
• 패킷 버퍼, 통신 지연 모니터링
• 미세 돌발 감시
• Broad/Multicast의 PPS 모니터링
하지만 이런 장점들은
서비스가 미연, 즉각 검측, 인증 등 서비스 제공자에게 쉽게 문제가 발생하는 상황을 방지하다
(예를 들어 통신 지연이 발생하거나 주파수를 채우는 데 사용되는 통신을 순간적으로 억제하거나 폭풍이 감지됨)
효과를 발휘하다.
P.11
Jvision은 또한 설정 프로젝트 리소스에서 Interface 이외의 프로젝트를 지정할 수 있습니다JUNOS 116.1R3부터 다양한 액션을 해보도록 하겠습니다..
다양한 정보를 얻을 수 있습니다.
P.17
OpenNTI가 시작되면 WebGUI에 액세스하여 수집된 데이터를 볼 수 있습니다.
'Data Streaming Collector Dashboard'란 감지 측정 기능으로 수집된 데이터를 뜻한다
표시되는 대시보드입니다.
OpenNTI를 직접 사용하려면 주의하세요.
좀 틀렸어.예를 들어, 이 대시보드의 이름인 "Data Streaming"도 정확합니다.
"r"라는 글자를 없애고 "Data Steaming"으로 변하면 표시되는 데이터도 정말
인터페이스 Broadcast 데이터와 Multicast 데이터 표시
좋은 데서 잘못했어.
P.18
Data Collection Agent Dashboard에는 Netconf를 통한 데이터가 표시됩니다.
JUNOS의 특정 프로그램에서 스토리지 유출 여부를 모니터링할 수 있습니다.
P.20
최초 차트는 Cacti에서 시작하여 1분 간격으로 모니터링
약 9.4Gbps의 업무를 30초, 20초, 10초 동안 지속하는 경우
각각 4.5Gbps, 2.5Gbps, 1.5Gbps만 재생했다.
실제로 9.4Gbps의 데이터가 흐르고 있지만 이것은 Cacti가 식별할 수 있는 경계이다
(물론 Cacti의 Realtime 플러그인 등을 통해 바늘로 얻을 수 있는 정보도 있다).
다음 도표는 감지 기능을 통해 얻은 것으로 10초 안에도 정보를 정확하게 얻을 수 있다.
단기 DDoS 등의 회선이 매몰되어 서비스가 불가능한 경우
디도스 라인이 진짜 묻혔는지 등등.
나는 사용자와 많은 문제가 있다고 생각한다. 최초의 Cacti의 도표에서 받아들일 수 있는 경우는 매우 적다.
통상적으로 업무 도표와 xFlow 정보를 조합하여 해결한다
많은 경우 1, 2일 이내에 불을 끄지 못한다
실제 업무 상황을 고정밀하게 감시하고 보존할 수 있는 것이 큰 장점이라고 생각합니다.
P.25
위의 도표는 QoS를 적용한 사용자가 보낸 업무량입니다
다음 도표는 QoS의 제한에 걸려서 통신한 것이다.
통상적으로 업무는 물리 논리 인터페이스 등의 총괄적으로 감시한다
규칙에 기초하여 감시할 수 있다.
P.27
Netconf를 통한 데이터 확보는 병목 현상이 되기 쉽습니다.
튜닝을 하더라도 PyEZ의 SSH 처리는 Paramiko를 활용해 ControlMaster 설정 등을
변경할 수 없으므로 SSH 세션도 관리할 수 없습니다.
따라서 SSH 처리의 다중증도(cron 등록을 여러 번 반복)를 높이는 정도의 대응만 있을 뿐이다.


OpenNTI에 대한 검증을 실시했지만 실제 운영 환경에서 OpenNTI를 직접 사용하려는 것은 아닙니다.
패브릭만 사용해 Monitoring System을 탑재 금속 서버로 구축할 계획이다.
이유는 (지금) 생리적으로 Docker 컨테이너에 DB를 싣는 걸 싫어해요.
Docker 컨테이너를 사용하려면 이번에는 컨테이너 자체를 감시해야 한다
(현재) 컨테이너 관리, 감시 솔루션이 많아서
잠시 상황을 보고 싶지만 이유가 모호하다.
또한 시각적인 부분뿐만 아니라 Alerting System과도 협력해야 합니다.
이것은 처음에 InflexDB와의 연합이 쉬워서 Kapacitor를 상상했지만
Grafana 4.0부터 베타 버전이었지만 Alerting 기능을 구현했기 때문에
우리도 후보에 참여할 생각입니다.

좋은 웹페이지 즐겨찾기