一、初步认识
E:Elasticsearch(弹性搜索,接收日志)
接收Logstash提交的日志,存储日志。
基于Restful web接口
L:Logstash(日志贮藏,收集日志)
部署在生产日志服务器上,用于收集日志
分布式存储集群
K:Kibana(日志展示)
提供了一个web页面
从 L—> E —> K
产生日志> 收集日志 > 存储日志> 展示日志 >查看日志
二、部署环节
域名解析
vim /etc/host
192.168.137.142 elk-node1
192.168.137.143 elk-node2
关于master-slave模式
master收集日志后,把一部分数据碎片到slave上(随机的一部分数据)
同时master 和slave都有副本,并把副本都放在对方的机器上,这样就保证了数据不丢失。
如果master宕机会将Elasticsearch改为指向slave
注:不是高可用集群,是一个存储集群,只是主备模式
三、Elasticsearch
1)基础环境安装(可以两个节点同时操作
下载并安装GPG-KEY
一串密钥和官网进行对比,查看是否被修改
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
添加yum仓库
vim /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-2.x]
name=Elasticsearch reposity for 2.x packages
baseurl=https://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
enable=1
安装elacticsearch
yum install -y elasticsearch redis nginx java
安装相关测试软件
略
测试java
java -version
2)配置部署
ELK-node1配置
1.自定义日志存储目录
mkdir -p /data/es-data # 用来存日志的文件
2.追加配置下的内容
vim /etc/elasticsearch/elasticsearch.yml
cluster.name: chrtest # 组名 (同一个组命名必须一致)
node.name: elk-node2 # 节点名称,建议和主机名一致
path.data: /data/es-data # 为了区分和自己的日志,因为存的是别人的所以成为数据
path.logs: /var/log/elasticsearch # 存放自己的日志
bootstrap.memory_lock: true # 锁住内存
network.host: 0.0.0.0 # 监听哪个地址 所有的地址
http.port: 9200
3.在另一个加配置
discovery.zen.ping.multicast.enabled: false # 关闭多播
discovery.zen.ping.unicast.hosts: ["192.168.137.143", "192.168.137.142"] # 单播 还有一个boardcast广播
启动测试并查看
1.给授权
chown -R elasticsearch.elasticsearch /data
2.启动
systemctl start elasticsearch
测试看是否可用
1.通过web测试
http://192.168.137.143:9200/
2.通过命令行测试
3)安装插件1
最实用的通过web界面查看elasticsearch集群状态信息
/usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head
chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/plugins
4)安装插件2
/usr/share/elasticsearch/bin/plugin install lmenezes/elasticsearch-kopf
chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/plugins
5)测试
http://192.168.137.142:9200/_plugin/head/
http://192.168.137.142:9200/_plugin/kopf/#!/cluster
采坑:虚拟网卡要删掉
四、logstash
部署在应用服务器上
下载并安装 GPG key
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
添加yum仓库
vim /etc/yum.repos.d/logstash.repo
安装logstash
[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-elaticsearch
enabled = 1
logstash启动
略
数据收集测试
1.基本的输入输出
/opt/logstash/bin/logstash -e "input {stdin{}} output{ stdout{}}"
-e:执行
input{}:输入函数
output{}:输出函数
stdin{}:标准输入
stdout{}:标准输出
以ruby的格式输出
/opt/logstash/bin/logstash -e "input {stdin{}} output{ stdout{codec=>rubydebug}}"
把内容写到Elasticsearch中
/opt/logstash/bin/logstash -e "input {stdin{}} output{ stdout{elasticsearch{hosts=>["192.168.137.142"]}}}"