[DE]kibana 설정(+elasticsearch연동), 샘플data 사용해보기

차보경·2022년 11월 13일
0
post-thumbnail
post-custom-banner

처음 키바나를 설치할 때 token이 없어서 모옵시 당황했다... 이걸로 3-4시간 버린듯...

아무래도 elasticsearch도 local로 하면서 각종 보안들을 끈채로 진행해서 그런지,,, 내가 WLS로 돌리고 window로 설치하고 왔다갔다해서그런지,,, (사실 아직 확실치 않다..)

그래도 우선 책에서 설명한 것 처럼 자동으로 localhost:9300으로 elasticsearch를 읽어오고 간단 예제를 할 수 있는 방법을 공유하려한다.

1. elasticsearch 연동

kibana > config > kibana.yml에서

server.port: 5601
server.host: "localhost"
elasticsearch.hosts: ["http://localhost:9200"]

각 변수들의 주석을 풀어준다.
그다음에 다시 실행해주면 token을 묻지 않고 바로 들어가게 된다.

2. 샘플 data 사용해보기


밑에 숨어있는 Try sample data를 눌러준다.

그리고 밑에 Other sample sets를 누르면 eCommerce orders가 보인다!
그럼 밑에 그림처럼 data들이 들어와있는 것을 확인할 수 있다:)


여러 데이터들을 보면 저 key에 맞춰서 데이터들이 들어와있는 것이 보인다. 복사해서 한번 뜯어본당. 어떤 카테고리를 사고, 이름, 성별, 이메일, 구매위치(신기하게 geoip.location 으로 포인트를 찍을 수 있다), 아이템 id 등 여러가지가 잘 들어가있다.

확대해서 보면 table or JSON 형태로 볼 수 있다.

