ELK安装配置
2015-11-19 19:11
417 查看
一环境说明
程序部署路径/opt/devops/
centos7 64位操作系统
服务器 192.168.80.20
客户端 192.168.80.10
logstash2.0
elasticsearch-2.0.0
kibana-4.2.0
二安装前的准备工作
1 关闭防火墙、selinxu
2 安装redis
#yum install epel-release –y
#yum install redis –y
修改redis配置文件使redis监听所有ip,默认情况下只监听127.0.0.01
vi /etc/redis.conf
bind 0.0.0.0
启动redis
#systemctl restart redis.service
三 logstash(服务端客户端均需安装)
1 logstash安装
参考文档http://udn.yyuap.com/doc/logstash-best-practice-cn/input/file.html
参考文档 https://www.elastic.co/guide/en/logstash/current/introduction.html
grok正则测试工具网址为https://grokdebug.herokuapp.com/
grok正则表达式 https://github.com/elastic/logstash/blob/v1.4.2/patterns/grok-patterns
第一步:安装java
logstash2.0版本需要java7及以上版本的支持,如果系统没有安装java环境需使用下面的命令进行安装。
#rpm -ivh jdk-8u51-linux-x64.rpm
#vi /etc/profile.d/java.sh
exportJAVA_HOME="/usr/java/jdk1.8.0_51"
exportJRE_HOME="/usr/java/jdk1.8.0_51/jre/"
export PATH=$JAVA_HOME/bin:$PATH
#source /etc/profile
第二步:安装logstash
将下载的logstash拷贝到/opt/devops/目录下
mv logstash-2.0.0 /opt/devops/logstash
第三步:简单测试
#cd/opt/devops/logstash/
#bin/logstash -e 'input { stdin { } } output { stdout {} }'
显示启动完成,手动输入helloworld测试logstash是否正常启动
The
2logstatsh配置
logstatsh默认情况下并没有区分服务端和客户端,在此我们人为的将其分为服务端和客户端。客户端负责收集日志、按照预定义的正则进行切割日志并将信息输出到redis中,客户端配置文件格式如下,有两个配置文件input.conf和output.conf组成(当然也可以使用一个配置文件)整个配置文件有三部分组成input(输入)、filter(过滤)、output(输出)
2 客户端配置
客户端负责收集日志、切割日志并将切割后的日志保存到redis中,我们假设将logstatsh部署在/opt/devops目录,其配置文件位于/opt/devops/conf目录
第一步配置详解
#mkdir –pv /opt/devops/conf
#mkdir –pv /opt/devops/ patterns
#vi input.conf
input {file { type =>"apachelog" tags=>"im/apache" path =>"/opt/devops/logstash/logs/logstash-tutorial-dataset" start_position => beginning sincedb_path => "/opt/devops/logstash/im_nginxlog.sincedb" }}filter { if [type] == "nginxlog" {grok { patterns_dir=> "/opt/devops/logstash/patterns" match =>{"message"=>"%{COMBINEDAPACHELOG}"} } geoip { source =>"clientip" } }}解释:input段主要负责日志的收集工作,其主要包含的字段及含义如下type => "apachelog" type主要用来判断日志的类型,例如:此处表示收集的日志为apache产生的日志tags=> "im/apache" tags主要为日志打标签的,例如:如果多台apache生成不同的日志,可以通过tags为apache日志打标签,表示是由哪个应用产生的apahe日志,此处表示是由im应用产生的日志path=> "/opt/devops/logstash/logs/logstash-tutorial-dataset"path用于指定日志的位置start_position=> beginning start_position用于指定logstatsh第一次启动时从什么地方开始读取日志,如果不指定为start_position => beginning logstatsh收集日志是从最新的位置开始收集的,类似于tail –f 命令;如果logstatsh并不是第一次启动还想从头收集日志在停止logstatsh后需手动删除sincedb文件,如果配置文件中不指定sincedb文件的位置,logstatsh启动后为在/root/生成一个以.sincedb_开头的隐藏文件,该文件的主要作用是记录logstatsh收集日志的位置logstatsh进程意外关闭,启动后继续从该位置收集日志。sincedb_path => "/opt/devops/logstash/im_nginxlog.sincedb"sincedb_path指定sincedb文件位置filter字段主要负责将收集的日志按照预定义的正则进行日志切割grok子段主要是logstatsh的正则部分,其主要包含的字段及含义如下if [type] == "nginxlog" if [type]子段主要是用于做判断的,如果满足要求就执行下面的正则进行日志切割 grok正则测试工具网址为https://grokdebug.herokuapp.com/ ,使用该工具需翻墙 match => {"message" => "%{COMBINEDAPACHELOG}"} match表示使用某种正则进行日志切割geoip子段的主要作用是通过ip来获取地理位置,ip必须是日志切割时通过正则定义的字段source =>"clientip"souce用来提取日志切割后的ip地址 #vi output.confoutput {stdout {}redis {host => "172.20.19.113"port => "6379"data_type => "list"key => "logstash"}}
解释:
客户端logstash的output段主要负责将收集切割后的日志输出到redis中进行保存,方便服务端logstash从redis中获取日志,其主要包含的字段及含义如下
stdout {}子段表示将切割后的日志通过标准输出打印到屏幕上,其主要作用是用来确认logstash是否正常工作,正式上线后可禁用此字段redis子段表示将切割后的日志存储到redis,其主要包含的字段及含义如下host => "172.20.19.113" host表示redis服务所在主机ipport => "6379" port表示redis所使用的端口为6379data_type => "list" data_type表示将切割后的日志保存成redis的list类型key =>"logstash" 表示此日志在redis的key为logstatsh(服务端的input段中的key需要和这里的保持一致) 第二步启动 logstatsh假设logstatsh部署在/opt/devops/logstash/,其两个配置文件input.conf和output.conf均在/opt/devops/logstash/conf1 测试配置文件是否正确#/opt/devops/logstash/bin/logstash-f /opt/devops/logstash/conf/ --configtest2 启动logstatsh#nohup/opt/devops/logstash/bin/logstash -f /opt/devops/logstash/conf/ > /dev/null & 2 服务端配置服务端logstatsh负责从redis获取数据,并将数据传递给elasticsearch,我们假设将logstatsh部署在/opt/devops目录,其配置文件位于/opt/devops/conf目录
第一步配置详解
#vi input.conf
input {
redis{
host => "192.168.80.10"
port => "6379"
type => "redis-input"
data_type => "list"
key => "logstash"
}
}
解释:input段主要负责从redis中提取数据,其主要包含的字段及含义如下redis子段是logstatsh服务端从redis中提取数据的相关配置,其主要包含的字段及含义如下host => "192.168.80.10"表示redis服务所在服务器ip为192.168.80.10port => "6379"表示redis服务的端口为6379type => "redis-input" 表示logstatsh是从redis中获取数据的data_type => "list"表示存储在redis切割后的日志数据类型为listkey => "logstash"需和客户端的key保持一致
#output.conf
output {
stdout {}
file {
message_format =>"%{message}"
path => "/opt/logs/%{tags}/%{+YYYY-MM-dd}/%{type}"
}
elasticsearch{
hosts =>["192.168.80.10:9200","192.168.80.20:9200"]
}
}
解释:
output段主要负责将从redis提取的数据交给elasticsearch进行分析,,其主要包含的字段及含义如下
stdout {}子段表示将获取的日志通过标准输出打印到屏幕上,其主要作用是用来确认logstash是否正常工作,正式上线后可禁用此字段file子段表示将获取的日志保存到文件中,方便以后查看。elasticsearch子段负责将获取的日志交给elasticsearch进行数据分析,其主要包含的字段及含义如下
hosts =>["192.168.80.10:9200","192.168.80.20:9200"] host字段以数组的形式定义elasticsearch集群各个节点ip及elasticsearch使用的端口
cluster=> "yyuap" cluset用来定义elasticsearch集群,这里elasticsearch集群名称为elasticsearch(logstatsh2.0已废弃) 第二步启动 logstatsh假设logstatsh部署在/opt/devops/logstash/,其两个配置文件input.conf和output.conf均在/opt/devops/logstash/conf1 测试配置文件是否正确#/opt/devops/logstash/bin/logstash-f /opt/devops/logstash/conf/ --configtest2 启动logstatsh#nohup /opt/devops/logstash/bin/logstash -f/opt/devops/logstash/conf/ >/var/log/logstash.log &注意:客户端logstatsh停止后,如果要再次启动需要手动删除/opt/devops/logstash/conf/dump.rdb然后再启动logstatsh
四 elasticsearch
1 elasticsearch安装
elasticsearch插件安装参考文档
http://www.cnblogs.com/huangfox/p/3541300.html
第一步:安装java(192.168.80.10和192.168.80.20均需安装)
elasticsearch2.0版本需要java7及以上版本的支持,如果系统没有安装java环境需使用下面的命令进行安装。
#rpm -ivh jdk-8u51-linux-x64.rpm
#vi /etc/profile.d/java.sh
exportJAVA_HOME="/usr/java/jdk1.8.0_51"
exportJRE_HOME="/usr/java/jdk1.8.0_51/jre/"
export PATH=$JAVA_HOME/bin:$PATH
#source /etc/profile
第二步:安装elasticsearch(192.168.80.10和192.168.80.20均需安装)
将下载的elasticsearch拷贝到/opt/devops/目录下
mv elasticsearch-2.0.0 /opt/devops/elasticsearch
第三步 配置elasticsearch
(1) 192.168.80.10服务器配置
第一步创建mv elasticsearch数据目录和日志目录
mkdir –pv /opt/devops/elasticsearch/data
mkdir –pv /opt/devops/elasticsearch/log
第二步创建elasticsearch运行时所需要的系统账号
elasticsearch-2.0.0版本禁止使用root账号直接运行,所以需要创建账号用于运行elasticsearch
useradd elasticsearch –s /sbin/nologin
第三步修改配置文件
配置文件的位置在/opt/devops/elasticsearch/config/elasticsearch.yml,一个基本的elasticsearch需要做如下配置:
cluster.name: ssfy
位于配置文件的第17行,用于定义集群名称
node.name: ssfy-01
位于配置文件的第23行,用于定义集群节点名称
path.data: /opt/devops/elasticsearch/data
位于配置文件的第33行,用于定义elasticsearch存储数据的位置
path.logs: /opt/devops/elasticsearch/log
位于配置文件的第37行,用于定义elasticsearch日志文件的位置
network.host: 192.168.80.10
位于配置文件的第54行,用于定义elasticsearch侦听ip,这里需要配置为elasticsearch所在服务器ip地址
http.port: 9200
位于配置文件的第58行,用于定义elasticsearch对外使用的端口
discovery.zen.ping.unicast.hosts: ["192.168.80.10", "192.168.80.20"]
位于配置文件的第79行,用于定义elasticsearch发送广播的ip,默认情况下向elasticsearch所在网段的所以ip进行广播
node.max_local_storage_nodes: 1
位于配置文件的第92行,用于定义一台主机只允许启动一个elasticsearch节点
action.destructive_requires_name: true
位于配置文件的第96行,用于定义删除索引时必须明确提供索引名
(2) 192.168.80.10服务器配置
第一步创建mv elasticsearch数据目录和日志目录
mkdir –pv /opt/devops/elasticsearch/data
mkdir –pv /opt/devops/elasticsearch/log
第二步创建elasticsearch运行时所需要的系统账号
elasticsearch-2.0.0版本禁止使用root账号直接运行,所以需要创建账号用于运行elasticsearch
useradd elasticsearch –s /sbin/nologin
第三步修改配置文件
配置文件的位置在/opt/devops/elasticsearch/config/elasticsearch.yml,一个基本的elasticsearch需要做如下配置:
cluster.name: ssfy
node.name: ssfy-02
path.data: /opt/devops/elasticsearch/data
path.logs: /opt/devops/elasticsearch/log
network.host: 192.168.80.20
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.80.10", "192.168.80.20"]
node.max_local_storage_nodes: 1
action.destructive_requires_name: true
(3) 启动elasticsearch
#su – elasticsearch
#nohup/opt/devops/elasticsearch/bin/elasticsearch >/dev/null &
检验是否正常启动
浏览器中输入http://192.168.80.10:9300或者http://192.168.80.20:9300
注释:elasticsearch集群内部通信端口为9300,对外通信端口为9200
(4) 安装elasticsearch插件
第一个插件head
elasticsearch-head是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序,你可以通过插件把它集成到es。
安装命令:
$/opt/devops/elasticsearch/bin
$./plugin install mobz/elasticsearch-head
安装完成后\plugins目录下会有head的文件夹。
进入http://192.168.80.10:9200/_plugin/head/
第二个插件——bigdesk
bigdesk是elasticsearch的一个集群监控工具,可以通过它来查看es集群的各种状态,如:cpu、内存使用情况,索引数据、搜索情况,http连接数等。
安装命令:
$/opt/devops/elasticsearch/bin
$./plugin install lukas-vlcek/bigdesk
安装完成后\plugins目录下会有bigdesk的文件夹。
注意:elasticsearch2.0.0不能通过上面的方法进行安装,需要手动下载bigdesk放到/opt/devops/elasticsearch/plugins目录,然后修改两处配置文件
首先添加配置文件plugin-descriptor.propertie
#vi elasticsearch-2.0.0/plugins/bigdesk/plugin-descriptor.properties
description=bigdeskversion=mastersite=truename=bigdesk然后,修改配置文件
elasticsearch-2.0.0/plugins/bigdesk/_site/js/store/BigdeskStore.js第142行将major ==1改为major>= 1
进入http://192.168.80.10:9200/_plugin/bigdesk/ 如下图
五 kibana
1 kibana安装
注意:kibana-4.2.0需要elasticsearch2.0.0及以上版本的支持
第一步拷贝软件包
将下载的elasticsearch拷贝到/opt/devops/目录下
#mv kibana-4.2.0/opt/devops/kibana
第二步修改kibana配置文件
kibana配置文件只需修改一处即可,我们需要告诉Kibana在哪里可以找到elasticsearch。打开配置文件并修改elasticsearch参数:
#vi /opt/devops/kibana/config/
elasticsearch.url: "http://192.168.80.10:9200"
elasticsearch.url: http://192.168.80.20:9200 第三步启动kibana
#nohup /opt/devops/kibana/bin/kibana > /var/log/kibana.log&
第四步测试
kibana端口为5601
在浏览器中输入
http://192.168.80.10:5601或http://192.168.80.20:5601
程序部署路径/opt/devops/
centos7 64位操作系统
服务器 192.168.80.20
客户端 192.168.80.10
logstash2.0
elasticsearch-2.0.0
kibana-4.2.0
二安装前的准备工作
1 关闭防火墙、selinxu
2 安装redis
#yum install epel-release –y
#yum install redis –y
修改redis配置文件使redis监听所有ip,默认情况下只监听127.0.0.01
vi /etc/redis.conf
bind 0.0.0.0
启动redis
#systemctl restart redis.service
三 logstash(服务端客户端均需安装)
1 logstash安装
参考文档http://udn.yyuap.com/doc/logstash-best-practice-cn/input/file.html
参考文档 https://www.elastic.co/guide/en/logstash/current/introduction.html
grok正则测试工具网址为https://grokdebug.herokuapp.com/
grok正则表达式 https://github.com/elastic/logstash/blob/v1.4.2/patterns/grok-patterns
第一步:安装java
logstash2.0版本需要java7及以上版本的支持,如果系统没有安装java环境需使用下面的命令进行安装。
#rpm -ivh jdk-8u51-linux-x64.rpm
#vi /etc/profile.d/java.sh
exportJAVA_HOME="/usr/java/jdk1.8.0_51"
exportJRE_HOME="/usr/java/jdk1.8.0_51/jre/"
export PATH=$JAVA_HOME/bin:$PATH
#source /etc/profile
第二步:安装logstash
将下载的logstash拷贝到/opt/devops/目录下
mv logstash-2.0.0 /opt/devops/logstash
第三步:简单测试
#cd/opt/devops/logstash/
#bin/logstash -e 'input { stdin { } } output { stdout {} }'
显示启动完成,手动输入helloworld测试logstash是否正常启动
The
-eflagenables you to specify a configuration directly from the command line.Specifying configurations at the command line lets you quickly testconfigurations without having to edit a file between iterations. This pipelinetakes input from the standard input,
stdin, andmoves that input to the standard output,
stdout, in astructured format. Type hello world at the command prompt to see Logstashrespond:
2logstatsh配置
logstatsh默认情况下并没有区分服务端和客户端,在此我们人为的将其分为服务端和客户端。客户端负责收集日志、按照预定义的正则进行切割日志并将信息输出到redis中,客户端配置文件格式如下,有两个配置文件input.conf和output.conf组成(当然也可以使用一个配置文件)整个配置文件有三部分组成input(输入)、filter(过滤)、output(输出)
2 客户端配置
客户端负责收集日志、切割日志并将切割后的日志保存到redis中,我们假设将logstatsh部署在/opt/devops目录,其配置文件位于/opt/devops/conf目录
第一步配置详解
#mkdir –pv /opt/devops/conf
#mkdir –pv /opt/devops/ patterns
#vi input.conf
input {file { type =>"apachelog" tags=>"im/apache" path =>"/opt/devops/logstash/logs/logstash-tutorial-dataset" start_position => beginning sincedb_path => "/opt/devops/logstash/im_nginxlog.sincedb" }}filter { if [type] == "nginxlog" {grok { patterns_dir=> "/opt/devops/logstash/patterns" match =>{"message"=>"%{COMBINEDAPACHELOG}"} } geoip { source =>"clientip" } }}解释:input段主要负责日志的收集工作,其主要包含的字段及含义如下type => "apachelog" type主要用来判断日志的类型,例如:此处表示收集的日志为apache产生的日志tags=> "im/apache" tags主要为日志打标签的,例如:如果多台apache生成不同的日志,可以通过tags为apache日志打标签,表示是由哪个应用产生的apahe日志,此处表示是由im应用产生的日志path=> "/opt/devops/logstash/logs/logstash-tutorial-dataset"path用于指定日志的位置start_position=> beginning start_position用于指定logstatsh第一次启动时从什么地方开始读取日志,如果不指定为start_position => beginning logstatsh收集日志是从最新的位置开始收集的,类似于tail –f 命令;如果logstatsh并不是第一次启动还想从头收集日志在停止logstatsh后需手动删除sincedb文件,如果配置文件中不指定sincedb文件的位置,logstatsh启动后为在/root/生成一个以.sincedb_开头的隐藏文件,该文件的主要作用是记录logstatsh收集日志的位置logstatsh进程意外关闭,启动后继续从该位置收集日志。sincedb_path => "/opt/devops/logstash/im_nginxlog.sincedb"sincedb_path指定sincedb文件位置filter字段主要负责将收集的日志按照预定义的正则进行日志切割grok子段主要是logstatsh的正则部分,其主要包含的字段及含义如下if [type] == "nginxlog" if [type]子段主要是用于做判断的,如果满足要求就执行下面的正则进行日志切割 grok正则测试工具网址为https://grokdebug.herokuapp.com/ ,使用该工具需翻墙 match => {"message" => "%{COMBINEDAPACHELOG}"} match表示使用某种正则进行日志切割geoip子段的主要作用是通过ip来获取地理位置,ip必须是日志切割时通过正则定义的字段source =>"clientip"souce用来提取日志切割后的ip地址 #vi output.confoutput {stdout {}redis {host => "172.20.19.113"port => "6379"data_type => "list"key => "logstash"}}
解释:
客户端logstash的output段主要负责将收集切割后的日志输出到redis中进行保存,方便服务端logstash从redis中获取日志,其主要包含的字段及含义如下
stdout {}子段表示将切割后的日志通过标准输出打印到屏幕上,其主要作用是用来确认logstash是否正常工作,正式上线后可禁用此字段redis子段表示将切割后的日志存储到redis,其主要包含的字段及含义如下host => "172.20.19.113" host表示redis服务所在主机ipport => "6379" port表示redis所使用的端口为6379data_type => "list" data_type表示将切割后的日志保存成redis的list类型key =>"logstash" 表示此日志在redis的key为logstatsh(服务端的input段中的key需要和这里的保持一致) 第二步启动 logstatsh假设logstatsh部署在/opt/devops/logstash/,其两个配置文件input.conf和output.conf均在/opt/devops/logstash/conf1 测试配置文件是否正确#/opt/devops/logstash/bin/logstash-f /opt/devops/logstash/conf/ --configtest2 启动logstatsh#nohup/opt/devops/logstash/bin/logstash -f /opt/devops/logstash/conf/ > /dev/null & 2 服务端配置服务端logstatsh负责从redis获取数据,并将数据传递给elasticsearch,我们假设将logstatsh部署在/opt/devops目录,其配置文件位于/opt/devops/conf目录
第一步配置详解
#vi input.conf
input {
redis{
host => "192.168.80.10"
port => "6379"
type => "redis-input"
data_type => "list"
key => "logstash"
}
}
解释:input段主要负责从redis中提取数据,其主要包含的字段及含义如下redis子段是logstatsh服务端从redis中提取数据的相关配置,其主要包含的字段及含义如下host => "192.168.80.10"表示redis服务所在服务器ip为192.168.80.10port => "6379"表示redis服务的端口为6379type => "redis-input" 表示logstatsh是从redis中获取数据的data_type => "list"表示存储在redis切割后的日志数据类型为listkey => "logstash"需和客户端的key保持一致
#output.conf
output {
stdout {}
file {
message_format =>"%{message}"
path => "/opt/logs/%{tags}/%{+YYYY-MM-dd}/%{type}"
}
elasticsearch{
hosts =>["192.168.80.10:9200","192.168.80.20:9200"]
}
}
解释:
output段主要负责将从redis提取的数据交给elasticsearch进行分析,,其主要包含的字段及含义如下
stdout {}子段表示将获取的日志通过标准输出打印到屏幕上,其主要作用是用来确认logstash是否正常工作,正式上线后可禁用此字段file子段表示将获取的日志保存到文件中,方便以后查看。elasticsearch子段负责将获取的日志交给elasticsearch进行数据分析,其主要包含的字段及含义如下
hosts =>["192.168.80.10:9200","192.168.80.20:9200"] host字段以数组的形式定义elasticsearch集群各个节点ip及elasticsearch使用的端口
cluster=> "yyuap" cluset用来定义elasticsearch集群,这里elasticsearch集群名称为elasticsearch(logstatsh2.0已废弃) 第二步启动 logstatsh假设logstatsh部署在/opt/devops/logstash/,其两个配置文件input.conf和output.conf均在/opt/devops/logstash/conf1 测试配置文件是否正确#/opt/devops/logstash/bin/logstash-f /opt/devops/logstash/conf/ --configtest2 启动logstatsh#nohup /opt/devops/logstash/bin/logstash -f/opt/devops/logstash/conf/ >/var/log/logstash.log &注意:客户端logstatsh停止后,如果要再次启动需要手动删除/opt/devops/logstash/conf/dump.rdb然后再启动logstatsh
四 elasticsearch
1 elasticsearch安装
elasticsearch插件安装参考文档
http://www.cnblogs.com/huangfox/p/3541300.html
第一步:安装java(192.168.80.10和192.168.80.20均需安装)
elasticsearch2.0版本需要java7及以上版本的支持,如果系统没有安装java环境需使用下面的命令进行安装。
#rpm -ivh jdk-8u51-linux-x64.rpm
#vi /etc/profile.d/java.sh
exportJAVA_HOME="/usr/java/jdk1.8.0_51"
exportJRE_HOME="/usr/java/jdk1.8.0_51/jre/"
export PATH=$JAVA_HOME/bin:$PATH
#source /etc/profile
第二步:安装elasticsearch(192.168.80.10和192.168.80.20均需安装)
将下载的elasticsearch拷贝到/opt/devops/目录下
mv elasticsearch-2.0.0 /opt/devops/elasticsearch
第三步 配置elasticsearch
(1) 192.168.80.10服务器配置
第一步创建mv elasticsearch数据目录和日志目录
mkdir –pv /opt/devops/elasticsearch/data
mkdir –pv /opt/devops/elasticsearch/log
第二步创建elasticsearch运行时所需要的系统账号
elasticsearch-2.0.0版本禁止使用root账号直接运行,所以需要创建账号用于运行elasticsearch
useradd elasticsearch –s /sbin/nologin
第三步修改配置文件
配置文件的位置在/opt/devops/elasticsearch/config/elasticsearch.yml,一个基本的elasticsearch需要做如下配置:
cluster.name: ssfy
位于配置文件的第17行,用于定义集群名称
node.name: ssfy-01
位于配置文件的第23行,用于定义集群节点名称
path.data: /opt/devops/elasticsearch/data
位于配置文件的第33行,用于定义elasticsearch存储数据的位置
path.logs: /opt/devops/elasticsearch/log
位于配置文件的第37行,用于定义elasticsearch日志文件的位置
network.host: 192.168.80.10
位于配置文件的第54行,用于定义elasticsearch侦听ip,这里需要配置为elasticsearch所在服务器ip地址
http.port: 9200
位于配置文件的第58行,用于定义elasticsearch对外使用的端口
discovery.zen.ping.unicast.hosts: ["192.168.80.10", "192.168.80.20"]
位于配置文件的第79行,用于定义elasticsearch发送广播的ip,默认情况下向elasticsearch所在网段的所以ip进行广播
node.max_local_storage_nodes: 1
位于配置文件的第92行,用于定义一台主机只允许启动一个elasticsearch节点
action.destructive_requires_name: true
位于配置文件的第96行,用于定义删除索引时必须明确提供索引名
(2) 192.168.80.10服务器配置
第一步创建mv elasticsearch数据目录和日志目录
mkdir –pv /opt/devops/elasticsearch/data
mkdir –pv /opt/devops/elasticsearch/log
第二步创建elasticsearch运行时所需要的系统账号
elasticsearch-2.0.0版本禁止使用root账号直接运行,所以需要创建账号用于运行elasticsearch
useradd elasticsearch –s /sbin/nologin
第三步修改配置文件
配置文件的位置在/opt/devops/elasticsearch/config/elasticsearch.yml,一个基本的elasticsearch需要做如下配置:
cluster.name: ssfy
node.name: ssfy-02
path.data: /opt/devops/elasticsearch/data
path.logs: /opt/devops/elasticsearch/log
network.host: 192.168.80.20
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.80.10", "192.168.80.20"]
node.max_local_storage_nodes: 1
action.destructive_requires_name: true
(3) 启动elasticsearch
#su – elasticsearch
#nohup/opt/devops/elasticsearch/bin/elasticsearch >/dev/null &
检验是否正常启动
浏览器中输入http://192.168.80.10:9300或者http://192.168.80.20:9300
注释:elasticsearch集群内部通信端口为9300,对外通信端口为9200
(4) 安装elasticsearch插件
第一个插件head
elasticsearch-head是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序,你可以通过插件把它集成到es。
安装命令:
$/opt/devops/elasticsearch/bin
$./plugin install mobz/elasticsearch-head
安装完成后\plugins目录下会有head的文件夹。
进入http://192.168.80.10:9200/_plugin/head/
第二个插件——bigdesk
bigdesk是elasticsearch的一个集群监控工具,可以通过它来查看es集群的各种状态,如:cpu、内存使用情况,索引数据、搜索情况,http连接数等。
安装命令:
$/opt/devops/elasticsearch/bin
$./plugin install lukas-vlcek/bigdesk
安装完成后\plugins目录下会有bigdesk的文件夹。
注意:elasticsearch2.0.0不能通过上面的方法进行安装,需要手动下载bigdesk放到/opt/devops/elasticsearch/plugins目录,然后修改两处配置文件
首先添加配置文件plugin-descriptor.propertie
#vi elasticsearch-2.0.0/plugins/bigdesk/plugin-descriptor.properties
description=bigdeskversion=mastersite=truename=bigdesk然后,修改配置文件
elasticsearch-2.0.0/plugins/bigdesk/_site/js/store/BigdeskStore.js第142行将major ==1改为major>= 1
进入http://192.168.80.10:9200/_plugin/bigdesk/ 如下图
五 kibana
1 kibana安装
注意:kibana-4.2.0需要elasticsearch2.0.0及以上版本的支持
第一步拷贝软件包
将下载的elasticsearch拷贝到/opt/devops/目录下
#mv kibana-4.2.0/opt/devops/kibana
第二步修改kibana配置文件
kibana配置文件只需修改一处即可,我们需要告诉Kibana在哪里可以找到elasticsearch。打开配置文件并修改elasticsearch参数:
#vi /opt/devops/kibana/config/
elasticsearch.url: "http://192.168.80.10:9200"
elasticsearch.url: http://192.168.80.20:9200 第三步启动kibana
#nohup /opt/devops/kibana/bin/kibana > /var/log/kibana.log&
第四步测试
kibana端口为5601
在浏览器中输入
http://192.168.80.10:5601或http://192.168.80.20:5601
相关文章推荐
- #研发解决方案#基于Apriori算法的Nginx+Lua+ELK异常流量拦截方案
- ELKstack 搭建日志管理平台
- ELK中Kibana4中Elasticsearch的UTC时间误差八小时的处理方法
- clojure实战——日志处理
- Logstash处理json格式日志文件的三种方法
- 分布式日志收集之Logstash 笔记(二)
- ELK日志分析系统部署
- 使用Docker和Rancher运行你自己的ELK环境。
- elk分析nginx访问日志
- elasticsearch简介
- ELK 日志分析系统
- ELK日志分析平台
- ELK:kibana使用的lucene查询语法
- ELK 日志分析体系
- 将redis加入到elk日志系统里
- 记录日志系统ELKB 5.6.4的搭建过程
- 安装kibana,X-pack和elasticsearch插件的全过程
- ELK收集nginx日志并用高德地图展示出IP
- ELK日志分析系统实战(一)安装和部署
- ELK5---Elasticsearch Cluster的搭建