{{tag>logstash elasticsearch kibana}} ==== Logstash Elasticsearch и Kibana Установка ==== === зависимости === apt-get update если ubuntu 16, то ставим Java 8 apt-get install openjdk-8-jre если 12.10 - Java 7 apt-get install openjdk-7-jre === установка === качаем дистрибутивы wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/deb/elasticsearch/2.3.5/elasticsearch-2.3.5.deb wget https://download.elastic.co/logstash/logstash/packages/debian/logstash_2.3.4-1_all.deb wget https://download.elastic.co/kibana/kibana/kibana_4.5.4_amd64.deb устанавливаем dpkg -i elasticsearch-2.3.5.deb dpkg -i logstash_2.3.4-1_all.deb dpkg -i kibana_4.5.4_amd64.deb прописываем в автозапуск update-rc.d elasticsearch defaults 95 10 update-rc.d logstash defaults 96 9 update-rc.d kibana defaults 95 10 === настройка === в файл /etc/elasticsearch/elasticsearch.yml добавляем/редактируем строки cluster.name: elasticsearch node.name: node-1 создаем файл /etc/logstash/conf.d/agent.conf со следующим содержимым input { tcp { port => 514 type => syslog } udp { port => 514 type => syslog } } filter { if [message] =~ "access" { mutate { replace => { "type" => "apache_access" } } grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } } else if [message] =~ "named" { grok { pattern => "<%{POSINT:priority}>%{SYSLOGLINE}" add_tag => [ "named" ] } } date { match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ] } } output { # Example just to output to elasticsearch elasticsearch { } } елси порт как выше 514 (до 1024), то запускать logstash нужно от имени root для этого правим файл запуска /etc/init.d/logstash #LS_USER=logstash #LS_GROUP=logstash LS_USER=root LS_GROUP=root === проверка и запуск === запуск service elasticsearch start service logstash start service kibana start проверка запущеных процессов root@server:~# service elasticsearch status * elasticsearch is running root@server:~# service logstash status logstash is running root@server:~# service kibana status kibana is running root@server:~# ps -aux | grep logstash root 26275 0.0 0.1 10496 2260 pts/2 S+ 16:08 0:00 grep --color=auto logstash root 29235 0.0 8.3 2475272 175756 pts/2 SNl 12:26 1:06 /usr/bin/java -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Djava.awt.headless=true -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly - XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=/var/lib/logstash -Xmx1g -Xss2048k -Djffi.boot.library.path=/opt/logstash/vendor/jruby/lib/jni -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Djava.awt.headless=true - XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=/var/lib/logstash -XX:HeapDumpPath=/opt/logstash/heapdump.hprof - Xbootclasspath/a:/opt/logstash/vendor/jruby/lib/jruby.jar -classpath : -Djruby.home=/opt/logstash/vendor/jruby -Djruby.lib=/opt/logstash/vendor/jruby/lib -Djruby.script=jruby -Djruby.shell=/bin/sh org.jruby.Main --1.9 /opt/logstash/lib/bootstrap/environment.rb logstash/runner.rb agent -f /etc/logstash/conf.d -l /var/log/logstash/logstash.log root@server:~# ps -aux | grep kibana kibana 9712 0.0 23.2 1660544 488024 pts/2 Sl 10:04 1:06 /opt/kibana/bin/../node/bin/node /opt/kibana/bin/../src/cli root 26318 0.0 0.1 10496 2256 pts/2 S+ 16:08 0:00 grep --color=auto kibana root@server:~# ps -aux | grep elasticsearch elastic+ 7703 0.0 18.0 2465764 378740 ? Sl 09:49 2:54 /usr/bin/java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 - XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Djna.nosys=true -Des.path.home=/usr/share/elasticsearch -cp /usr/share/elasticsearch/lib/elasticsearch- 2.3.5.jar:/usr/share/elasticsearch/lib/* org.elasticsearch.bootstrap.Elasticsearch start -d -p /var/run/elasticsearch/elasticsearch.pid --default.path.home=/usr/share/elasticsearch --default.path.logs=/var/log/elasticsearch --default.path.data=/var/lib/elasticsearch --default.path.conf=/etc/elasticsearch root 26353 0.0 0.1 10496 2172 pts/2 S+ 16:08 0:00 grep --color=auto elasticsearch проверка открытых портов root@server:~# netstat -tpln Активные соединения с интернетом (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:5601 0.0.0.0:* LISTEN 9712/node tcp6 0 0 :::514 :::* LISTEN 29235/java tcp6 0 0 ::1:9200 :::* LISTEN 7703/java tcp6 0 0 127.0.0.1:9200 :::* LISTEN 7703/java tcp6 0 0 ::1:9300 :::* LISTEN 7703/java tcp6 0 0 127.0.0.1:9300 :::* LISTEN 7703/java проверка работы elasticsearch root@server:~# curl http://localhost:9200 { "name" : "node-1", "cluster_name" : "elasticsearch", "version" : { "number" : "2.3.5", "build_hash" : "90f439ff60a3c0f497f91663701e64ccd01edbb4", "build_timestamp" : "2016-07-27T10:36:52Z", "build_snapshot" : false, "lucene_version" : "5.5.0" }, "tagline" : "You Know, for Search" } проверка работы kibana переходим на сайт http://ip-address:5601 проверка работы logstash, с соседнего компа коннектимся телнетом telnet ip-address 514 test test1 test2 ctrl+c в kibana должны появиться эти строки === дополнительно === в windows устанавливается программа eventlog-to-syslog https://code.google.com/archive/p/eventlog-to-syslog/ \\ качается exe файл нужной битности в system32 и запускается evtsys -i -h 192.168.21.20 -f local3 -l 0 -p 514 после чего появляется служба, которую нужно запустить cisco 2950 core#sh run | inc logg logging buffered 262144 debugging logging rate-limit 10 except warnings logging console critical logging monitor critical logging facility local2 logging 192.168.21.20 logging trap inf