{
  "_index": "kibana_sample_data_ecommerce",
  "_id": "cbNNboQBX7sGR7LwyxU1",
  "_version": 1,
  "_score": 0,
  "_source": {
    "category": [
      "Men's Clothing"
    ],
    "currency": "EUR",
    "customer_first_name": "Yahya",
    "customer_full_name": "Yahya Graham",
    "customer_gender": "MALE",
    "customer_id": 23,
    "customer_last_name": "Graham",
    "customer_phone": "",
    "day_of_week": "Sunday",
    "day_of_week_i": 6,
    "email": "yahya@graham-family.zzz",
    "manufacturer": [
      "Low Tide Media",
      "Microlutions"
    ],
    "order_date": "2022-11-13T14:52:48+00:00",
    "order_id": 564777,
    "products": [
      {
        "base_price": 28.99,
        "discount_percentage": 0,
        "quantity": 1,
        "manufacturer": "Low Tide Media",
        "tax_amount": 0,
        "product_id": 15017,
        "category": "Men's Clothing",
        "sku": "ZO0452704527",
        "taxless_price": 28.99,
        "unit_discount_amount": 0,
        "min_price": 13.63,
        "_id": "sold_product_564777_15017",
        "discount_amount": 0,
        "created_on": "2016-12-11T14:52:48+00:00",
        "product_name": "Jumper - off-white",
        "price": 28.99,
        "taxful_price": 28.99,
        "base_unit_price": 28.99
      },
      {
        "base_price": 32.99,
        "discount_percentage": 0,
        "quantity": 1,
        "manufacturer": "Microlutions",
        "tax_amount": 0,
        "product_id": 22683,
        "category": "Men's Clothing",
        "sku": "ZO0122201222",
        "taxless_price": 32.99,
        "unit_discount_amount": 0,
        "min_price": 15.18,
        "_id": "sold_product_564777_22683",
        "discount_amount": 0,
        "created_on": "2016-12-11T14:52:48+00:00",
        "product_name": "Jumper - black",
        "price": 32.99,
        "taxful_price": 32.99,
        "base_unit_price": 32.99
      }
    ],
    "sku": [
      "ZO0452704527",
      "ZO0122201222"
    ],
    "taxful_total_price": 61.98,
    "taxless_total_price": 61.98,
    "total_quantity": 2,
    "total_unique_products": 2,
    "type": "order",
    "user": "yahya",
    "geoip": {
      "country_iso_code": "MA",
      "location": {
        "lon": -8,
        "lat": 31.6
      },
      "region_name": "Marrakech-Tensift-Al Haouz",
      "continent_name": "Africa",
      "city_name": "Marrakesh"
    },
    "event": {
      "dataset": "sample_ecommerce"
    }
  },
  "fields": {
    "products.manufacturer": [
      "Low Tide Media",
      "Microlutions"
    ],
    "products.discount_amount": [
      0,
      0
    ],
    "products.base_unit_price": [
      28.984375,
      33
    ],
    "type": [
      "order"
    ],
    "products.discount_percentage": [
      0,
      0
    ],
    "products._id.keyword": [
      "sold_product_564777_15017",
      "sold_product_564777_22683"
    ],
    "day_of_week_i": [
      6
    ],
    "total_quantity": [
      2
    ],
    "total_unique_products": [
      2
    ],
    "taxless_total_price": [
      61.96875
    ],
    "geoip.continent_name": [
      "Africa"
    ],
    "sku": [
      "ZO0452704527",
      "ZO0122201222"
    ],
    "customer_full_name.keyword": [
      "Yahya Graham"
    ],
    "category.keyword": [
      "Men's Clothing"
    ],
    "products.taxless_price": [
      28.984375,
      33
    ],
    "products.quantity": [
      1,
      1
    ],
    "customer_first_name": [
      "Yahya"
    ],
    "products.price": [
      28.984375,
      33
    ],
    "customer_phone": [
      ""
    ],
    "geoip.region_name": [
      "Marrakech-Tensift-Al Haouz"
    ],
    "customer_full_name": [
      "Yahya Graham"
    ],
    "geoip.country_iso_code": [
      "MA"
    ],
    "order_id": [
      "564777"
    ],
    "products._id": [
      "sold_product_564777_15017",
      "sold_product_564777_22683"
    ],
    "products.product_name.keyword": [
      "Jumper - off-white",
      "Jumper - black"
    ],
    "products.product_id": [
      15017,
      22683
    ],
    "products.category": [
      "Men's Clothing",
      "Men's Clothing"
    ],
    "products.manufacturer.keyword": [
      "Low Tide Media",
      "Microlutions"
    ],
    "manufacturer": [
      "Low Tide Media",
      "Microlutions"
    ],
    "products.unit_discount_amount": [
      0,
      0
    ],
    "customer_last_name": [
      "Graham"
    ],
    "geoip.location": [
      {
        "coordinates": [
          -8,
          31.6
        ],
        "type": "Point"
      }
    ],
    "products.tax_amount": [
      0,
      0
    ],
    "products.product_name": [
      "Jumper - off-white",
      "Jumper - black"
    ],
    "products.min_price": [
      13.6328125,
      15.1796875
    ],
    "manufacturer.keyword": [
      "Low Tide Media",
      "Microlutions"
    ],
    "currency": [
      "EUR"
    ],
    "products.taxful_price": [
      28.984375,
      33
    ],
    "products.base_price": [
      28.984375,
      33
    ],
    "email": [
      "yahya@graham-family.zzz"
    ],
    "day_of_week": [
      "Sunday"
    ],
    "products.sku": [
      "ZO0452704527",
      "ZO0122201222"
    ],
    "customer_last_name.keyword": [
      "Graham"
    ],
    "products.category.keyword": [
      "Men's Clothing",
      "Men's Clothing"
    ],
    "geoip.city_name": [
      "Marrakesh"
    ],
    "order_date": [
      "2022-11-13T14:52:48.000Z"
    ],
    "customer_first_name.keyword": [
      "Yahya"
    ],
    "products.created_on": [
      "2016-12-11T14:52:48.000Z",
      "2016-12-11T14:52:48.000Z"
    ],
    "category": [
      "Men's Clothing"
    ],
    "customer_id": [
      "23"
    ],
    "user": [
      "yahya"
    ],
    "customer_gender": [
      "MALE"
    ],
    "event.dataset": [
      "sample_ecommerce"
    ],
    "taxful_total_price": [
      61.96875
    ]
  }
}
  • 참고로 KQL은 Kibana Query Language다.

3. 다양하게 시각화 해보기

  • Field 별로 손쉽게 시각화 할 수 있다.

  • Maps로 가면 위도/경도 데이터를 통해 세밀한 시각화도 가능하다.


  • dashboard를 가면 다양한 위젯으로 구성된 분석도 볼 수 있다.
    세상에 이렇게 좋아지다니... 이제 진짜 코드로 하나하나 안뽑아봐도 이렇게 이쁘게 뽑을 수 있는 세상인가보다..

4. Dev Tools 확인


이렇게 test로 PUT, GET을 해볼수도 있다. 두근두근...!


kibana + elasticsearch를 연동해보고 이것저것 해봤당.
헤헤 이렇게 저렇게 해볼 생각하니 떨린다 언능 배워야지!!

profile
차보의 Data Engineer 도전기♥ (근데 기록을 곁들인)
post-custom-banner

0개의 댓글