ELK実験のセットアップ


実験の準備

CPU名 オペレーティング・システム Pアドレス メインソフトウェア
node1 Centos7.4 192.168.222.128 Elasticsearch Kibana
node2 Centos7.4 192.168.222.129 Elasticsearch
apache Centos7.4 192.168.222.135 Logstash Apache

1.elasticsearch環境を構成します

1.node1(192.168.222.128)ホスト構成(node1)

2.node2(192.168.222.129)ホスト構成(node2)

  • 2つのホストの構成は同じですが、構成ファイルのホスト名のみが異なります
systemctl stop firewalld             #首先三台主机都把防火墙关掉
setenforce 0

vim /etc/hosts                       #设置映射
192.168.222.128   node1
192.168.222.129   node2
java -version                        #查看Java环境

cd /opt
jdk-8u201-linux-x64.tar.gz           #加入安装包
rpm -ivh jdk-8u201-linux-x64.rpm     #解压

vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
source /etc/profile

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

####部署elasticsearch软件####
1、安装elasticsearch—rpm包
上传elasticsearch-5.5.0.rpm到/opt目录下
cd /opt
rpm -ivh elasticsearch-5.5.0.rpm                            #解压压缩包

2、加载系统服务
systemctl daemon-reload                                     #加载服务
systemctl enable elasticsearch.service                      #设置开机自动加载

3、更改elasticsearch主配置文件
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
vim /etc/elasticsearch/elasticsearch.yml
17/cluster.name: my-elk-cluster                             ####集群名字
23/ node.name: node1                                        ####节点名字
33/path.data: /data/elk_data                                ####数据存放路径
37/path.logs: /var/log/elasticsearch/                       ####日志存放路径
43/ bootstrap.memory_lock: false                            ####不在启动的时候锁定内存(前端缓存。与IOPS-性能测试方式,每秒读写次数相关)
55/ network.host: 0.0.0.0                                   ####提供服务绑定的IP地址,0.0.0.0代表所有地址
59/ http.port: 9200                                         ####侦听端口为9200
68/ discovery.zen.ping.unicast.hosts: ["node1", "node2"]    ####集群发现通过单播实现“单播”

grep -v "^#" /etc/elasticsearch/elasticsearch.yml           #过滤注释查看编辑后的配置文件

4、创建数据存放路径并授权
mkdir -p /data/elk_data  
chown elasticsearch:elasticsearch /data/elk_data/

5、启动elasticsearch是否成功开启
systemctl start elasticsearch.service                       #启动服务
netstat -antp |grep 9200                                    #查看端口是否打开

6、查看节点信息,浏览器打开   http://192.168.222.128:9200   查看节点的信息

7、查看节点信息浏览器打开   http://192.168.222.129:9200     查看节点的信息

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

3.クラスターチェックのヘルスとステータス

在浏览器打开 http://192.168.222.128:9200/_cluster/health?pretty   ###检查群集健康情况,下面是健康情况内容

在浏览器打开 http://192.168.222.128:9200/_cluster/state?pretty     ###检查群集状态信息

ここに画像の説明を挿入します
ここに画像の説明を挿入します

2.elasticsearch-headプラグインをインストールしてクラスターを管理します

1.node1(192.168.222.128)構成

2.node2(192.168.222.136)構成

-両方のホストの構成は同じです

cd /opt
上传node-v8.2.1.tar.gz到/opt
yum install gcc gcc-c++ make -y
###编译安装node组件依赖包##耗时比较长 47分钟,建议node1,node2同时编译
tar zxvf node-v8.2.1.tar.gz    #解压软件包
cd node-v8.2.1/
./configure 
make && make install           #编译安装

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

####安装phantomjs####前端框架
上传软件包到/usr/local/src/
cd /usr/local/src/
tar xjvf phantomjs-2.1.1-linux-x86_64.tar.bz2
cd phantomjs-2.1.1-linux-x86_64/bin
cd bin
cp phantomjs /usr/local/bin

