Este documento resume uma apresentação sobre Elasticsearch, Logstash e Kibana. A apresentação introduz estas ferramentas de gerenciamento de logs e dados, explica como configurar um pipeline ELK para indexar e visualizar logs de ônibus do Rio de Janeiro, e discute possíveis arquiteturas e usos futuros destas ferramentas.
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017Taehoon Kim
발표 영상 : https://youtu.be/klnfWhPGPRs
코드 : https://github.com/carpedm20/multi-speaker-tacotron-tensorflow
음성 합성 데모 : http://carpedm20.github.io/tacotron
발표 소개 : https://deview.kr/2017/schedule/182
딥러닝을 활용한 음성 합성 기술을 소개하고 개발 경험과 그 과정에서 얻었던 팁을 공유하고자 합니다.
This presentation mentions about key concepts of Java side caching and things to consider. It also mentions about popular tools and caching in AWS and Google App Engine.
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017Taehoon Kim
발표 영상 : https://youtu.be/klnfWhPGPRs
코드 : https://github.com/carpedm20/multi-speaker-tacotron-tensorflow
음성 합성 데모 : http://carpedm20.github.io/tacotron
발표 소개 : https://deview.kr/2017/schedule/182
딥러닝을 활용한 음성 합성 기술을 소개하고 개발 경험과 그 과정에서 얻었던 팁을 공유하고자 합니다.
This presentation mentions about key concepts of Java side caching and things to consider. It also mentions about popular tools and caching in AWS and Google App Engine.
Pycon korea 2018 kaggle tutorial(kaggle break)Yeonmin Kim
Pycon korea 2018 미운 우리 캐글 tutorial 자료입니다.
https://www.pycon.kr/2018/program/tutorial/13
주 내용은 Coursera의 How to Win a Data Science Competition:Learn from Top Kagglers 입니다.
https://www.coursera.org/learn/competitive-data-science
「TECH x GAME COLLEGE #21」 2019/06/05 登壇資料
https://techxgamecollege.connpass.com/event/130420/
【Laravelを用いたゲームサーバーのチューニング】
主にDB周りの話題で、
・速度を出す
・水平分散をする
という観点で
Laravelをゲームサーバーで用いた際にチューニングしてきたことを紹介します。
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용Susang Kim
도입
AI Chatbot 소개
Chatbot Ecosystem
Closed vs Open Domain
Rule Based vs AI
Chat IF Flow and Story Slot
AI기반의 학습을 위한 Data 구성 방법
Data를 구하는 법 / Train을 위한 Word Representation
Data의 구성 / Data Augmentation(Intent, NER)
자연어처리 위한 AI 적용 방안
Intent (Char-CNN) / QnA (Seq2Seq)
Named Entity Recognition (Bi-LSTM CRF) / Ontology (Graph DB)
Chatbot Service를 위한 Architecture 구성
Chatbot Architecture
NLP Architecture
Web Service Architecture
Bot builder / Chatbot API
Test Codes for Chatbot
실무에서 발생하는 문제와 해결 Tips
Ensemble and voting / Trigger / Synonym(N-Gram)
Tone Generator / Parallel processing / Response Speed
마무리
[설명 코드]
Text Augmentation / Slot Bot / QA Bot / Graph DB / Response Generator
Little Big Data #1 다양한 사람들의 데이터 사이언스 이야기에서 발표한 자료입니다
궁금한 것은 언제나 문의주세요 :)
행사 후기는 https://zzsza.github.io/etc/2018/04/21/little-big-data/ 에 있습니다!
(2018.5 내용 추가) 현재 회사가 없으니, 제게 관심있으신 분들도 연락 환영합니다 :)
Pycon korea 2018 kaggle tutorial(kaggle break)Yeonmin Kim
Pycon korea 2018 미운 우리 캐글 tutorial 자료입니다.
https://www.pycon.kr/2018/program/tutorial/13
주 내용은 Coursera의 How to Win a Data Science Competition:Learn from Top Kagglers 입니다.
https://www.coursera.org/learn/competitive-data-science
「TECH x GAME COLLEGE #21」 2019/06/05 登壇資料
https://techxgamecollege.connpass.com/event/130420/
【Laravelを用いたゲームサーバーのチューニング】
主にDB周りの話題で、
・速度を出す
・水平分散をする
という観点で
Laravelをゲームサーバーで用いた際にチューニングしてきたことを紹介します。
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용Susang Kim
도입
AI Chatbot 소개
Chatbot Ecosystem
Closed vs Open Domain
Rule Based vs AI
Chat IF Flow and Story Slot
AI기반의 학습을 위한 Data 구성 방법
Data를 구하는 법 / Train을 위한 Word Representation
Data의 구성 / Data Augmentation(Intent, NER)
자연어처리 위한 AI 적용 방안
Intent (Char-CNN) / QnA (Seq2Seq)
Named Entity Recognition (Bi-LSTM CRF) / Ontology (Graph DB)
Chatbot Service를 위한 Architecture 구성
Chatbot Architecture
NLP Architecture
Web Service Architecture
Bot builder / Chatbot API
Test Codes for Chatbot
실무에서 발생하는 문제와 해결 Tips
Ensemble and voting / Trigger / Synonym(N-Gram)
Tone Generator / Parallel processing / Response Speed
마무리
[설명 코드]
Text Augmentation / Slot Bot / QA Bot / Graph DB / Response Generator
Little Big Data #1 다양한 사람들의 데이터 사이언스 이야기에서 발표한 자료입니다
궁금한 것은 언제나 문의주세요 :)
행사 후기는 https://zzsza.github.io/etc/2018/04/21/little-big-data/ 에 있습니다!
(2018.5 내용 추가) 현재 회사가 없으니, 제게 관심있으신 분들도 연락 환영합니다 :)
O Amazon CloudSearch é um serviço gerenciado de buscas em larga escala. É a mesma funcionalidade disponível no site da amazon.com, disponível tambem para a sua empresa. Nesta apresentação avançada, exploramos o CloudSearch e a sua integração com diversas ferramentas, e arquiteturas de uso.
Slides da apresentação feita no HUGSP#6 em 29/01/2020. Apresenta a DSL para definição de sistemas baseados em microserviços e gerador para criar artefatos Terraform para deploy em diferentes plataformas.
Monitorando APIs REST com o Application Insights - NerdZão - Fevereiro-2018Renato Groffe
Apresentação sobre o uso do Application Insights (serviço que integra o Microsoft Azure) no monitoramento de APIs REST. Apresentação realizada em meetup promovido pelo grupo NerdZão na cidade de São Paulo-SP no dia 26/02/2018.
Apresentado no DevCamp 2014 (dia 16 de Maio de 2014).
Que o PostgreSQL é um banco de dados relacional poderoso e robusto, todo mundo sabe. Nessa palestra veja as funcionalidades, extensões e técnicas usadas para colocar o PostgreSQL na competição com muitos bancos de dados NoSQL. Veja o que quer dizer NewSQL e onde o PostgreSQL se encontra nesse grupo de bancos de dados que não somente possuem as características relacionais e a linguagem SQL, mas também funcionalidades extras (json, chave/valor, In-Memory Columnar Store, entre outros) e poder de escalabilidade horizontal (replicação, balanceamento de carga e até sharding).
Deep dive into Windows Azure Mobile Services - Ricardo CostaComunidade NetPonto
A apresentação tenta cobrir todos os serviços disponibilizados pela plataforma Azure Mobile.
Desde data-storage até server-side code, passando por push notifications e custom API.
Serão também abordados os temas de source-control, scheduler, logging e scaling.
Arquitetura Serverless para Machine LearningFelipe Santos
Nesta apresentação, trazemos uma jornada de análise de arquiteturas serverless para se utilizar com machine learning. Analisamos vários pontos, mostrando os prós e contras de cada solução.
Monitorando APIs REST com o Application Insights - .NET SP - Dezembro/2017Renato Groff
Apresentação sobre o monitoramento de APIs REST com o Application Insights. Palestra realizada na sede da Microsoft em São Paulo-SP no dia 13/12/2017, em evento promovido pelo grupo .NET São Paulo.
Apresentação que fiz conjuntamente com o António Cunha e Nuno Ornelas em Dezembro no evento da Oracle Portugal: "Open Our Windows" realizado em Lisboa: "SIGARRA - a case study" sobre o uso da DB Oracle no sistema de Informação da Universidade do Porto.
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - .NE...Renato Groff
Apresentação realizada durante o .NET Conf Local 2018, um evento promovido pelos grupos Azure Talks e .NET SP na cidade de São Paulo-SP em 27/10/2018. Esta palestra abordou a utilização do Azure Application Insights, Logic Apps e Slack no monitoramento de aplicações Web, fazendo também uso para isto do Azure App Service e do ASP.NET Core.
O termo NewSQL inclui bancos de dados que prometem a escalabilidade dos NoSQL e transações ACID e linguagem SQL dos bancos de dados tradicionais. O VoltDB, desenvolvido pela equipe de Michael Stonebraker, é o principal exemplo dessa vertente. Essa palestra apresenta a experiência de uso do VoltDB, descreve benefícios de desafios do seu uso, e compara essa solução com outras ferramentas como o Apache Ignite.
Essa apresentação discute o processo de decisão realizado pela Socialbase durante a escolha do melhor framework/serviço de aprendizado de máquina. Entre as questões avaliadas estão: feature, escalabilidade, curva de aprendizado, custos e segurança.
Apresentado com Narlei Moreira e Igor Siciliani no TDC Floripa 2018.
Oficina apresentada na Escola Reginal de Banco de Dados em 2018. Essa oficina apresentou como combinar Spark, VoltDB e Elasticsearch, três tecnologias que materializam os conceitos de Big Data para alcançar velocidade de processamento para um grande volume de dados. Usando um exemplo em informação geográficas, o participante aprenderá como processar dados em tempo real usando Apache Spark, criar visualizações através do Elasticsearch e disponibilizar esses dados de forma escalável em uma ferramenta NewSQL usando o VoltDB.
Os bancos de dados NoSQL, outrora uma tendência, são atualmente a realidade no que diz respeito ao armazenamento dos grandes volumes de dados gerenciados pelas aplicações de Big Data. Contudo, a Big Data, traz também outros desafios como o acesso integrado e em tempo real a fontes variadas de informação. Embora sejam relativamente recentes na história da Ciência da Computação, em muitos aspectos os NoSQL são suportados por uma longa tradição de conceitos e ferramentas. Este fato é especialmente visível na integração de NoSQL, onde as ideias bem conhecidas, tais como federação, integração e migração ainda são válidas. Nesse sentido, esse trabalho comparou as obras mais recentes que lidam com o acesso integrado vários bancos de dados NoSQL. Tais trabalhos propõem diferentes níveis de solução, que vão desde simples integrações em nível de código até criação de modelos integrados, contudo há uma lacuna no que diz respeito ao acesso integrado, semântico e em tempo real aos repositórios NoSQL. A partir desta análise, é proposto middleware chamado Rendezvous que oferece acesso integrado considerando uma visão semântica dos dados - usando os padrões RDF e SPARQL - pertencentes a qualquer um dos principais modelos de dados NoSQL – chave-valor, colunar, documento e grafos – e permite acesso em tempo real os dados gerenciados pelo middleware Rendezvous.
Novidades do elasticsearch 2.0 e como usá-lo com PHP
Elasticsearch como gerenciar seus logs com logstash e kibana
1. Elasticsearch - Como gerenciar
seus logs com Logstash e Kibana
Luiz Henrique Zambom Santana
Campus Party – 2015
#CPRecife4
Recife-PE, 23/07/2015
2. Quem sou eu?
• Doutorando na UFSC
• Consultor e programador freelancer
• Trabalhando com Elasticsearch desde 2013 (versão 0.9.x)
• Autor de artigos, Blog (luizsantana.info) e livros
3. Agenda
• Big Data e NoSQL
• Porque Elasticsearch?
• ELK
• Exemplo
• Conclusões
• Futuro
6. NoSQL
Sadalage e Fowler, 2012
(http://martinfowler.com/books/nosql.html)
Not only SQL
Nathan Marz, 2014
(http://www.slideshare.net/nathanmarz/runaway-complexity-in-big-data-and-a-plan-to-stop-it)
Relational databases will be a
footnote in history
7.
8. Por que Elasticsearch?
• Tempo real
• Flexível
• Livre de esquema e muito escalável
• Iniciado por Shay Banon em 2010
• Desenvolvido pela comunidade
• Código aberto em:
• https://github.com/elastic/elasticsearch
• Atualmente apoiado pela Elastic
9. Kibana e Logstash
• Também são produtos da Elastic, mas incialmente projetos da comunidade
• O Kibana facilita a visualização dos dados indexados no Elasticsearch
• Enquanto o Logstash ajuda na indexação
Kibana por Rashid Khan
Logstash por Jordan Sissel
11. Logs
• Segundo a Wikipedia:
“In computing, a logfile is a file that records either events that occur in an
operating system or other software runs, or messages between different users
of a communication software. Logging is the act of keeping a log. In the simplest
case, messages are written to a single logfile.”
• Basicamente um registro de evento
12. Exemplo
• Logs dos deslocamentos de ônibus no Rio de Janeiro
• http://dadosabertos.rio.rj.gov.br/apiTransporte/apresentacao/rest/index.cfm
/obterTodasPosicoes
• Infelizmente não encontrei informações sobre Recife :(
• http://dados.recife.pe.gov.br/
• MASSS... a solução é genérica
• Poderia ser aplicada também para:
• São Paulo
• http://www.sptrans.com.br/desenvolvedores/APIOlhoVivo.aspx
• Os códigos de busca estão no seguinte Gist:
• https://gist.github.com/lhzsantana/ad15ed27a3191f0a68f8
13. Receber os dados de log
• Na API de dados abertos do Rio, eles têm o seguinte formato:
dataHora,ordem,linha,latitude,longitude,velocidade
07-13-2015 00:00:29,B63056,,"-22.8676","-43.2585",0
07-13-2015 00:44:12,D53744,846,"-22.88271","-43.49538",30
07-13-2015 01:35:11,A37510,,"-22.81443","-43.325508",0
07-13-2015 02:44:19,B42537,,"-22.8764","-43.3296",0
07-13-2015 03:01:52,D87185,,"-22.916969","-43.608009",0
14. Download e Instalação
• Simplesmente baixar e desempacotar
• Elasticsearch
• https://www.elastic.co/downloads/elasticsearch
• Versão 1.6.0
• Logstash
• https://www.elastic.co/downloads/logstash
• Versão 1.5.2
• Kibana
• https://www.elastic.co/downloads/kibana
• Versão 4.1.1
• Em produção não é tão simples:
• http://logz.io/blog/deploy-elk-production/
15. Conceitos
• Cluster
• Lucene
• Índice
• Mapeamento
• Tipo Lucene Banco de dados relacional (BDR)
Índice (Index) Esquema
Type Tabela
Documento (JSON) Linha
Campo (Field) Coluna
Mapeamento (Mapping) Estrutura da tabela
Query DSL SQL
19. Criar índice e mapeamento no Elasticsearch
PUT campusparty
POST /campusparty/onibus-csv/_mapping
{
"onibus-csv": {
"properties": {
"linha": {
"type": "string"
},
"dataHora": {
"type": "date"
},
"velocidade": {
"type": "double"
},
"localizacao": {
"type": "geo_point"
}
}}}
20. Lembrando...
• Na API de dados abertos do Rio, eles têm o seguinte formato:
dataHora,ordem,linha,latitude,longitude,velocidade
07-13-2015 00:00:29,B63056,,"-22.8676","-43.2585",0
07-13-2015 00:44:12,D53744,846,"-22.88271","-43.49538",30
07-13-2015 01:35:11,A37510,,"-22.81443","-43.325508",0
07-13-2015 02:44:19,B42537,,"-22.8764","-43.3296",0
07-13-2015 03:01:52,D87185,,"-22.916969","-43.608009",0
23. Input
file {
path => "c:/tmp/onibus.csv"
type => "onibus-csv"
start_position => "beginning"
sincedb_path => "/dev/null"
}
Durante o
desenvolvimento
40. Acessar com Java, PHP, Javascript…
• Java
• http://www.devmedia.com.br/elasticsearch-realizando-buscas-no-big-
data/32180
• PHP
• http://www.devmedia.com.br/elasticsearch-desenvolvendo-big-data-com-
php/31609
• Javascript
• No livro e breve na Devmedia
46. Conclusões
• Muitos outros casos de uso
• O Elasticsarch é muito estável e fácil de começar a usar
• Cuidado com essa facilidade, em produção pode se tornar um problema
• Novos projetos estão tornando o ES ainda mais completo
• Watcher
• Shield
• O Elasticsearch 2.0 beta 1 vai estar disponível logo:
• Usa o Lucene 5.2.1
• Filtros e querys serão uma coisa só
• Compressão vs. Velocidade de escrita
• Etc...
47. Futuro
• Aprofundamento
• Tipos, analisadores e buscas avançadas
• Ferramentas e plug-ins
• Clientes
• Arquiteturas complexas
• Redis
• Hadoop
• Apache Spark (Java Magazine 142)
• Expandir o exemplo com outros dados abertos
• Posição de pontos de ônibus
• Criminalidade
• Número de acidentes
48. Outras referências
• http://www.devmedia.com.br/spac
e/luiz-henrique-zambom-santana
• Essa apresentação está disponível
em:
• http://pt.slideshare.net/LuizHenrique
ZambomSa/elasticsearch-como-
gerenciar-seus-logs-com-logstash-e-
kibana
• Os códigos de busca estão no
seguinte Gist:
• https://gist.github.com/lhzsantana/ad
15ed27a3191f0a68f8
49. Obrigado!
Luiz Henrique Zambom Santana
lhzsantana@gmail.com
https://twitter.com/LuizHZSantana
Elasticsearch - Como gerenciar seus logs
com Logstash e Kibana
(23/07/2015)
Notas do Editor
Agradecer o convite a organização
Já é bem manjado o que significa Big Data, mas não custa falar uma vez mais