ELK 部署指南

网友投稿 1060 2023-02-13

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

ELK 部署指南

Logstash是一个开源的用于收集,分析和存储日志的工具。 Kibana4用来搜索和查看Logstash已索引的日志的web接口。这两个工具都基于Elasticsearch。

注意:logstash-forwarder要被beats替代了,关注后续内容。后续会转到logstash+elasticsearch+beats上。

ELK架构如下:

本文将安装Elasticsearch-1.7.2, Logstash-1.5.5, Kibana-4.1.1。 请注意版本要求,有些组件需要响应的版本要求。

安装java

Elasticsearch和Logstash需要Java。

我这里是以RPM安装的。也可以自行下载tar包,注意设置java路径。

首先,要确保java环境安装正确,这一步搞不定,下面的无法进行。

安装Elasticsearch

RPM安装

tar包

tar包是二进制的,解压出来就可以使用。 还是建议使用RPM包安装,即使不想安装到系统默认路径,也可以通过--prefix=/usr/local安装到指定目录。

配置

1
2
3
4
# cd /usr/local/elasticsearch/
# vim config/elasticsearch.yml
path.data:/data/db
network.host:10.1.19.18

我这里是单台,最好弄成集群。

安装一些elasticsearch插件

1
# bin/plugin -install mobz/elasticsearch-head

还有一些插件自行安装,如bigdesk ,kopf  ,migration

migration 用来检测能否升级到elasticsearch最新版本。

安装Kibana

也可以配置系统启动脚本,这里提供下,有需要的自行修改。4.x 版本通用

配置nginx

密码验证自行配置,参见之前文章。

安装Logstash

创建ssl证书

logstash、logstash-forwarder 依赖这,必须的。用于Logstash Forwarder验证logstash身份。Logstash Forwarder上面只需公钥,logstash需要配置公钥、私钥。在logstash服务器上生成ssl证书。

创建ssl证书有两种方式,一种指定IP地址,一种指定fqdn(dns)。

使用那种方式都行,不过如果logstash服务端的IP地址变换了,证书不可用了。

配置logstash

logstash配置文件是以json格式设置参数的,配置文件位于/etc/logstash/conf.d目录下,配置包括三个部分:输入端,过滤器和输出。

首先,创建一个01-lumberjack-input.conf文件,设置lumberjack输入,Logstash-Forwarder使用的协议。

1
2
3
4
5
6
7
8
9
# vi /etc/logstash/conf.d/01-lumberjack-input.conf
input{
lumberjack{
port=>5043
type=>"logs"
ssl_certificate=>"/etc/pki/tls/certs/logstash-forwarder.crt"
ssl_key=>"/etc/pki/tls/private/logstash-forwarder.key"
}
}

再来创建一个11-nginx.conf用于过滤nginx日志

这个过滤器会寻找被标记为“nginx”类型(Logstash-forwarder定义的)的日志,尝试使用“grok”来分析传入的nginx日志,使之结构化和可查询。

type要与logstash-forwarder相匹配。

同时,注意将nginx日志格式设置成下面的:

日志格式不对,grok匹配规则要重写。

grok 匹配日志不成功,不要往下看了。搞对为止先。

最后,创建一文件,来定义输出。

定义结构化的日志存储到elasticsearch,对于不匹配grok的日志写入到文件。

注意,后面添加的过滤器文件名要位于01-99之间。因为logstash配置文件有顺序的。

在调试时候,先不将日志存入到elasticsearch,而是标准输出,以便排错。

同时,多看看日志,很多错误在日志里有体现,也容易定位错误在哪。

在启动logstash服务之前,最好先进行配置文件检测,如下:

1
2
# /opt/logstash/bin/logstash --configtest -f /etc/logstash/conf.d/*
Configuration OK

也可指定文件名检测,直到OK才行。不然,logstash服务器起不起来。

最后,就是启动logstash服务了。

安装logstash-forwarder

最后一步了。

需要将在安装logstash时候创建的ssl证书的公钥拷贝到每台logstash-forwarder服务器上。

配置logstash-forwarder

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# vi /etc/logstash-forwarder.conf
{
"network":{
"servers":["10.1.19.18:5043"],
"ssl ca":"/etc/pki/tls/certs/logstash-forwarder.crt",
"timeout":30
},
"files":[
{
"paths":["/alidata/logs/nginx/*-access.log"],
"fields":{"type":"nginx"}
}
]
}

这也是个json个是的配置文件。json格式不对logstash-forwarder服务是启动不起来的。

后面就是启动logstash-forwarder服务了。

当上面的所有都配置正确的话,就可以访问kibana来查看数据了。

kibana展示数据

kibana就是elasticsearch查询工具。

有问题提出来一起交流。

上一篇:移动公司数据告警处理(移动公司数据告警处理方法)
下一篇:网络智能运维平台架构师(网络运维经理)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~