ここに画像の説明を挿入します
ここに画像の説明を挿入します

###安装elasticsearch-head###数据可视化工具
cd /usr/local/src/
tar zxvf elasticsearch-head.tar.gz
cd elasticsearch-head/
npm install

ここに画像の説明を挿入します
ここに画像の説明を挿入します

#####修改主配置文件###
vim /etc/elasticsearch/elasticsearch.yml         ####下面配置文件,插末尾##
http.cors.enabled: true                                             ##开启跨域访问支持,默认为false
http.cors.allow-origin: "*"                                         ## 跨域访问允许的域名地址
systemctl restart elasticsearch

ここに画像の説明を挿入します
ここに画像の説明を挿入します

####启动elasticsearch-head  启动服务器####
cd /usr/local/src/elasticsearch-head/

npm run start &                ####切换到后台运行

netstat -lnupt |grep 9100
   
netstat -lnupt |grep 9200

ここに画像の説明を挿入します
ここに画像の説明を挿入します

####打开浏览器输入http://192.168.222.128:9100/   可以看见群集很健康是绿色#####
在Elasticsearch 后面的栏目中输入http://192.168.22.128:9200   
然后点连接 会发现:集群健康值: green (0 of 0)
●node1信息动作 
★node2信息动作 

ここに画像の説明を挿入します
ここに画像の説明を挿入します

3.インデックス情報を表示する

####登录192.168.222.128 node1主机#####  索引为index-demo,类型为test,可以看到成功创建
curl -XPUT 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"lufei","mesg":"hello world"}'

ここに画像の説明を挿入します

####打开浏览器输入http://192.168.222.128:9100/ 查看索引信息###

node1信息动作 01234 
node2信息动作 01234 

上面图可以看见索引默认被分片5个,并且有一个副本

点击数据浏览--会发现在node1上创建的索引为index-demo,类型为test, 相关的信息

ここに画像の説明を挿入します

3.logstashをインストールします

1.apache(192.168.222.135)構成

1、安装Apahce服务(httpd)
yum -y install httpd
systemctl start httpd

ここに画像の説明を挿入します
ここに画像の説明を挿入します

2、检查Java环境(默认安装,如果没有装 安装yum -y install java)
java -version       

ここに画像の説明を挿入します

3、安装logstash
上传logstash-5.5.1.rpm到/opt目录下
cd /opt
rpm -ivh logstash-5.5.1.rpm                                     ##安装logstash
systemctl start logstash.service                                ##启动logstash服务
systemctl enable logstash.service
ln -s /usr/share/logstash/bin/logstash /usr/local/bin/          ##建立logstash软连接

ここに画像の説明を挿入します
ここに画像の説明を挿入します

4、logstash(Apache)与elasticsearch(node)功能是否正常,做对接测试####
Logstash这个命令测试

フィールドの説明の説明:

フィールド 説明
-f このオプションを使用すると、logstashの構成ファイルを指定し、構成ファイルに従ってlogstashを構成できます。
-e 文字列の後に文字列を続けると、その文字列をlogstashの構成として使用できます(「」の場合、デフォルトでstdinが入力として使用され、stdoutが出力として使用されます)
-t 構成ファイルが正しいかどうかをテストしてから終了します
5、输入采用标准输入 输出采用标准输出---登录192.168.222.135  在Apache服务器上
logstash -e 'input { stdin{} } output { stdout{} }'

ここに画像の説明を挿入します

6、使用rubydebug显示详细输出,codec为一种编解码器
logstash -e 'input { stdin{} } output { stdout{ codec=>rubydebug } }'

ここに画像の説明を挿入します

####使用logstash将信息写入elasticsearch中#### 输入 输出 对接
logstash -e 'input { stdin{} } output { elasticsearch { hosts=>["192.168.222.128:9200"] } }'
Successfully started Logstash API endpoint {:port=>9600}
www.baidu.com                       ###输入内容
www.sina.com.cn                     ###输入内容
www.google.com.cn                   ###输入内容

