shipper:日志收集者。
lndexer:日志存储者。
broker:日志Hub
Search and Storage:允许对事件进行搜索和存储
web interface:基于web的展示界面
3.kibana的主要功能:
Elasticsearch无缝之集成,整合数据,复杂数据分析,让更多团队成员收益,接口灵活,配置简单,可视化多数据源,简单数据导出。
一,配置Elasticsearch软件
注:两台节点配置相同,在配置elasticsearch配置文件中注意服务器名称不要相同,群集名称要相同,才可以实现群集效果。
准备环境:在两台ELK节点上配置域名解析,通过本地/etc/hosts文件实现。
[root@node1 ~]# hostname
node1
[root@node1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.2.1 node1
192.168.2.2 node2
检查Java环境
[root@node1 ~]# java -version
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)
部署elasticsearch软件
[root@node1 ~]# rpm -ihv /mnt/elasticsearch-5.5.0.rpm
警告:/mnt/elasticsearch-5.5.0.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID d88e42b4: NOKEY
准备中... ################################# [100%]
加载系统服务
[root@node1 ~]# systemctl daemon-reload
[root@node1 ~]# systemctl enable elasticsearch.service
Created symlink from /etc/systemd/system/multi-user.target.wants/elasticsearch.service to /usr/lib/systemd/system/elasticsearch.service.
[root@node1 ~]#
创建数据存放数据并授权
[root@node1 ~]# mkdir -p /data/elk_data/
[root@node1 ~]# chown elasticsearch:elasticsearch /data/elk_data/
更改elasticsearch主配置文件
[root@localhost ~]# vim /etc/elasticsearch/elasticsearch.yml
cluster.name: my-elk-cluster
node.name: node1
path.data: /data/elk_data
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: false
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["node1", "node2"]
启动elasticsearch并查看是否成功开启
[root@node1 ~]# systemctl start elasticsearch.service
[root@node1 ~]# netstat -anpt | grep 9200
tcp6 0 0 :::9200 :::* LISTEN 4297/java
查看节点信息
二,安装Elasticsearch-head插件
编译安装node,编译安装node耗时较长,大约40min,根据机械的配置可能有所不同,请耐心等待。
[root@node1 ~]# tar zxf /mnt/node-v8.2.1.tar.gz -C /usr/src/
[root@node1 ~]# cd /usr/src/node-v8.2.1/
[root@node1 node-v8.2.1]# ./configure && make && make install
安装phantomjs
[root@node1 ~]# cd /usr/local/src/
[root@node1 src]# tar jxf /mnt/phantomjs-2.1.1-linux-x86_64.tar.bz2
[root@node1 src]# cd phantomjs-2.1.1-linux-x86_64/bin/
[root@node1 bin]# cp phantomjs /usr/local/bin/
安装Elasticsearch-head
[root@node1 bin]# cd
[root@node1 ~]# cd /usr/local/src/
[root@node1 src]# tar zxf /mnt/elasticsearch-head.tar.gz
[root@node1 src]# cd elasticsearch-head/
[root@node1 elasticsearch-head]# npm install
修改Elasticsearch配置文件
[root@node1 ~]# vim /etc/elasticsearch/elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"
[root@node1 ~]# systemctl restart elasticsearch
启动服务
[root@node1 elasticsearch-head]# npm run start &
[root@node1 elasticsearch-head]# netstat -lnupt | grep 9100
tcp 0 0 0.0.0.0:9100 0.0.0.0:* LISTEN 50396/grunt
[root@node1 elasticsearch-head]# netstat -lnupt | grep 9200
tcp6 0 0 :::9200 :::* LISTEN 50023/java
通过elasticsearch-head查看elasticsearch信息。通过浏览器访问http://192.168.2.1:9100/,并连接群集
插入索引。通过命令插入一个测试索引,通过输出信息可以看到索引为index-demo,类型为test。
[root@node1 elasticsearch-head]# curl -XPUT 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'Content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'
查看效果
二,logstash安装及使用方法
注:logstash一般部署在需要监控其日志的服务器中,在本案例中,logstash部署在Apache服务器上,用于收集Apache服务器的日志信息并发送到Elasticsearch中。在正式部署之前,在Node1上部署Logstash,以熟悉logstash的使用方法。logstash也需要Java环境,所以安装之前也要检查当前机器的Java环境是否存在。
在node1上安装logstash
[root@node1 ~]# rpm -ihv /mnt/logstash-5.5.1.rpm
警告:/mnt/logstash-5.5.1.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID d88e42b4: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:logstash-1:5.5.1-1 ################################# [100%])
Using provided startup.options file: /etc/logstash/startup.options
Successfully created system startup script for Logstash
[root@node1 ~]# systemctl start logstash.service
[root@node1 ~]# ln -s /usr/share/logstash/bin/logstash /usr/local/bin/
测试logstash
logstash命令行中常用的命令选项如下:
-f:通过这个选项可以指定logstash的配置文件,根据配置文件配置logstash
-e:后面跟着字符串,该字符串可以被当做lgostash配置(如果是“ ”,则默认使用stdin作为输入,stdout作为输出)。
-t:测试配置文件是否正确,然后退出。
[root@node1 ~]# logstash -e 'input { stdin{} } output { elasticsearch { hosts=>["192.168.2.1:9200"] } }'
www.baidu.com
www.sina.com
www.google.com
查看logstash新增的索引
logstash配置文件
input {
fliter {...}
}
output {...}
下来修改logstash配置文件,让其收集系统日志/vcar/log/messages,并将其输出到elasticsearch中。
[root@node1 src]# chmod o+r /var/log/messages
[root@node1 src]# ll /var/log/messages
-rw----r--. 1 root root 107359 9月 2 03:23 /var/log/messages
[root@node1 ~]# vim /etc/logstash/conf.d/system.conf
input {
file {
path => "/var/log/messages"
type => "system"
start_position => "beginning"
}
}
output {
elasticsearch {
hosts => ["192.168.2.1:9200"]
index => "system-%{+YYYY.MM.dd}"
}
}
~
[root@node1 src]# systemctl restart logstash
最全的Linux教程,Linux从入门到精通
======================
-
linux从入门到精通(第2版)
-
Linux系统移植
-
Linux驱动开发入门与实战
-
LINUX 系统移植 第2版
-
Linux开源网络全栈详解 从DPDK到OpenFlow
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!