
ELK是一个开源的产品,其官网是:https://www.elastic.co/
ELK主要保护三个产品:
Elasticsearch:是基于 JSON 的分布式搜索和分析引擎,专为实现水平扩展、高可用和管理便捷性而设计。
Logstash :是动态数据收集管道,拥有可扩展的插件生态系统,能够与 Elasticsearch 产生强大的协同作用。
Kibana :能够以图表的形式呈现数据,并且具有可扩展的用户界面,供您全方位配置和管理。
本文将介绍ELK三个组件的安装和配置,并介绍如何通过ELK监控Azure China的NSG Log。具体的拓扑结构如下:

最左边的Azure China上开启了Network Watcher功能,NSG的各种日志信息将发送到Azure Storage存储账户。
中间是ELK组件,包括上面提到的Logstash,并安装了Azure Blob的插件,Logstash会从指定的Azure存储账户获得NSG的log文件。Logstash把log获取后,以一定的格式发送到两台Elastic Search组成的集群。Kibana
一 环境准备
1 安装Java环境
本环境安装的是1.8.0的jdk:
2 修改hosts文件
3 修改iptables和selinux
二 Elasticsearch的安装和配置
1 添加YUM源
导入key:
添加YUM源文件:
2 安装elasticsearch
3 配置elasticsearch
在node2上的node.name配置成node2
4 启动elasticsearch

可以看到访问是running状态。
通过netstat -tunlp查看ES的端口9200和9300是否启动:

通过下面的命令查看节点信息:


其中*号的标识是master节点。
当然通过浏览器也可以浏览相应的信息:

日志在配置文件中定义的/var/lib/elasticsearch内,可以查看这里ES启动是否正常。
三 logstash的安装
Logstash是整个ELK安装过程中比较复杂的一个。具体安装配置过程如下:
1 安装logstash
Logstash可以安装在一个节点上,也可以安装在多个节点上。本文将安装在node1上:
2 配置logstash
3 更改logstash相关文件的权限
在安装的过程中会发现logstash安装后,其文件的权限设置有问题,需要把相关的文件和文件夹的设置正确:
3 配置pipeline
Logstash的相关培训和文档可以在elk的官网上找到,简单来说,logstash包含input,filter和output几个区域,其中input和output是必须配置的。java下载安装
以官网教程https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html 为例:


将filebeat作为输入组件的例子:
安装filebeat:
下载demo文件:
配置filebeat:
配置pipeline文件:
测试配置:
通过netstat -tunlp可以看到5044端口已经打开,等待filebeatd 输入。
运行filebeat:
需要注意的是,在第二次运行时,需要删除register文件:
此时可以看到logstash的console有日志输出,定义的文件也有记录。格式如下:

更改input,改为文件输入:
可以看到新增加的日志会输出到logstash的console,同时记录到output.out文件中。java下载安装
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/sanxing/article-76590-1.html
送测
北京