什么是 ELK
ELK
不是一款软件,而是Elasticsearch
、Logstash
和 Kibana
三种软件产品的首字母缩写。这三者都是开源软件,通常配合使用,而且又先后归于 Elastic.co 公司名下,所以被简称为 ELK Stack。根据 Google Trend 的信息显示,ELK Stack 已经成为目前最流行的集中式日志解决方案。
Elasticsearch
:分布式搜索和分析引擎,具有高可伸缩、高可靠和易管理等特点。基于 Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析操作。通常被用作某些应用的基础搜索引擎,使其具有复杂的搜索功能。Logstash
:数据收集引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置。Kibana
:数据分析和可视化平台。通常与 Elasticsearch 配合使用,对其中数据进行搜索、分析和以统计图表的方式展示。
简单的 ELK 架构
流程如下:
- 先使用
Filebeat
把日志收集起来,然后把数据再传给Logstash
; - 通过
Logstash
强大的数据清洗功能,最终把数据写入到Elasticsearch
中; - 由
Kibana
进行可视化。
Elasticsearch安装
前往官网下载,下载对应平台的软件包。
解压:
tar -zxvf ./elasticsearch-7.8.0-linux-x86_64.tar.gz
创建启动用户并启动应用:
adduser elasticsearch
passwd elasticsearch
chown -R elasticsearch elasticsearch-7.8.0
su elasticsearch
./elasticsearch-7.8.0/bin/elasticsearch -d
新版本会存在默认账号密码,默认账号为:elastic
,密码可查找:
sudo cat /var/log/elasticsearch/elasticsearch.log | grep "password"
或者重新设置密码:
./elasticsearch-7.8.0/bin/elasticsearch-reset-password -u elastic
访问9200查看是否安装成功。
Kibana安装
前往官网下载,下载对应平台的软件包。
解压:
tar -zxvf kibana-6.4.0-darwin-x86_64.tar.gz
修改config/kibana.yml
配置文件:
server.port: 5601
server.host: "0.0.0.0"
i18n.locale: "zh-CN"
启动服务:
nohup ./bin/kibana >kibana.out &
访问5601查看是否安装成功。
启动后需要配置密钥,在使用elasticsearch
目录bin文件夹下的elasticsearch-create-enrollment-token
生成:
./bin/elasticsearch-create-enrollment-token --scope kibana
填入生成的内容即可。
Logstash安装
暂时不需要安装。
Kibana添加Windows中Sysmon视图
Sysmon安装
将其放到同一路径,以管理员权限执行。
sysmon.exe -accepteula -i sysmonconfig-export.xml
更新配置文件命令为:
sysmon.exe -c sysmonconfig-export.xml
执行eventvwr
在事件查看器中的应用程序和服务日志
TOMicrosoft
TOWindows
TOSysmon
中查看。
Fleet安装
对于Server
端,在Kibana
界面Management
中的Fleet
中选择:添加Fleet
服务器。
填写服务器的名称和URL,会生成一段默认的下载和安装语句,安装即可。
curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.14.1-linux-x86_64.tar.gz
tar xzvf elastic-agent-8.14.1-linux-x86_64.tar.gz
cd elastic-agent-8.14.1-linux-x86_64
sudo ./elastic-agent install
--fleet-server-es=https://10.211.55.8:9200
--fleet-server-service-token=AAEAAWVsYXN0aWMvZmxlZXQtc2VydmVyL3Rva2VuLTE3MTkyOTkyMzE1NzM6X2NIUDZfb19TZ1dEWlcwa3JtVUREdw
--fleet-server-policy=fleet-server-policy
--fleet-server-es-ca-trusted-fingerprint=16cac27b7a2bd1eff1f9d935ab4a6bca1a2a92fcf96855b4ed8c6e7e6347b527
--fleet-server-port=8220
对于Agent
端,选择:添加代理,选择或创建新代理策略。
之后执行对应生成的语句。
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -Uri https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.14.1-windows-x86_64.zip -OutFile elastic-agent-8.14.1-windows-x86_64.zip
Expand-Archive .elastic-agent-8.14.1-windows-x86_64.zip -DestinationPath .
cd elastic-agent-8.14.1-windows-x86_64
.elastic-agent.exe install --url=https://10.211.55.8:8220 --enrollment-token=azRQRVRwQUJ3MFdKd21FNnJDRTc6eXJDRXV2cmlRbnFzd05lUlI1YkgtQQ== --insecure
注意在默认的生成语句后添加:--insecure
来解决证书的问题。
对于ARM
版Windows
可以使用msi进行安装,安装后利用enroll命令进行配置。
PS C:UsersshanjijianDesktop> .elastic-agent-8.14.1-windows-x86_64.msi
PS C:Program FilesElasticAgent> .elastic-agent.exe enroll --url=https://10.211.55.8:8220 --enrollment-token=azRQRVRwQUJ3MFdKd21FNnJDRTc6eXJDRXV2cmlRbnFzd05lUlI1YkgtQQ== --insecure
添加集成策略
选择Agent
的代理策略,选择添加集成,添加Windows
集成,在Discover
界面中选择创建数据视图。
填写名称,索引模式等信息,索引模式信息为:logs-windows.sysmon_operational-default
,添加完成后即可查看。
发表回复