ELK环境搭建,手把手教程
Posted 凌晨两点二十五
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ELK环境搭建,手把手教程相关的知识,希望对你有一定的参考价值。
ELK基础介绍:logstash负责收集日志、elasticsearch负责存储日志、kibana负责展示日志大屏
1.基础环境安装
2.elasticsearch安装
3.logstash安装
4.kibana安装
1.基础环境准备:两台服务器ELK-master(192.168.77.139)、ELK-slave(192.168.77.138)
1.1环境配置:ELK-master、ELK-slave如下配置,两台都需要配置
关闭防火墙:systemctl stop firewalld
关闭selinux:setenforce 0
1.2时间一致配置:
yum install -y ntpdate
/usr/sbin/ntpdate ntp1.aliyun.com
1.3配置DNS解析:
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.77.138 ELK-slave
192.168.77.139 ELK-master
1.4测试DNS解析成功:ELK-slave去ping ELK-master
2.Elasticsearch部署:ELK-slave和ELK-master均需配置,负责存储logstash收集过来的日志,基于索引的存储方式,便于检索。
2.1下载安装GPG key:
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
2.2.添加yum仓库:
vim /etc/yum.repos.d/elk.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
enabled=1
2.3.安装elasticsearch:
yum install -y elasticsearch redis nginx java
2.4.测试java环境是否成功
java -version
2.5.集群配置:
elk-master配置:
mkdir -p /data/es-data #自定义数据存放位置
chown -R elasticsearch.elasticsearch /data/
vim /etc/elasticsearch/elasticsearch.yml #修改配置文件,加上以下内容,注意冒号后面有空格
cluster.name: ES-cluster #设置es集群的名称
node.name: ELK-master #节点名称,建议和主机名一致
path.data: /data/es-data #文件存放路径
path.logs: /var/log/elasticsearch #日志存放路径
bootstrap.mlockall: true #锁住内存,不被使用到交换分区去(内存不足时,休眠程序内存的信息会交换到交换分区)
network.host: 0.0.0.0 #网络设置,可以通过127.0.0.1和本机ip访问
http.port: 9200 #端口号
discovery.zen.ping.multicast.enabled: false #关闭组播
discover.zen.ping.unicast.hosts: ["192.168.77.138","192.168.77.139"] #开启单播,这里分别是slave和master的ip
启动服务:
systemctl start elasticsearch #开启
systemctl enable elasticsearch #开机自启
systemctl status elasticsearch #查看状态
测试:
浏览器中输入http://192.168.77.139:9200/
或者命令行测试:
curl 192.168.77.139:9200
elk-slave配置:
mkdir -p /data/es-data #自定义数据存放位置
chown -R elasticsearch.elasticsearch /data/
vim /etc/elasticsearch/elasticsearch.yml #修改配置文件,加上以下内容,注意冒号后面有空格
cluster.name: ES-cluster #设置集群名称
node.name: ELK-slave #设置节点名称
path.data: /data/es-data #指定数据存放路径
path.logs: /var/log/elasticsearch #日志存放路径
bootstrap.mlockall: true #锁定内存
network.host: 0.0.0.0 #设置网路
http.port: 9200 #端口
discovery.zen.ping.multicast.enabled: false #关闭组播
discover.zen.ping.unicast.hosts: ["192.168.77.138","192.168.77.139"] #设置集群ip
启动服务:
systemctl start elasticsearch #开启
systemctl enable elasticsearch #开机自启
systemctl status elasticsearch #查看状态
测试:
curl 192.168.77.138:9200
2.6插件安装:两台服务器都需要安装Head和Kopf插件
head安装:
/usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head #通过web可以查看es集群
chown -R elasticsearch.elasticsearch /usr/share/elasticsearch/plugins/
Kopf安装:
/usr/share/elasticsearch/bin/plugin install lmenezes/elasticsearch-kopf #通过web可以管理和监控es集群
测试:
Head:http://192.168.77.139:9200/_plugin/head/
Kopf:http://192.168.77.139:9200/_plugin/kopf/
3.logstash安装:负责日志收集,安装在需要收集日志的服务器上
3.1下载gpg key:
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
3.2配置yum仓库:
[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
enabled=1
3.3安装logstash
yum install -y logstash
测试logstash:
/opt/logstash/bin/logstash -e 'input{stdin{}} output{stdout{} elasticsearch { hosts => ["192.168.77.138:9200","192.168.77.139:9200"] }}' #input和output可以理解为日志从哪里来到哪里去;stdin为标准输入,即键盘输入的内容;stdout为标准输出,输出到屏幕,elasticsearch放在output表示输出到es集群中,hosts是elasticsearch的ip地址。
这里输入hello world!
浏览器输入:http://192.168.77.139:9200/_plugin/head 可以查看到输入到es的日志信息
3.4使用logstash收集系统日志:
vim /etc/logstash/conf.d/message.conf
input{
file { #日志从文件来
path => "/var/log/messages" #文件路径
type => "system" #标签
start_position => "beginning" #开始位置
}
}
output{
elasticsearch {
hosts => ["192.168.77.138:9200","192.168.77.139:9200"] #输出到es集群
index => "system-%{+YYYY.MM.dd}" #索引格式
}
}
/opt/logstash/bin/logstash -f /etc/logstash/conf.d/message.conf #执行命令
效果如下:数据浏览->system
kibana安装:负责展示es中的日志信息,只需填写需要查看的es的ip即可,所以在哪台机器上都行,只要能和es通信,这里安装在master上192.168.77.139
cd /usr/local/src #安装路径
Wget https://download.elastic.co/kibana/kibana/kibana-4.3.1-linux-x64.tar.gz #下载kibana
tar xf kibana-4.3.1-linux-x64.tar.gz #解压
ln -s kibana-4.3.1-linux-x64 kibana #设置软连接,kibana相当于kibana-4.3.1-linux-x64的快捷方式
修改kibana配置文件/usr/local/src/kibana/config/kibana.yml (就是在解压的kibana文件夹里)
vim kibana/config/kibana.yml
server.port: 5601 #端口号
server.host: "0.0.0.0" #网络设置
elasticsearch.url: "http://192.168.77.139:9200" #展示哪里的日志文件
kibana.index: ".kibana" #设置索引格式
启动kibana :
/usr/local/src/kibana/bin/kibana
查看kibana的展示结果:http://192.168.77.139:5601
Settings->index name->create #这里的index name需要写你想查看的日志的相关信息,本次实验是system*,和/etc/logstash/conf.d/message.conf中的type对应
discover->system->today
以上就是kibana展示的日志信息结果
以上是关于ELK环境搭建,手把手教程的主要内容,如果未能解决你的问题,请参考以下文章
实用教程手把手教程,一文学会使用Sublime搭建轻量级的C语言gcc编译运行环境和Python运行环境(含所有配置流程及脚本)