1、环境前期准备。
从elastic的官网https://www.elastic.co/cn/,分别下载 elasticsearch-6.1.2.zip 、 kibana-6.1.2-linux-x86_64.tar.gz 、 logstash-6.1.2.zip 到本地。
或者可以直接在这个百度网盘中下载,链接:https://pan.baidu.com/s/17IlI7bGTeU-wD2f1AEyyCA 密码:woa9
本次elk搭建是在cento 7.2 64 位的系统下面进行的,elastic+kibana 的ip 是 192.168.209.143 ,两个客户机分别是nginx日志192.168.209.144,
http日志:192.168.209.142
先将elastic+kibana 的软件上传到 143 的root目录上面,logstash 分别上传到144 和142 的root 上面。
143、144、142 都要配置好jdk环境,下载安装然后写入/etc/profile ,清楚防火墙配置,或者在143开放 9200 5601端口
set JAVA
JAVA_HOME=/usr/jdk
CLASSPATH=PATH:/JAVA_HOME/lib.tools.jar
export PATH JAVA_HOME CLASSPATH
优化好sysctl.conf 内核配置,添加下面一行
vm.max_map_count=655360
然后 执行 sysctl -p
2、elastic+kibana 的配置
分别将elastic和kibana 的文件包解压到新建的elk目录下面
配置好elastic的yml文件,只需要修改一个选项即可
配置kibana 的yml文件,只需要添加两项,定义好elastic的ip地址
server.host: "192.168.209.143"
elasticsearch.url: "http://192.168.209.143:9200"
3.启动elastic 和kibana
修改elastic的目录为普通用户,所有文件的权限都改成他,本次构建是使用新建的elk 用户来启动的。
然后让elk去启动elastic服务,如果直接用下面的命令启动,可能出现如下的报错。
登录elk用户,直接启动,就可以了。
去到kibana的目录下面执行nohup /elk/kibana-5.1.1/bin/kibana & ,就可以直接启动kibana服务
.检查服务器端口是否正常开启
在本地执行代表elastic正常启动
执行192.168.209.143:5601 代表kibana正常启动
4、客户端142和143的logstash安装
在142上面上传解压logstash-6.1.2.zip ,然后拷贝到 /usr/local/下面,新建logstash.conf文件,内容如下
input{
file{
path =>"/var/log/httpd/access_log" ####这个是要在elastic上面显示的日志文件,具体地址,按实际日志文件存放位置定义
start_position=>"beginning"
}
}
filter{
grok{
match=>{
"message"=>"%{DATA:clientIp} - - [%{HTTPDATE:accessTime}] "%{DATA:method} %{DATA:requestPath} %{DATA:httpversion}" %{DATA:retcode} %{DATA:size} "%{DATA:fromHtml}" "%{DATA:useragent}""
}
remove_field=>"message"
}
date{
match=>["accessTime","dd/MMM/yyyy:HH:mm:ss Z"]
}
}
output{
elasticsearch {
hosts => "192.168.209.143:9200" ####这个是elastic的服务器地址
}
stdout{
codec=>rubydebug
}
}
然后启动logstash进程,nohup ./bin/logstash -f /usr/local/logstash/logstash.conf &
手动访问nginx或者httpd的业务输出大量的日志
5.验证elasticsearch+Logstash+kibana 成功与否
登录到kibana上面,一般要求你创建一个选项,下面的由于创建的时候未截图,所有没有数据,一般按照提示,第一个填 * ,然后下一步 ,
第二个选择即可完成初次的配置。
最终显示的效果图如下,注意一点的是,右上角是查询搜索日志的时间范围,如你这个时间段内没有日志写入,那么kibana上面,无论搜索什么关键字,
都会显示找不到对应的结果,左边就是关键字填写的选项。