AWS 사물인터넷, ElasticSearch 7.9 및 Kibana를 통해 금속에서 경보로

10840 단어 iotelasticsearchaws

This post continues from my earlier post on . We replace Timestream and Quicksight with ElasticSearch and Kibana.


왜?


ElasticSearch와 Kibana는 데이터 분석과 시각화에 가장 자주 사용되는 창고일 수 있습니다.ElasticSearch는 호스팅과 관리가 어려운 소프트웨어로 알려져 있습니다.ElasticSearch의 창시자Elastic.co의 위탁 관리 클라우드에 비해 AWS의 위탁 관리 서비스는 더욱 신뢰할 수 있는 선택 중의 하나이다.
인증과 경보 같은 필요한 기능들은 기업판에서만 사용할 수 있다.AWS가 ElasticSearch의 오픈 릴리스를 발표할 때까지ODFE는 오픈소스 버전에 인증, 액세스 제어, 경보, 이상 체크를 추가했고, 이제는 노트북도 추가했다.
이를 통해 ElasticSearch와 Kibana는 다음과 같은 이점을 얻을 수 있습니다.
  • Timestream & QuickSight보다 완전하고 경보와 노트북이 같은 UI
  • 에 있음
  • Timestream &Grafana보다 강력하고 이상 검출 및 노트북
  • 타임 스트리밍을 단독으로 사용하는 것보다 확장성이 있어 시간 서열뿐만 아니라 모든 유형의 데이터를 수신할 수 있다.
  • 대량의 논쟁과 도덕적 곤경 우리는 무엇을 건설해야 합니까?


    Dell은 다음을 수행할 것입니다.
  • 우리가 세 번째 단계를 위해 한 모든 것을 사용합니다.
  • AWS 사물인터넷 규칙을 설정하고 그림자를 ElasticSearch
  • 로 업데이트한다.
  • Kibana를 사용한 시각화 및 경고 생성
  • ElasticSearch 인스턴스 만들기


    ElasticSearch 및 Kibana 및 ODFE는 를 사용하여 설치합니다.이것은 단지 시범일 뿐이기 때문에, 우리는 t2.small 노드를 설정할 것이다. 디스크 크기는 10GB보다 작다.ElasticSearch 버전 Deployment type = Development and testing 을 사용할 것입니다. 이것은 본고를 작성할 때까지 이 서비스의 최신 버전입니다.

    AWS seems to be tracking the releases much better these days. The latest release on Elastic.co is 7.10.1.


    주요 보안 고려 사항
    ODFE의 네트워크 구성과 세분화된 액세스 제어에 대한 지침을 읽었는지 확인하십시오7.9.생산 시스템에 대해 t2.small 보다 큰 실례를 사용하여 정적 암호화를 지원하고 접근 제어를 지원해야 합니다.
    내가 이곳에서 사용t2.small은 시범을 보이기 위한 목적이다. 왜냐하면 이 실례는 몇 시간만 실시간이기 때문이다.구글 일라스틱서치는 늘어나는 노출 서버 수를 위반했다.

    AWS 유연한 검색 서비스 색인 및 매핑 만들기


    AnPublic access은 ElasticSearch에서 가장 높은 논리적 수준입니다.데이터베이스에 있는 테이블과 유사하게 볼 수 있습니다.
  • 데이터를 받기 전에 index가 필요합니다.
  • 섭취 전에 데이터 열과 유형을 정의할 필요가 없다.
  • 섭취 기간에 전환할 특정 열에 대한 정의index가 필요하다.
  • 분석하거나 시각화하기 전에 유형과 열을 정의해야 한다.
  • 색인을 만들려면 다음과 같이 HTTPmappings가 필요합니다.

    맵에서 지정한 PUT 필드는 ElasticSearch에서 timestamp (실제로datetime) 필드로 해석해야 한다는 것을 주의하십시오.
    이렇게 해서, 우리 ElasticSearch 실례는 데이터를 받을 준비가 되어 있습니다.

    지속적인 그림자 업데이트

    date로 이동하여 시작하십시오.우리는 새로운 규칙 AWS IoT Core -> Act -> Rules 을 만들 것이다.앞과 같이 우리는 하나SendShadowsToElasticSearch와 하나filter를 추가할 것이다.

    필터


    우리는 다시 action 필드를 추가해야 하고, 또 timestamp 필드를 추가해야 한다.따라서 이제 SQL 쿼리는 다음과 같습니다.
    SELECT 
      state.reported.cpu_usage as cpu_usage,
      state.reported.cpu_freq as cpu_freq,
      state.reported.cpu_temp as cpu_temp,
      state.reported.ram_usage as ram_usage,
      state.reported.ram_total as ram_total,
      state.reported.timestamp as timestamp,
      clientid() as device_id
    FROM '$aws/things/+/shadow/update'
    

    행동


    ElasticSearch는 AWS 사물인터넷 행동 목록의 일등시민이다.따라서 이 작업을 선택하고 구성합니다.

    참고:
  • 이전 단계
  • 에서 만든 ElasticSearch 인스턴스 선택
  • IAM 규칙
  • 을 통한 AWS 사물인터넷 액세스 권한 부여
  • 내장device_id 기능 사용
  • 추가 id
  • 색인 지정
  • 새 문서
  • 의 기본 내장 유형인 데이터에 유형을 지정했습니다.
    앞에서 말한 바와 같이 오류가 발생할 때 newuuid() 조작을 사용합니다.
    우리의 규칙은 결국 이렇게 될 것이다.

    Kibana를 사용한 쿼리 및 시각화


    시뮬레이터를 다시 시작해서 키바나로 뛰어들어 데이터 분석을 시작합니다.Kibana URL은 AWS ElasticSearch 콘솔에서 볼 수 있습니다_doc.
    데이터를 조회하기 전에 를 만들어야 합니다.입력하면 Kibana에서 색인 모드를 만들라는 메시지가 표시됩니다.놓치면 왼쪽 사이드바CloudWatch로 가세요.https://ES_DOMAIN/_plugin/kibana/를 클릭하고 마법사를 찾습니다.색인이 데이터를 받았기 때문에 열이 검출되었습니다.날짜 필드로 index pattern를 선택해야 합니다.
    Stack Management --> Index Patterns

    들키다


    색인 모드가 완료되면 사이드바에 있는 Create index pattern로 이동하여 데이터 흐름을 봅니다.

    만약 당신이 유사한 출력을 보게 된다면, 우리는 계속 가시화를 진행할 수 있습니다.하면, 만약, 만약...
  • 클라우드워치 로그의 오류 확인
  • SQL 구문이 올바른지 확인합니다. 특히 주제
  • 올바른 색인 및 적절한 IAM 역할의 규칙 작동 보장
  • AWS IoT->Things->my IoT Device 1->Shadow
  • 로 이동하여 장치 Shadow가 업데이트되었는지 확인
  • 스크립트를 실행하는 터미널에서 오류를 찾습니다(있는 경우).
  • 시각화 및 대시보드


    일단 우리가 데이터를 수신하기 시작하면 키바나 내의 시각화는 쉽게 설정할 수 있다.사이드바timestamp로 이동하여 각 지표에 대해 선형 그래프를 만듭니다.명확히
  • 데이터 소스로 인덱스Discover 선택
  • Y축에 대해 Visualisations를 집합과 도량으로 선택했다. 예를 들어 필드 아래aws_iot_demo.필요한 경우 축에 대한 사용자 정의 레이블을 제공합니다.
  • 시퀀스 시각화를 활성화하려면 모으기average, 필드cpu_usageDate Histogram 간격의 X축 스토리지 통을 추가합니다.
  • timestamp를 통해 구분을 사용하려면 다른 bucket을 추가하십시오. 이번에는 하위 집합 Auto, 필드 device_id, 기본 Order by 옵션을 사용하십시오.
  • Terms는 ElasticSearch가 색인device_id.keyword 열에 저장된 문자열을 나타낸다.
  • device_id.keyword를 클릭하면 당신의 도표는 이와 비슷해야 합니다.

    다른 지표를 시각화하고 사이드바에서 device_id에 추가합니다.대시보드는 다음과 같습니다.

    QuickSight와 달리 키바나 계기판은 웹 사이트에 스냅샷으로 삽입할 수 있다.

    경고


    그라파나와 달리 키바나의 경보는 시각화에 독립적이다.그것들은 두 단계로 나뉘는데 그것이 바로 모니터와 트리거이다.

    모니터


    모니터는 계획대로 실행되는 조회입니다.다음 그림과 유사합니다.조회는 사용자 인터페이스/시각화 도형, 심지어 이상 검측(다음 절에서 상세하게 소개)을 통해 정의할 수 있다.
    extraction query

    촉발


    트리거는 모니터가 되돌아오는 값을 특정 한도값과 비교합니다.임계값을 초과하면 트리거는 일부 단점을 알릴 수 있습니다.현재 내장 목적지는 Update, Dashboard, Amazon SNSAmazon Chime로 제한되어 있다.UI에서 경고를 볼 수 있도록 대상이 없는 트리거를 만듭니다.

    경고가 발생하면 해당 경고가 활성화되어 경고 대시보드에 표시됩니다.Slack 경보는 Custom webhook로 조작원이 이 문제를 조사하고 있다는 것을 시스템에 알릴 수 있다.메트릭/쿼리가 임계값을 더 이상 위반하지 않으면 경고는 Active입니다.자세한 내용은 를 참조하십시오.
    the docs

    이상 검출


    이상 검출은 ODFE에서 비교적 새로운 기능으로 빈번하게 업데이트되었다.AWS의 버전Acknowledged부터 설정할 수 있습니다.
  • Completed 정기적으로 전체 또는 일부 데이터를 조회하고
  • 7.9 특정 필드나 사용자 정의 조회를 감시하여 이상을 찾습니다.
  • 우리는 이후의 게시물에서 이 특성을 상세하게 탐구할 것이다.이상 탐지에 대한 자세한 내용은 this post를 참조하십시오.

    의사 01 명 공책


    는 시각적이고 묘사적인 텍스트가 있는 Jupyter와 유사한 노트북을 만들 수 있는 실험적인 기능이다.반드시 강조해야 할 것은 이러한 기능들이 Jupyter의 기능과 매우 거리가 멀다는 것이다. Jupyter의 기능은 당연히 Python 등 완전한 프로그래밍 언어의 강력한 기능을 포함한다.그러나 그것들은 단지 시작일 뿐이다. 우리는 그들이 어떻게 진보하는지 보고 매우 기뻤다.

    Kibana 노트북 결론


    Elastic Search와 Kibana는 칭찬할 만한 프로젝트로 검색엔진부터 점방 택시 서비스까지 모든 것에 동력을 제공한다.창고의 다기능성도 시간 서열 데이터에 대한 적용성에서 알 수 있다.
    QuickSight,Grafana,ElasticSearch+Kibana를 비교할 때 다음과 같이 권장합니다.
    Timestream+QuickSight
  • 비용과 사용의 선형 관계를 선호
  • AWS 내부 제품 선호
  • 여러 데이터 소스의 데이터를 중복 없이 분석해야 함
  • 시각화된 지리공간 데이터 필요 없음
  • Timestream+Grafana 하면, 만약, 만약...
  • 시퀀스 차트 및 경고 필요
  • 간단한 필터 기능을 갖춘 화려한 대시보드 필요
  • 여러 데이터 소스에 걸쳐 복잡한 BI 스타일 분석 필요 없음
  • 이상 감지 필요 없음
  • ElasticSearch+Kibana 하면, 만약, 만약...
  • 차트 및 분석 유형의 유연성 필요
  • 이상 감지 필요
  • 도 인덱스 및 검색 텍스트 데이터 필요
  • ElasticSearch
  • 에 데이터 복사
  • 귀하의 실례
  • 에 매달 고정 비용을 지불해도 괜찮습니다.
  • ES 인스턴스 보호 및 모니터링
  • 생각, 문제 또는 정정?


    우리에게 편지를 쓰다

    좋은 웹페이지 즐겨찾기