ELK部署实战

实验规划

主机名IP地址
nginx服务器nginx20.0.0.10/24
elasticsearch主服务器elasticsearch-master20.0.0.20/24
elasticsearch从服务器elasticsearch-backup20.0.0.30/24
kibana服务器kibana20.0.0.40/24

所有服务器关闭防火墙

 systemctl stop firewalld
 setenforce 0

在这里插入图片描述

Nginx服务器配置

1、导入nginx数据包

[root@nginx opt]# ls -lh
总用量 960K
-rw-r--r-- 1 root root 958K 121 09:36 nginx-1.12.0.tar.gz

2、安装nginx支持工具

[root@nginx opt]# yum -y install gcc gcc-c++ make pcre-devel zlib-devel

3、解压数据包并安装nginx

[root@nginx opt]# tar zxvf nginx-1.12.0.tar.gz
[root@nginx opt]# cd nginx-1.12.0/
[root@nginx nginx-1.12.0]# ./configure  --prefix=/usr/local/nginx \
 --user=nginx\
 --group=nginx\
 --with-http_stub_status_module
 [root@nginx nginx-1.12.0]# make && make install

4、创建一个不可登录nginx程序用户并用户nginx的配置路径

[root@nginx nginx-1.12.0]# useradd -M -s /sbin/nologin nginx
[root@nginx nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@nginx nginx-1.12.0]# ln -s /usr/local/nginx/conf/nginx.conf /etc/

5、创建一个nginx的启动脚本

[root@nginx nginx-1.12.0]# vim /etc/init.d/nginx
#!/bin/bash 
#chkconfig: 35  99 20
#nginx
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
        start)
                $PROG
                ;;
        stop)
                kill -s QUIT $(cat $PIDF)
                ;;
        restart)
                $0 stop
                $0 start
                ;;
        reload)
                kill -s HUP $(cat $PIDF)
                ;;
        *)
                echo "Usage:$0 {start|stop|restart|reload}"
                exit 1
esac
exit 0

[root@nginx nginx-1.12.0]# chmod +x /etc/init.d/nginx
[root@nginx nginx-1.12.0]# chkconfig --add nginx

6、修改nginx配置文件

[root@nginx nginx-1.12.0]# vim /etc/nginx.conf
user  nginx;			#修改为nginx用户
#21-23行去掉#
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                       '$status $body_bytes_sent "$http_referer" '
                        '"$http_user_agent" "$http_x_forwarded_for"';
#25 设置访问成功日志存放的位置
access_log  /var/log/nginx/access.log  main;

7、创建日志存放目录

[root@nginx opt]# mkdir /var/log/nginx

8、启动nginx

[root@nginx nginx-1.12.0]# systemctl restart nginx.service 

9、查看nginx是否启动

[root@nginx nginx-1.12.0]# netstat -anptu |grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      18438/nginx: master 

elasticsearch群集

elasticsearch-master服务器设置

1、下载elasticsearch数据包并安装

[root@elasticsearch-master opt]# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
[root@elasticsearch-master opt]# vim /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enable=1
[root@elasticsearch-master opt]# yum list
[root@elasticsearch-master opt]# yum -y install elasticsearch
由于elasticsearch数据包下载太慢为就用我之前在官网下载好的数据包来安装了
[root@elasticsearch-master opt]# ll
总用量 26604
-rw-r--r-- 1 root root 27239226 1124 15:52 elasticsearch-2.4.6.rpm
[root@elasticsearch-master opt]# rpm -ivh elasticsearch-2.4.6.rpm

2、安装java

[root@elasticsearch-master opt]# yum -y install java

3、修改elasticsearch配置文件

[root@elasticsearch-master opt]# vim /etc/elasticsearch/elasticsearch.yml
#17行 集群名称
cluster.name: abc
#23行 节点名称
node.name: node1
#33行 设置数据存储目录
path.data: /data/es-data
#37行 设置日志存储目录
path.logs: /var/log/elasticsearch/
#43行 防止交换swap分区
bootstrap.memory_lock: true
#54行 监听网络
network.host: 0.0.0.0
#58行 端口
http.port: 9200
#68行设置群集成员
discovery.zen.ping.unicast.hosts: ["20.0.0.10", "20.0.0.20"]

4、创建数据存储目录

[root@elasticsearch-master opt]# mkdir -p /data/es-data
[root@elasticsearch-master opt]# chown -R elasticsearch:elasticsearch /data/es-data

4、解决无法分配内存

[root@elasticsearch-master opt]# vim /etc/security/limits.conf
在尾部增加
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited

5、启动elasticsearch

[root@elasticsearch-master opt]# systemctl start elasticsearch.service

6、查看9200端口是否开启

