实时警报通知:微信告警通知的重要性解析
1060
2023-02-13
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查询工具。
有问题提出来一起交流。
发表评论
暂时没有评论,来抢沙发吧~