Проект «SnakeProject» Михаила КозловаРегистрация

Навигация
⇒Общая⇒

⇐CISCO
⇐Voice(Asterisk\Cisco)
⇐Microsoft
⇐Powershell
⇐Python
⇐SQL\T-SQL
⇐FreeBSD and Nix
⇐1С
⇐WEB Разработка
⇐ORACLE SQL \ JAVA
⇐Мото

ElasticSearch + Kibana + Logstage + C#


 
Смотрелось немного у
 
по elasticsearch
https://habr.com/post/277029/
https://codedzen.ru/category/uroki/elasticsearch/page/3/
https://xakep.ru/2015/06/11/elasticsearch-tutorial/
http://dotsandbrackets.com/quick-intro-elasticsearch-ru/
https://unix.freegeek.ru/elk-windows/
https://webnote.satin-pl.com/2017/04/25/logstash_install/
 
по kibana
http://dotsandbrackets.com/visualize-kibana-ru/
 
по logstash
https://habr.com/post/165059/
https://dotsandbrackets.com/processing-logs-logstash-ru/
 
по C# и elasticsearch добавьте Nest через Nuget
https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/nest-getting-started.html
 
 
 
Elasticsearch - поисковая система с открытым исходным кодом
https://www.elastic.co/products/elasticsearch
 
Kibana - Веб-интерфейс
https://www.elastic.co/products/kibana
 
Logstash - обработка входящих логов
https://www.elastic.co/products/logstash
 
 
 
Основные понятия
Индекс - аналог базы данных
Индексирование - аналог INSERT добавление записи
Inverted index - аналог создания индекса
 
 
 
Скачиваем и устанавливаем Elasticsearch (зависимость - Java перед установкой)
https://www.elastic.co/downloads/elasticsearch
 
Мануал еще можно найти тут
https://www.elastic.co/guide/en/elasticsearch/reference/current/_installation.html
 
Доступно будет по адресу
http://localhost:9200/
 
Выведет что-то типа
{
  "name" : "TESTSERVER",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "MP81TpnXSqSULGsx5MF5gQ",
  "version" : {
    "number" : "6.2.3",
    "build_hash" : "c5f00",
    "build_date" : "2018-03-13T10:06:29.741383Z",
    "build_snapshot" : false,
    "lucene_version" : "7.2.1",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}
 
 
 
Скачиваем и устанавливаем Logstash
https://www.elastic.co/downloads/logstash
 
Для примеров в папке logstash/config или logstash/conf.d создаются файлы
Параметры указываются на вход и на выход после парсинга
 
В файле pipelines.yml минимальные настройки
- pipeline.id: test
pipeline.workers: 1
pipeline.batch.size: 1
queue.type: persisted
path.config: "D:\ES\logstash-6.2.3\config\*.config"
 
для битс создадим файл input-beats.config(в примере мы их распарсим и выход будет в ES)
input {
      beats {
        port => 5044
      }
  udp {
        port => 8514
        type => "syslog"
    }
    tcp {
        port => 8514
        type => "syslog"
    }
}
 
output {
  elasticsearch {
    hosts => "http://localhost:9200"
    manage_template => false
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
    document_type => "%{[@metadata][type]}"
  }
}
 
для csv файлов создадим файл csv.config(в примере мы их распарсим и выход будет в ES)
input {
  file {
    path => "D:\ES\inlogs\test_log.csv"
    start_position => "beginning"
    sincedb_path => "/dev/null"
  }
}
filter {
  csv {
     separator => ","
    columns => ["title","mark","model"]
  }
}
output {
   elasticsearch {
     hosts => "http://localhost:9200"
     index => "cars"
document_type => "post"
  }
  stdout {}
}
 
для просто текстовых файлов создадим файл local-files.config(в примере мы их распарсим и выход будет в файлы)
input {
file {
path => "D:\ES\inlogs\test_log.txt"
start_position => "beginning"
}
}
output {
file {
path => "D:\ES\inlogs\test_log-%{+YYYY-MM-dd}.log"
}
}
 
 
 
Изменяем http.content_type.required: true в elasticsearch.yml
 
Отправим\получим запрос, например с помощью CURL - https://curl.haxx.se/download.html
curl localhost:9200
 
состояние узла
curl localhost:9200/_cat/health?v
 
Вывести список возможных выводов
curl localhost:9200/_cat/
 
 
 
Установка Kibana совсем тривиальна, скачал и добавил в автозагрузку
Можно посмотреть опции в конфиге - kibana.yml
Пропишите свои данные в 
server.name
elasticsearch.url
 
Заходим на адрес кибаны
http://localhost:5601/
 
На вкладке "Discover" можно поделать запросы поиска
Поле поиска поддерживает язык Lucene - https://lucene.apache.org/core/2_9_4/queryparsersyntax.html
Пример - message:"Скачано" AND fields.Url:*test.ru
 
На вкладке "Visualize" можно сделать графики
 
На вкладке "Timelion" можно смотреть график и применять поисковые запросы
Мануал по языку запросов - https://www.timroes.de/2017/08/02/timelion-tutorial-from-zero-to-hero/
 
 
 
С C# покажу простой код в консольном приложении
 

Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

© Snakeproject.ru создан в 2013 году. При копировании материала с сайта - оставьте ссылку.


Яндекс.Метрика

Goon Каталог сайтов Рейтинг@Mail.ru