스플렁크 소개 이승훈 MOS Asia 1. 스플렁크는 새로운 개념의 빅데이터 처리 엔진입니다. 연동 데이터수집 모든 산업 데이터 Configuration data > Metrics > Scripts > Change Events > Logs > Servers > Enterprise > Management > 명령어 Web Services > 운용 가시성 플렛폼 저장 검색 + 분석 Peta Bytes 사용자 특화 솔루션 비즈니스 분석 보안 & 컴프라이언스 사전 ↑ Uptime ↓ 90% MTTR or MTTI ↓ 70% Escalations 정형> 세미정형> 비정형> 서비스 ↑ KPIs, SLAs, QoS 사전 감시 정책 적용 Unstructured > Errors > Storage > Networks > 가치 실시간 Business 가시성 ↑ Value Limit Any Ascii data, any format > Business Applications > Databases > Transactions > 비즈니스 분석 Connectors DB 확장 솔루션 적용 효과 / 목적 사후 애플리케이션 관리 IT 운용 관리 2. 새로운 데이터 관리 사이클 실시간 수집 및 검색 , 즉석 관리 Real-time 수집 Real-time 실시간 데이터 수집 데이터 종류에 관계없이 실시간 데이터 수집 수집 Real-time 리포팅 Real-time 실시간 인덱싱 데이터 필드 자동인식 및 실시간 인덱싱 새인 Real-time 실시간 검색 실시간 검색 (데이터 크기와 무관) 검색 Real-time 색인 Real-time 모니터, 경고 실시간 대시보드 사용자 관점의 웹기반 개발 API 제공 Real-time 모니터, 경고 Real-time 검색 Real-time 실시간 레포팅 다양한 형태의 출력 방식 제공 리포팅 3. 새로운 데이터 엔진의 아키텍쳐 실시간 인덱싱, 실시간 검색, 웹기반 API Apps and Use Cases Application Management IT Operations Management UI Security APIs Compliance Business Analytics User-developed Splunk-developed …Community, Partners Web-based SDK Access Controls Role-based Core Functions Search Language Correlate with Other Data Sources IT Data Sources Stats/ Analytics Alerts Reports Real-time Search Engine Universal Indexing and Storage Dashboards Real-Time Monitoring Data Drilldown Historical Analytics Correlation High Performance Real-time No predefined Schema Massive Scale 4. 스플렁크의 새로운 데이터 수집 방법 부하 없이 데이터 수집 Forwarder, Script, Protocol, DB, Logs, Filesystem, etc Local File Monitoring syslog log files config files dumps and trace files TCP/UDP syslog compatible hosts and network devices Mounted File Systems Scripted Inputs WMI shell scripts custom parsers batch loading AD \\hostname\mount code shell Windows Inputs Event Logs performance counters registry monitoring Active Directory monitoring virtual host perf Windows hosts Unix, Linux and Windows hosts Custom apps and scripted API connections Windows hosts Agentless Data Input Fowarder Data input 5. 스플렁크의 데이터 자동 인식 및 실시간 색인 009-9-18 8:27:58 ####<Sep 24, 2009 2:52:38 PM PDT> <Warning> <EJB> <virt3> < myserver> <[ACTIVE] ExecuteThread : '224' for queue: ' weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1253829158586> <BEA-010065> < MessageDrivenBean threw an Exception in onMessage(). The exception was: javax.ejb.EJBException : nested exception is: javax.ejb.ObjectNotFoundException : Bean with primary key '10011968' was not found by ' findByPrimaryKey '.. javax.ejb.EJBException : nested exception is: javax.ejb.ObjectNotFoundException : Bean with primary key '10011968' was not found by ' findByPrimaryKey '. at com.sun.j2ee.blueprints.opc.customerrelations.ejb.MailOrderApprovalMDB.onMessage(MailOrderApprov alMDB.java:140) at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:429) at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:335) at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:291) at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4072) at weblogic.jms.client.JMSSession.execute(JMSSession.java:3962) at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:4490) at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) 모든 데이터 유형과 프로토콜의 수집,인식 Local7.Notice Sep 24 2009 09:59:28 192.168.2.1 ns5gt-wlan: 192.168.202.1 [Thu Sep 24 14:57:33 2009] [error] [client 10.2.1.44] ap_proxy: trying GET /petstore/ NetScreen device_id=ns5gt-wlan [No Name]systemOct 15 2008 notification-00257(traffic): start_time="2009-0900:00:21 ASA VDN1 got : %ASA 5 106100: 24 09:59:28” enter_order_information.screen at backend host '127.0.0.1/7001; exception access list inbound denied 'CONNECTION_REFUSED [os error=0, line 1739 of ../nsapi/URL.cpp]: Error connecting to host 127.0.0.1:7001', referer: http://10.2.1.223/petstore/cart.do?action= purchase&itemId=EST-14 was web Intrusion Detection Jul 28 2009 15:39:18 '<?xml System version="1.0" encoding="UTF-8" standalone="yes"?><events Cisco Security Agent Fri Sep 18_18:20:01_PDT_2009|peizhuwxp02|64.104.161.154|2389|449|2 009-06-01 19:51:28.343|The Ironport Email process 'C: 1253289166.13 306 1.1.1.1Security TCP_MISS/200 4215 GET http://photose.ak.fbcdn.net/hphotos-ak-snc1/ security User IP Action Login Result router switch Timesta User’s Mobile mp 30 15:53:48 IP ilordaaa-rsc1 Device # Aug radiusd[9536]: 10.2.1.44 - [25/Sep/2009:09:52:30 -0700] [ID 366645 local1.info] INFO type=USER_LOGIN msg=audit(1253898008.056:199891): user pid=25702 RADOP(12) acctuid=0 start for dilipjohn01@sprintpcs.com auid=4294967295 msg='acct="TAYLOR": exe="/usr/sbin/sshd" (hostname=?, (IP=173.112.114.156) from addr=10.2.1.48, terminal=sshd res=failed)' 172.29.177.133[MDN=451871223;] business Radius server virtual 6. 스플렁크의 데이터 검색 자동으로 발견된 필드값 맵 리듀스 기반의 실시간 조건 검색 이벤트타입으로 검색결과 저장 이벤트.호스트,다른필드값을 태깅 사용자 지정 필드값 정확하고 신속한 검색치 제공 7. 스플렁크의 리포팅 자체 리포팅 툴 제공 리포팅, 성능 분석, 성능 관제 전체 운용 데이터 애플리케이션, 시스템, 네트워크, 경영 정보 및 성능 분석 Splunk IT 데이터 검색 RAW DATA Formula Rule Terabytes Universal 인덱스 데이터 사용자 정의 리포팅 생성 조건 통합 인덱싱 되어 있는 여러 종류의 방대한 데이터 중, 수치나 성능으로 분석 해야 하는 데이터는 Splunk 특유 문법의 공식 및 수치 포맷팅 방식을 통하여 시스템의 성능 및 IT경영정보의 분석을 가능하게 합니다. 이러한 성능 분석을 통하여 수치가 연관된 다양한 산업 정보가 다양한 그래프 형식으로 표출되어 개별 수치의 임계치에 따른 사전 방지를 가능하게 합니다. 8. 스플렁크의 상관분석 Co-relation Index Data in files 3 1 Real time Indexing 4 configurations logfiles 2 Drill down investigation Operation Team Production servers Found the root cause 5 Replace hardware, apply fixes, change configs, update monitoring rules Admins Found 1st Error event Correlate Events from ALL data 9. 스플렁크의 데이터 활용 실시간 상관분석/대쉬보드 마케팅 팀 웹 사이트 관리자 Mash-up 및 웹 애플리케이션 10. 스플렁크의 데이터 활용-1 실시간 마케팅 11. 스플렁크의 데이터 활용-2 기계(생산) 데이터 분석 From these: [6/17/2010#23:59:39:699] #-#-#[6/17/2010#23:59:41:648] [6/17/2010#23:59:41:685] [6/17/2010#23:59:42:923] [6/17/2010#23:59:43:084] #-#-#-#[6/17/2010#23:59:45:655] [6/17/2010#23:59:45:692] [6/17/2010#23:59:47:658] [6/17/2010#23:59:47:684] [6/17/2010#23:59:48:037] 1#eBBS#null#[6/17/2010#23:59:48:058] #null#[6/17/2010#23:59:51:665] [6/17/2010#23:59:51:665] [6/17/2010#23:59:51:724] #-#-#[6/17/2010#23:59:51:733] [6/17/2010#23:59:53:668] [6/17/2010#23:59:53:669] #DEBUG#IFXMSG#onMessage#NA#NA#NA#-#PK#000002c9#PK_eBBS_CHL_CL04##[6/17/2010#23:59:39:699] #O#-#-#-#scb.util.ServiceProcessInvoker#-#-#54#-##DEBUG#SVS#SVS#NA#NA#NA#-#PK#000f7d79#PK_eBBS_ONL_CL10##[6/17/2010#23:59:41:648] #I#-#-#-#scb.util.ServiceProcessInvoker#-#-#-#-#-#-##DEBUG#SVS#SVS#NA#NA#NA#-#PK#000f7d79#PK_eBBS_ONL_CL10##[6/17/2010#23:59:41:685] #O#-#-#-#scb.util.ServiceProcessInvoker#-#-#37#-#-#-#-##DEBUG#SVS#SVS#NA#NA#NA#-#PK#0000012f#PK_eBBS_ENQ_CL01##[6/17/2010#23:59:42:923] #I#-#-#-#scb.ebbs.req.com.ServiceProviderProcess#-#-#-#-#-#-##DEBUG#SVS#SVS#NA#NA#NA#-#PK#0000012f#PK_eBBS_ENQ_CL01##[6/17/2010#23:59:43:084] #O#-#-#-#scb.ebbs.req.com.ServiceProviderProcess#-#-#161##DEBUG#SVS#SVS#NA#NA#NA#-#PK#000010a5#PK_eBBS_INT_CL02##[6/17/2010#23:59:45:655] #I#-#-#-#scb.util.ServiceProcessInvoker#-#-#-#-#-#-##DEBUG#SVS#SVS#NA#NA#NA#-#PK#000010a5#PK_eBBS_INT_CL02##[6/17/2010#23:59:45:692] #O#-#-#-#scb.util.ServiceProcessInvoker#-#-#37#-#-#-#-##DEBUG#SVS#SVS#NA#NA#NA#-#PK#00000123#PK_eBBS_ENQ_CL01##[6/17/2010#23:59:47:658] #I#-#-#-#scb.util.ServiceProcessInvoker#-#-#-#-#-#-##DEBUG#SVS#SVS#NA#NA#NA#-#PK#00000123#PK_eBBS_ENQ_CL01##[6/17/2010#23:59:47:684] #O#-#-#-#scb.util.ServiceProcessInvoker#-#-#26#-#-#-#-##DEBUG#ENQ#-#NA#NA#NA#-#PK#0000012f#PK_eBBS_ENQ_CL01##[6/17/2010#23:59:48:037] #I#1318196#PKD17TTK1S#-#RelationshipEnquiry#1#-1#0##DEBUG#ENQ#-#NA#NA#NA#-#PK#0000012f#PK_eBBS_ENQ_CL01##[6/17/2010#23:59:48:058] #O#1318196#PKD17TTK1S#-#RelationshipEnquiry#-1#-1#21#-1##DEBUG#SVS#SVS#NA#NA#NA#-#PK#000f7e66#PK_eBBS_ONL_CL10##[6/17/2010#23:59:51:665] #I#-#-#-#scb.util.ServiceProcessInvoker#-#-#-#-#-#-##DEBUG#IFXMSG#onMessage#NA#NA#NA#-#PK#000002e7#PK_eBBS_CHL_CL04##[6/17/2010#23:59:51:665] #I#-#-#-#scb.util.ServiceProcessInvoker#-#-#-#-#-#-##DEBUG#IFXMSG#onMessage#NA#NA#NA#-#PK#000002e7#PK_eBBS_CHL_CL04##[6/17/2010#23:59:51:723] #O#-#-#-#scb.util.ServiceProcessInvoker#-#-#58#-##DEBUG#SVS#SVS#NA#NA#NA#-#PK#000f7e66#PK_eBBS_ONL_CL10##[6/17/2010#23:59:51:733] #O#-#-#-#scb.util.ServiceProcessInvoker#-#-#68#-#-#-#-##DEBUG#SVS#SVS#NA#NA#NA#-#PK#0000109f#PK_eBBS_INT_CL02##[6/17/2010#23:59:53:668] #I#-#-#-#scb.util.ServiceProcessInvoker#-#-#-#-#-#-##DEBUG#SVS#SVS#NA#NA#NA#-#PK#00000123#PK_eBBS_ENQ_CL01##[6/17/2010#23:59:53:669] #I#-#-#-#scb.util.ServiceProcessInvoker#-#-#-#-#-#-#- Zhang Yu Senior Director, Application Operations 문제 해결과 사전 관제 실시간 및 장기간의 Trending 분석 인지되지 않은 문제에 대응 12. 스플렁크의 데이터 활용-3 실시간 보안 상관분석 APT 공격 분석 : 지난 60일간을 대상을 일일 Capture되어 있는 Session통계를 분석 신규 동일 SRC 와 DEST의 Session중 총 합이 10일 이상 접근한 대상 분석 일일 SUM Index Day -60 Day -59 Day -58 ~ -3 Day -2 Day -1 상위 장기간 특정 HOST 및 서비스 접근 위험군 Splunk 일일 검색 방법: eventtype=“day_capture" | stats count by src_dest_port | search count > 10 13. 스플렁크의 데이터 활용-4 End-to-End APM 응용 프로그램 및 비즈니스 서비스가 상 호 매우 다양하고 복잡함 Databases End user devices End user devices End user devices Messaging Networking/ Loadbalancin g Networking/ Loadbalancin g Networking/ Loadbalancin g Legacy Systems Security Web Services App Servers 구조화되지 않은 엄청난 양의 IT데이터가 사일로에 갇혀있음 전통적인 모니터링 도구 는 진화하는 IT에 대응하는 속도가 충분하지 않음 Virtualization Servers 복잡성이 가중되는 새로운 동향Virtualization, cloud, web 2.0, mobility, SOA, Devops Storage 14. 스플렁크의 데이터 관리 흐름 실시간 활용 •Server •Security •Networking •Application •Desktop •Virtual IT Infrastructure 빅 데이터를 활용(검색, 분석, 관제 앱, 리포트)하기 위한 플랫폼 Real-Time Data Engine Collect Any 정형, 비정형 데이터를 장비에 상관 없이 실시간 수집 Index Any 특정 필드만을 인덱스 하지 않고 전체 데이터를 실시간으로 인덱싱 Search Any Operator CEO COO CFO •통합 관제 •BI 레포팅 •APP 관제 •서버 관제 •네트워크 관제 •변경 관리 •보안 관제 어떤 단어나 조건이든지 실시간으로 검색 (구글 검색방식) 스플렁크는 기관내의 모든 데이터를 실시간으로 수집하고 검색할 수 있는 데이터 엔진으로서 기존에 수시간에서 수일까지 걸리던 데이터 분석을 실시간으로 제공합니다. 또한 자체 웹 기반의 개발 APII를 통해 서버기반의 스플렁크용 애플리케이션을 즉석에서 제작하여 사용하실 수 있습니다.