EKL的部署安装收集系统日志-7.1.1

简介

ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana

Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等

Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去

Kibana可以为 Logstash ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志

FileBeat,它是一个轻量级的日志收集处理工具(Agent)Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具

 

此实验将ELK安装在两台虚拟机上

ELK版本6.6.0

环境准备

虚拟机:centos 7 两台

A192.168.5.108

B192.168.5.109

同步时间(两台都做):

yum -y install ntpdate

ntpdate  0.cn.pool.ntp.org

若上面的时间服务器不可用,可选择以下服务器同步时间

time.nist.gov

time.nuri.net

0.asia.pool.ntp.org

1.asia.pool.ntp.org

2.asia.pool.ntp.org

3.asia.pool.ntp.org

或用此命令同步时间

ntpdate –u 210.72.145.44

ntpdate –u Ntp.api.bz

关闭防火墙与selinux

systemctl stop firewalld

setenforce 0

下载安装包

下载地址:

JDK:https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html

ELK: https://www.elastic.co/cn/downloads/past-releases

上传ElasticsearchKibanaJDK安装包至A

上传LogstashJDK安装包至B

安装JDK环境(两台都做)

 

下载地址:

 

JDK:https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html

 

ELK: https://www.elastic.co/cn/downloads/past-releases

 

上传ElasticsearchKibanaJDK安装包至A

 

上传LogstashJDK安装包至B

 

安装JDK环境(两台都做)

 

最后用java -version验证一下。

开始安装

elasticsearch配置和启动

安装elasticsearch

rpm -ivh elasticsearch-7.1.1-x86_64.rpm

安装完之后我们执行一下

ulimit -n 655360

ulimit -n 655360 将每个进程可以打开的文件数目加大到655360

然后我们配置一下 /etc/sysctl.conf文件

vim /etc/sysctl.conf

然后我们执行一下

sysctl –p

  -p   从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载

1, sysctl命令的作用
     在运行时配置内核参数
2,用法举例:
      -w 用此选项来改变一个sysctl设置
     例:sysctl -w net.ipv4.ip_forward=1
     -p   载入sysctl配置文件
           如-p后未指定路径,则载入 /etc/sysctl.conf
     例: sysctl -p /etc/sysctl.conf

修改配置文件,配置监听地址:

vim /etc/elasticsearch/elasticsearch.yml

首先把23行注释去掉

然后我们把第55行注释去掉并且修改成服务器IP,然后第61行 写在那里都行,然后是官方对于最新版本的一个要求,不知道什么意思。

action.auto_create_index: .monitoring*,.watches,.triggered_watches,.watcher-history*,.ml*

然后在第73行必须写成这个格式,最后把90.91行加到最后,保存退出

然后启动elasticsearch

systemctl start elasticsearch

稍等一分钟,启动成功后可以查看到9200端口处于监听状态用ss -ntl命令查看。

然后我们试一下http://192.168.10.10:9200/

 

logstash配置收集系统日志:(客户端)

rpm -ivh logstash-7.1.1.rpm

logstash是用来收集日志,并对日志做过滤处理的,我们下面要分析的是系统日志,所以要编写一个收集日志的配置文件

vim /etc/logstash/conf.d/system.conf

input {
file {
path => "/var/log/messages"
type => "systemlog"
start_position => "beginning"
}
}
output {
elasticsearch {
hosts => ["192.168.10.10:9200"]
index => "logstash-systemlog-%{+YYYY.MM.dd}"
}
}
~

input日志输入模块:日志的获取方式和路径

数据往往以各种各样的形式,或分散或集中地存在于很多系统中。Logstash 支持各种输入选择 ,可以在同一时间从众多常用来源捕捉事件。能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据。

 

file日志的过滤模块:数据从源传输到存储库的过程中,Logstash 过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成通用格式,以便更轻松、更快速地分析和实现商业价值。

output日志的输出模块:导出你的数据

尽管 Elasticsearch 是我们的首选输出方向,能够为我们的搜索和分析带来无限可能,但它并非唯一选择。

 

Logstash 提供众多输出选择,可以将数据发送到指定的地方,并且能够灵活地解锁众多下游用例

 

我们这里是从本地某个目录下以文件的形式获取的日志,并且没有过滤讲日志直接输出给了elasticsearch

 

这里为了测试,将/var/log/messages日志的权限修改为了644,因为logstash是以logstash用户的身份运行的,不改权限是读取不了日志内容的

 

改权限

 

chmod 644 /var/log/messages

启动logstash

systemctl start logstash

稍等1分钟后可以查看9600端口是否监听

若未监听可以查看日志是否有错误

tail -f /var/log/logstash/logstash-plain.log

虚拟机内存过小也会导致logstash启动失败

 

kibana配置启动(服务端)

 

安装kibana

 

rpm -ivh kibana-7.1.1-x86_64.rpm

配置监听地址和elasticsearchip

vim /etc/kibana/kibana.yml

修改第二行,第7行,第28行参数,然后保存退出,

重启服务

查看5601端口是否监听,监听后直接访问即可

 输入网址http://192.168.10.10:5601

收集系统日志

给系统添加索引

给系统日志添加可视化图形

 

 

选择X轴为绘画日期的柱状图,然后点击开始获取数据

 

 

posted @ 2019-05-29 16:44  花神很优秀  阅读(1440)  评论(0)    收藏  举报