ここに画像の説明を挿入します

ここに画像の説明を挿入します

7、打开浏览器 输入http://192.168.222.128:9100/ 查看索引信息###
多出 logstash-2019.04.16

ここに画像の説明を挿入します

【登录192.168.222.135 Apache主机 做对接配置】
###logstash配置文件###
Logstash配置文件主要由三部分组成:input、output、filter(根据需要)

chmod o+r /var/log/messages
ll /var/log/messages

#配置文件中定义的是收集系统日志(system)
vim /etc/logstash/conf.d/system.conf 
input {
       file{
        path => "/var/log/messages"
        type => "system"
        start_position => "beginning"
        }
      }
output {
        elasticsearch {
          hosts => ["192.168.222.128:9200"]
          index => "system-%{+YYYY.MM.dd}"
          }
        }

systemctl restart logstash.service

打开浏览器 输入http://192.168.222.128:9100/ 查看索引信息###
多出 system-2019.03.09

ここに画像の説明を挿入します

ここに画像の説明を挿入します
ここに画像の説明を挿入します

2.node1ホストにkibanaをインストールします

###登录192.168.222.128 node1主机###
##在node1主机安装kibana##
上传kibana-5.5.1-x86_64.rpm 到/usr/local/src目录
cd /usr/local/src/
rpm -ivh kibana-5.5.1-x86_64.rpm
cd /etc/kibana/
cp kibana.yml kibana.yml.bak

vim kibana.yml
2/ server.port: 5601                                      #### kibana打开的端口
7/ server.host: "0.0.0.0"                                 ####kibana侦听的地址
21/ elasticsearch.url: "http://192.168.222.128:9200"      ###和elasticsearch建立联系
30/ kibana.index: ".kibana"                               ####在elasticsearch中添加.kibana索引

systemctl start kibana.service                            ###启动kibana服务
systemctl enable kibana.service                           ###开机启动kibana服务

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

使用浏览器输入192.168.222.128:5601
首次登录创建一个索引 名字:system-*  ##这是对接系统日志文件
Index name or pattern   ###下面输入system-*

然后点最下面的出面的create 按钮创建

然后点最左上角的Discover按钮  会发现system-*信息

然后点下面的host旁边的add  会发现右面的图只有 Time  和host 选项了 这个比较友好

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

#####对接Apache主机的Apache 日志文件(访问的、错误的)#####
####Apache主机配置####
cd /etc/logstash/conf.d/
touch apache_log.conf
vim apache_log.conf
input {
       file{
        path => "/etc/httpd/logs/access_log"
        type => "access"
        start_position => "beginning"
        }
       file{
        path => "/etc/httpd/logs/error_log"
        type => "error"
        start_position => "beginning"
        }
        
      }
output {
        if [type] == "access" {
        elasticsearch {
          hosts => ["192.168.222.128:9200"]
          index => "apache_access-%{+YYYY.MM.dd}"
          }
        }
        if [type] == "error" {
        elasticsearch {
          hosts => ["192.168.222.128:9200"]
          index => "apache_error-%{+YYYY.MM.dd}"
          }
        }
        }

/usr/share/logstash/bin/logstash -f apache_log.conf

ここに画像の説明を挿入します
ここに画像の説明を挿入します

打开浏览器输入http://192.168.222.135
打开浏览器 输入http://192.168.222.128:9100/         #查看索引信息
能发现
apache_error-2019.04.16     apache_access-2019.04.16 

ここに画像の説明を挿入します
ここに画像の説明を挿入します

打开浏览器 输入http://192.168.222.128:5601
点击左下角有个management选项---index  patterns---create index pattern
----分别创建apache_error-*   和     apache_access-* 的索引   

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/LI_MINGXUAN/article/details/114330811