【ELK集群】

ELK集群部署环境准备

配置ELK日志分析系统

192.168.108.67

elk-node1

es、logstash、kibana

192.168.108.189

elk-node2

es、logstash

192.168.108.32

apache 

logstash

三台虚拟机配置调高 

三台机关闭防火墙

改名

 

 

1、2台机配置hosts解析文件

1,2都用系统自带java环境

查看Java版本 

java -version

2台rz上传软件包 第1台软件包全部上传 第2台只上传3个

【也可根据需要上传】

安装elasticsearch软件 (rz   logstash-5.5.1.rpm和elasticsearch-5.5.0.rpm

1,2

1,2

rpm -ivh elasticsearch-5.5.0.rpm

rpm  -ivh logstash-5.5.1.rpm

重新识别系统中的服务并且设置为开机自启动

 systemctl daemon-reload

 systemctl enable elasticsearch.service

修改node1,node2的配置文件

vim /etc/elasticsearch/elasticsearch.yml

http.cors.enabled: true

http.cors.allow-origin: "*"

创建目录并且把用户和组都改为elasticsearch

mkdir -p /data/elk_data

chown elasticsearch:elasticsearch /data/elk_data/

启动elasticsearch.服务并且查看端口

systemctl start elasticsearch.service

netstat -anpt | grep 9200

需要一定时间才能出来

访问节点ip

 http://192.168.108.67:9200/

 访问节点ip

 http://192.168.108.189:9200/

检查集群健康状态为green代表健康

 http://192.168.108.67:9200/_cluster/health?pretty

 

 http://192.168.108.189:9200/_cluster/health?pretty

第1台

安装elasticsearch-head插件

解压软件包  (rz 拉入node-v8.2.1-linux-x64.tar.gz

 解压

 tar xf node-v8.2.1-linux-x64.tar.gz -C /usr/local/

做链接

 ln -s /usr/local/node-v8.2.1-linux-x64/bin/node /usr/bin/node

 ln -s /usr/local/node-v8.2.1-linux-x64/bin/npm /usr/local/bin/

查看版本

node -v

npm -v

解压headrz 拉入 elasticsearch-head.tar.gz

解压

 tar xf elasticsearch-head.tar.gz -C /data/elk_data/

cd到elk_data

 cd /data/elk_data/

修改用户和组

 chown -R elasticsearch:elasticsearch elasticsearch-head/

cd到elasticsearch-head/

 cd elasticsearch-head/

安装npm

 npm install

cd到site/下并且把app.js做个备份然后编辑

 cd _site/

 cp app.js{,.bak}

 vim app.js

找到4329行修改为自己的IP

 

启动npm并且启动elasticsearch

 npm run start &

 systemctl start elasticsearch   如果访问后没有发现node2 

                                                     cd /data/elk_data/

                                                      rm -rf nodes/

查看端口是否有9100

netstat -lnpt | grep 9100

访问ip查看节点

  http://192.168.108.67:9100/

插入数据测试类型为test

 curl -XPUT 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'Content-Type: application/json' -d '{ "user": "zhangsan","mesg":"hello word" }'

刷新http://192.168.200.111:9100/查看索引是否有变化

安装logstash

1台也就是node1上安装logstash

rpm -ivh logstash-5.5.1.rpm  

启动logstash服务并且做一个软链接

systemctl start logstash

ln -s /usr/share/logstash/bin/logstash /usr/local/bin/

logstash 命令行常用的选项

-f:通过这个命令可以指定Logstash的配置文件,根据配置文件配置logstashe

-e: 后面跟着字符串,该字符串可以被当做logstash的配置(如果是"”则默认使用stdin作为输入,stdout作为输出)

-t:测试配置文件是否正确,然后退出

启动一个 logstash -e 在命令行执行 input

logstash -e 'input { stdin{} } output { stdout{} }'

标准输入是靠键盘输入标准输出是直接在屏幕上输出

使用rubydebug 显示详细输出 codec

logstash -e 'input { stdin{} } output { stdout{ codec =>rubydebug} }'

使用logstash将信息写入到elasticsearch

 logstash -e 'input {stdin{} } output {  elasticsearch { hosts=> ["192.168.200.111:9200"]} }'

www.baidu.com

www.sina.com.cn

www.gogle.com

配置收集系统日志 第1台

cd到logstash写入配置文件

 cd /etc/logstash/conf.d/

 vim systemc.conf

input {
    file {
        path => "/var/log/messages"
        type => "system"
        start_position => "beginning"

   }
}
output  {
    elasticsearch {
        hosts => ["192.168.100.10:9200"]
        index => "system-%{+YYYY.MM.dd}"
    }
}

重启logstash

 systemctl restart logstash

加载systemc.conf 文件并且查看是否打入到es当中

logstash -f systemc.conf

访问ip查看节点再次查看

  http://192.168.108.67:9100/

安装kibana第1台

 rpm -ivh kibana-5.5.1-x86_64.rpm

设置为开机自启动

 systemctl enable kibana.service

修改配置文件并启动服务

vim /etc/kibana/kibana.yml

启动服务并且查看端口

 systemctl restart kibana.service

 netstat -lnpt | grep 5601

logstash -f /etc/logstash/conf.d/system.conf

访问 http://192.168.108.67:5601/

第3台

开启第3台起名:apache

 hostname apache

 bash

关闭防护机制

 iptables -F

 systemctl stop firewalld

 setenforce 0

启动httpd

 systemctl start httpd

 

查看java版本

java -version

rz上传软件包

rpm安装并且设置为开机自启动

 rpm -ivh logstash-5.5.1.rpm

 systemctl enable logstash.service

cd到logstash

 cd /etc/logstash/conf.d/

vim编辑配置文件

 vim apache_log.conf

input {
   file {
        path => "/var/log/httpd/access_log"
        type => "access"
        start_position => "beginning"
   }
  file {
     path => "/var/log/httpd/error_log"
     type => "error"
     start_position => "beginning"
  }
}
output  {
    if [type] == "access" {
       elasticsearch {
        hosts => ["192.168.200.111:9200"]
        index => "apache_access-%{+YYYY.MM.dd}"
     }
 }
  if [type] == "error" {
    elasticsearch {
        hosts => ["192.168.200.111:9200"]
        index => "apache_error-%{+YYYY.MM.dd}"
    }
  }
}

[root@apache conf.d]# logstash -f apache_log.conf //加载文件

 

ELK端口号:

elasticsearch:9200    

elasticsearch-head9100

logstash9600    input4560

Logstash agent:9601

kibana5601

猜你喜欢

转载自blog.csdn.net/2302_77750172/article/details/131584107
今日推荐