[root@elasticsearch-master opt]# netstat -naptu|grep 9200
tcp6       0      0 :::9200                 :::*                    LISTEN      41995/java    
1:如果启动报错但是9200端口没有开启可能是修配置文件修改的数据存储的位置和创建的创建的数据存储目录名称不一致 
2:创建的数据存储目录的属主和属组不是elasticsearch     

elasticsearch-backup服务器设置

1、下载elasticsearch数据包并安装

[root@elasticsearch-backup opt]# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
[root@elasticsearch-backup opt]# vim /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enable=1
[root@elasticsearch-backup opt]# yum list
[root@elasticsearch-backup opt]# yum -y install elasticsearch
由于elasticsearch数据包下载太慢为就用我之前在官网下载好的数据包来安装了
[root@elasticsearch-backup opt]# ll
总用量 26604
-rw-r--r-- 1 root root 27239226 1124 15:52 elasticsearch-2.4.6.rpm
[root@elasticsearch-backup opt]# rpm -ivh elasticsearch-2.4.6.rpm

2、安装java

[root@elasticsearch-backup opt]# yum -y install java

3、修改elasticsearch配置文件

[root@elasticsearch-backup opt]# vim /etc/elasticsearch/elasticsearch.yml
#17行 集群名称
cluster.name: abc
#23行 节点名称
node.name: node2
#33行 设置数据存储目录
path.data: /data/es-data
#37行 设置日志存储目录
path.logs: /var/log/elasticsearch/
#43行 防止交换swap分区
bootstrap.memory_lock: true
#54行 监听网络
network.host: 0.0.0.0
#58行 端口
http.port: 9200
#68行设置群集成员
discovery.zen.ping.unicast.hosts: ["20.0.0.10", "20.0.0.20"]

4、创建数据存储目录

[root@elasticsearch-backup opt]# mkdir -p /data/es-data
[root@elasticsearch-backup opt]# chown -R elasticsearch:elasticsearch /data/es-data

4、解决无法分配内存

[root@elasticsearch-backup opt]# vim /etc/security/limits.conf
在尾部增加
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited

5、启动elasticsearch

[root@elasticsearch-backup opt]# systemctl start elasticsearch.service

6、查看9200端口是否开启

[root@elasticsearch-backup opt]# netstat -naptu|grep 9200
tcp6       0      0 :::9200                 :::*                    LISTEN      41995/java        

主节点安装插件测试访问

[root@elasticsearch-master opt]# /usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head

在这里插入图片描述

nginx服务器安装logstash

1、下载logstash源

[root@nginx opt]# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

2、设置logstash源

[root@nginx opt]# vim /etc/yum.repos.d/logstash.repo
[logstash-2.1]
name=Logstash repository for 2.1.x packages
baseurl=http://packages.elastic.co/logstash/2.1/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enable=1

3、安装logstash

[root@nginx opt]# yum -y install logstash
由于下载的慢我就用之前官网下载的包安装
[root@nginx opt]# ll
-rw-r--r-- 1 root  root  75274110 1124 16:03 logstash-2.1.3-1.noarch.rpm
[root@nginx opt]# rpm -ivh logstash-2.1.3-1.noarch.rpm
[root@nginx opt]# ln -s /opt/logstash/bin/logstash /usr/bin/

4、创建一个配置文件

[root@nginx opt]# vim file.conf
input {

      file {
          path => "/var/log/nginx/access.log"	#收集日志的路径所以对应的文件
          type => "system"
          start_position => "beginning"
      }
}

output {

     elasticsearch {
          hosts => ["20.0.0.20:9200"]		#elasticsearch主服务器IP地址
          index => "nginx_access_log-%{+YYYY.MM.dd}"	#创建日志索引名称
     }
}

5、使配置生效

[root@nginx opt]#  logstash -f /opt/file.conf

6、查看
在这里插入图片描述

安装kibana展示收集的日志

1、下载kibana数据包

[root@kibana ~]# ll
-rw-r--r--  1 root root 30408272 516 2018 kibana-4.3.1-linux-x64.tar.gz

2、解压数据包

[root@kibana ~]# tar zxvf kibana-4.3.1-linux-x64.tar.gz -C /usr/local/
[root@kibana ~]# cd /usr/local/
[root@kibana local]# mv kibana-4.3.1-linux-x64 kibana

3、修改配置文件

[root@kibana local]# vim /usr/local/kibana/config/kibana.yml
#2行
server.port: 5601
#5行
server.host: "0.0.0.0"
#12行 ES地址
elasticsearch.url: "http://20.0.0.20:9200"
#20行
kibana.index: ".kibana"

4、安装

[root@kibana local]# yum -y install screen

5、启动监听

[root@kibana local]# /usr/local/kibana/bin/kibana

6、测试
在这里插入图片描述在这里插入图片描述访问nginx网站然后刷新kibana
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值