จับทุก log ใส่ Elasticsearch แล้ว visualize มันด้วย Kibana สำหรับ .NET กันเถอะ… ทำเสร็จได้ใน 15 นาที

วันนี้ก็มาแบบไวๆ ไม่เกิน 15 นาที ในแบบดูแต่รูปก็ทำได้ โจทย์ก็คือ

ผมจะเก็บ log สารพัดจุดประสงค์จากโปแกรมของผมที่พัฒนาด้วย .NET บน Window Application ไว้ที่ Elasticsearch แล้วเปิดดู log ดูวิเคราะห์ เพื่อจุดประสงค์อะไรก็แล้วแต่ ด้วย Kibana นะครับ มีแค่นี้

ก่อนจะลงมือทำให้ติดตั้ง

  1. Visual Studio Community 2013 download ได้ที่ http://www.visualstudio.com/en-us/news/vs2013-community-vs.aspx
  2. ติดตั้ง Java Runtime download ได้ที่ https://java.com/en/download/

หลังจาก ติดตั้ง  Java Runtime ลองทดสอบ version ดู โดยพิมพ์ที่ command line > java -version ถ้าแสดงตามรูปข้างล่างเหมือนผม แสดงว่า OK แต่ถ้าไม่ ให้ set JAVA_HOME ที่ environment ก่อนครับ

check_java_version

หลังจากติดตั้งเสร็จแล้ว ก็ลงมือทำกันเลยครับ

เครื่องมือที่ต้องใช้ ติดตั้งตามลำดับ ดังนี้ครับ

  1. Elasticsearch
  2. log4net.ElasticSearch
  3. Kibana

ติดตั้ง elasticsearch

  1. download http://www.elasticsearch.org/overview/elkdownloads/
  2. ได้ file elasticsearch-1.4.2.zip แตกออกวางไว้ drive c:\
  3. cd ไปที่ C:\elasticsearch-1.4.2\bin
  4. แล้ว run elasticsearch.bat จะแสดงเหมือนผมตามภาพข้างล่าง แบบนี้elasticsearch-start
  5. ทดสอบ เปิด IE เข้าไปที่ url http://localhost:9200/ จะแสดงภาพแบบนี้ เป็นอันว่า ติดตั้ง elasticsearch เสร็จสมบูรณ์test-elasticsearch-ie

ทดลองบันทึก log ลง Elasticsearch ด้วย log4net.ElasticSearch

  1. เปิด visual studio 2013 community edition ขึ้นมา แล้วสร้าง project unit testnew-xUnit
  2. ไปที่ nuget console ตามภาพนี้nuget-console
  3. พิมคำสั่งตามภาพข้างล่างนี้ลงไป เพื่อติดตั้ง log4net.ElasticSearchpackage-manage-console
  4. config เหมือน log4net เลยครับ แต่ให้ เพิ่ม ElasticSearchAppender เพิ่มเข้าไป แค่นั้น แบบนี้log4net_configอ่อเกือบลืมอีกจุด ให้เปิด AssemblyInfo.cs ที่ Properties Solution Explorer แล้วเติม code เหมือนผมแบบนี้ด้วยครับ
  5. ทดสอบเขียน log เก็บไว้ที่ Elastichsearch กันครับ เติม code ไปยัง xUnit เหมือนผม แบบนี้เลยครับ

xUnit-code

ครับ run xUnit เพื่อทดสอบ Test Method ทั้ง 3 ครับ จะเห็นว่า ผม แค่เขียน log ไปเก็บไว้ที่ elasticsearch แค่นั้นเอง เอาละ ต่อไป เราจะมาเปิด ดู log ของเรา ด้วย Kibana กันนะครับ

ติดตั้ง Kibana

  1. download Kibana 4 beta ที่ http://www.elasticsearch.org/overview/kibana/installation/
  2. ได้ file kibana-4.0.0-beta3.zip มา ระเบิดมันออกครับ แล้ว copy ไปวางไว้ที่ drive C:\
  3. run kibana โดยไปที่ C:\kibana-4.0.0-beta3\bin แล้ว run kibana.bat ก็เสร็จ
  4. เปิด IE แล้ว ไปที่ url http://localhost:5601/
  5. เข้ามาแล้ว ไปที่ Setting -> Indices แล้ว กำหนดเหมือนผมตามภาพเลยครับkibana-settingเสร็จแล้วกด Create
  6. ไปที่ Discovery เลือก เวลาเป็น Today ก็จะแสดง log ที่เก็บเข้าไป แบบนี้

kibana-log-display

ก็ขอจบเพียงเท่านี้ครับ ก็หวังว่า น่าจะมีประโยชน์กับ Elasticsearch, Kibana, และ log4net.ElasticSearch ครับ

ขอบคุณครับ

#:P

Advertisements

#net, #elastichsearch, #event-log-analytics, #kibana