ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。
Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。
Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。
前提:关闭防火墙和selinux
[root@bogon ~]# systemctl stop firewalld.service
[root@bogon ~]# setenforce 0
[root@bogon ~]#
系统优化:
1 [root@bogon ~]# vim /etc/security/limits.conf
2 [root@bogon ~]# cat /etc/security/limits.conf | grep -v "^#" | grep -v "^$"
3 * soft nproc 65535
4 * soft nofile 65535
5 * hard nproc 65535
6 * hard nofile 65535
7 [root@bogon ~]#
[root@bogon ~]# cat /etc/sysctl.conf | grep -v "^#"
vm.max_map_coun=655360
[root@bogon ~]#
三个组件都安装到一台服务器上
165:ES+kibana
190:logstash
1,安装jdk
[root@bogon ELK]# rpm -ivh jdk-8u131-linux-x64_.rpm
2 配置elasticsearch 的yum源
1 [root@bogon ELK]# vim /etc/yum.repos.d/elasticsearch.repo
2 [root@bogon ELK]# cat /etc/yum.repos.d/elasticsearch.repo
3 [elasticsearch-6.x]
4 name=Elasticsearch repository for 6.x packages
5 baseurl=https://artifacts.elastic.co/packages/6.x/yum
6 gpgcheck=1
7 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
8 enabled=1
9 autorefresh=1
10 type=rpm-md
11 [root@bogon ELK]#
安装elasticsearch
[root@bogon ELK]# yum -y install elasticsearch-6.6.2.rpm
配置开机自启动
[root@bogon ELK]# systemctl enable elasticsearch.service
开启服务
[root@bogon ELK]# systemctl start elasticsearch.service
验证服务是否启动
1 [root@bogon ELK]# netstat -lptnu | grep java
2 tcp6 0 0 127.0.0.1:9200 :::* LISTEN 16225/java
3 tcp6 0 0 ::1:9200 :::* LISTEN 16225/java
4 tcp6 0 0 127.0.0.1:9300 :::* LISTEN 16225/java
5 tcp6 0 0 ::1:9300 :::* LISTEN 16225/java
6 [root@bogon ELK]#
监听端口:
9200作为Http协议,主要用于外部通讯
9300作为Tcp协议,ES集群之间是通过9300进行通讯
修改配置文件:
1 [root@bogon ELK]# vim /etc/elasticsearch/elasticsearch.yml
2 [root@bogon ELK]# cat /etc/elasticsearch/elasticsearch.yml | grep -v '^#'
3 cluster.name: wg007
4 node.name: node-1
5 path.data: /var/lib/elasticsearch
6 path.logs: /var/log/elasticsearch
7 network.host: 192.168.136.190
8 http.port: 9200
9 [root@bogon ELK]#
日志文件路径:
1 [root@bogon ELK]# cd /var/log/elasticsearch/
2 [root@bogon elasticsearch]# pwd
3 /var/log/elasticsearch
4 [root@bogon elasticsearch]# ll
5 总用量 40
6 -rw-r--r--. 1 elasticsearch elasticsearch 0 5月 12 19:11 elasticsearch_access.log
7 -rw-r--r--. 1 elasticsearch elasticsearch 0 5月 12 19:11 elasticsearch_audit.log
8 -rw-r--r--. 1 elasticsearch elasticsearch 0 5月 12 19:11 elasticsearch_deprecation.log
9 -rw-r--r--. 1 elasticsearch elasticsearch 0 5月 12 19:11 elasticsearch_index_indexing_slowlog.log
10 -rw-r--r--. 1 elasticsearch elasticsearch 0 5月 12 19:11 elasticsearch_index_search_slowlog.log
11 -rw-r--r--. 1 elasticsearch elasticsearch 8297 5月 12 19:12 elasticsearch.log
12 -rw-r--r--. 1 elasticsearch elasticsearch 27115 5月 12 19:14 gc.log.0.current
13 -rw-r--r--. 1 elasticsearch elasticsearch 0 5月 12 19:17 wg007_access.log
14 -rw-r--r--. 1 elasticsearch elasticsearch 0 5月 12 19:17 wg007_audit.log
15 -rw-r--r--. 1 elasticsearch elasticsearch 0 5月 12 19:17 wg007_deprecation.log
16 -rw-r--r--. 1 elasticsearch elasticsearch 0 5月 12 19:17 wg007_index_indexing_slowlog.log
17 -rw-r--r--. 1 elasticsearch elasticsearch 0 5月 12 19:17 wg007_index_search_slowlog.log
18 -rw-r--r--. 1 elasticsearch elasticsearch 5627 5月 12 19:18 wg007.log
19 [root@bogon elasticsearch]#
开启:
tailf /var/log/elasticsearch/wg007.log
1 [root@bogon ~]# netstat -nlpt | grep java
2 tcp6 0 0 192.168.136.190:9200 :::* LISTEN 66889/java
3 tcp6 0 0 192.168.136.190:9300 :::* LISTEN 66889/java
4 [root@bogon ~]#
3,logstash 安装
配置logstash yum 源
yum -y install logstash-6.6.0.rpm
配置文件路径:/etc/logstash/
日志文件路径:/var/log/logstash/
编写收集日志的配置文件
1 [root@bogon ELK]# vim /etc/logstash/conf.d/system.conf
2 [root@bogon ELK]# cat /etc/logstash/conf.d/system.conf
3 input {
4 file {
5 path => "/var/log/messages"
6 type => "system-log"
7 start_position => "beginning"
8 }
9 }
10 output {
11 elasticsearch {
12 hosts => "192.168.136.190:9200"
13 index => "system_log-%{+YYYY.MM.dd}"
14 }
15 }
16 [root@bogon ELK]#
将/var/log/messages日志的权限修改
chmod -R 777 /var/log/messages
配置开机自启动
systemctl enable logstash.service
启动logstash服务
systemctl start logstash.service
监听端口:
tailf /var/log/logstash/
[root@bogon ~]# netstat -lptnu|grep java
tcp6 0 0 127.0.0.1:9600 :::* LISTEN 7712/java
[root@bogon ~]#
4,第一台继续做Kibana
yum -y install kibana-6.6.2-x86_64.rpm
配置kibana
1 [root@bogon ELK]# vim /etc/kibana/kibana.yml
2 [root@bogon ELK]# cat /etc/kibana/kibana.yml |grep -v "^#" |grep -v "^$"
3 server.port: 5601
4 server.host: "192.168.136.190"
5 elasticsearch.hosts: ["http://192.168.136.190:9200"]
6 [root@bogon ELK]#
启动服务
systemctl start kibana.service
[root@bogon ELK]# netstat -anlpt | grep :5601
tcp 0 0 192.168.136.190:5601 0.0.0.0:* LISTEN 71978/node
[root@bogon ELK]#
5,浏览器访问