ELK 安装和搭建

 

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

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

yum -y install elasticsearch-6.6.2.rpm

配置开机自启动

systemctl enable elasticsearch.service

开启服务

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,浏览器访问

 

 

 

 

 

 

 

posted @ 2020-05-12 20:56  洛暮卿  阅读(11546)  评论(0)    收藏  举报