如何在CentOS 7/Fedora 31/30/29上安装ELK Stack
如何在CentOS 7/Fedora 31/30/29上安装ELK Stack? ELK是" Elasticsearch,Logstash和Kibana"的首字母缩写。这些工具的简短说明将在下一部分中介绍。Elasticsearch:这是一个开源的,分布式,RESTful,基于JSON的搜索引擎。它具有可扩展性,易用性和灵活性Logstash:这是一个服务器端数据处理管道,可同时从多个源中提取数据,将其转换,然后将其发送到诸如Elasticsearch的存储中。
请按照以下步骤在CentOS 7/Fedora 31/30/29 Linux上安装和配置ELK堆栈工具。
安装Java
由于Elasticsearch依赖Java,因此我们需要在CentOS 7/Fedora系统上安装Java。
sudo yum -y install java-openjdk-devel java-openjdk
添加ELK存储库
安装Java后,添加提供ELK堆栈软件包的ELK堆栈存储库。
对于Elasticsearch 7.x
cat <<EOF | sudo tee /etc/yum.repos.d/elasticsearch.repo [elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF
对于Elasticsearch 6.x
cat <<EOF | sudo tee /etc/yum.repos.d/elasticsearch.repo [elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF
添加Repo后,导入GPG密钥:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
清除并更新YUM软件包索引。
sudo yum clean all sudo yum makecache
安装和配置Elasticsearch
Elasticsearch存储库已准备就绪,可以使用。我们可以使用以下命令安装Elasticsearch:
sudo yum -y install elasticsearch
确认软件包安装。
$rpm -qi elasticsearch Name : elasticsearch Epoch : 0 Version : 7.0.1 Release : 1 Architecture: x86_64 Install Date: Mon 06 Jan 2019 09:59:57 PM EAT Group : Application/Internet Size : 571521653 License : Elastic License Signature : RSA/SHA512, Mon 29 Apr 2019 05:14:11 PM EAT, Key ID d27d666cd88e42b4 Source RPM : elasticsearch-7.0.1-1-src.rpm Build Date : Mon 29 Apr 2019 04:06:59 PM EAT Build Host : packer-virtualbox-iso-1553723689 Relocations : /usr Packager : Elasticsearch Vendor : Elasticsearch URL : https://www.elastic.co/ Summary : Elasticsearch is a distributed RESTful search engine built for the cloud. Reference documentation can be found at https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html and the 'Elasticsearch: The Definitive Guide' book can be found at https://www.elastic.co/guide/en/elasticsearch/guide/current/index.html Description : Elasticsearch subproject :distribution:packages
我们可以通过编辑以下文件来设置JVM选项(例如内存限制):/etc/elasticsearch/jvm.options
。
下面的示例设置总堆空间的初始/最大大小
-Xms1g -Xmx1g
如果系统内存较少,则可以将其配置为使用较小的内存。
-Xms256m -Xmx512m
在启动时启动并启用elasticsearch服务:
$sudo systemctl enable --now elasticsearch.service Synchronizing state of elasticsearch.service with SysV service script with /usr/lib/systemd/systemd-sysv-install. Executing: /usr/lib/systemd/systemd-sysv-install enable elasticsearch Created symlink /etc/systemd/system/multi-user.target.wants/elasticsearch.service → /usr/lib/systemd/system/elasticsearch.service.
测试以验证其是否正常运行:
$curl http://127.0.0.1:9200 { "name" : "bBzN5Kg", "cluster_name" : "elasticsearch", "cluster_uuid" : "LKyqXXSvRvCpX9QAwKlP2Q", "version" : { "number" : "6.5.4", "build_flavor" : "default", "build_type" : "rpm", "build_hash" : "d2ef93d", "build_date" : "2016-12-17T21:17:40.758843Z", "build_snapshot" : false, "lucene_version" : "7.5.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
创建一个测试索引:
$curl -X PUT "http://127.0.0.1:9200/mytest_index" {"acknowledged":true,"shards_acknowledged":true,"index":"mytest_index"}
安装和配置Kibana
从添加的Elasticsearch存储库下载并安装Kibana。
sudo yum -y install kibana
成功安装后,配置Kibana:
$sudo vim /etc/kibana/kibana.yml server.host: "0.0.0.0" server.name: "kibana.example.com" elasticsearch.url: "http://localhost:9200"
根据需要更改其他设置,然后启动kibana服务:
sudo systemctl enable --now kibana
访问http://ip地址:5601以打开Kibana仪表板:
如果我们有活动的防火墙服务,请允许TCP端口" 5601"
sudo firewall-cmd --add-port=5601/tcp --permanent sudo firewall-cmd --reload
安装和配置Logstash
上一次安装是针对Logstash的。它将充当运行代理程序(如filebeat)的客户端系统的集中式日志服务器。
sudo yum -y install logstash
Logstash自定义配置可以放在/etc/logstash/conf.d/目录下。
有关更多详细信息,请参阅《 CheckLogstash配置手册》。
安装其他ELK工具
可以安装的其他ELK工具包括:Filebeat:轻量级日志发件人。通过提供一种转发和集中化日志和文件的轻量级方法,它可以简化简单的事情Metricbeat:从系统和服务中收集指标。从CPU到内存,从Redis到NGINX,等等,Metricbeat是一种发送系统和服务统计信息的轻量级方法。Packetbeat:用于网络数据的轻量级发货人心跳:用于正常运行时间监控的轻量级发货人。它可以通过主动探测来监视服务的可用性审计信号:轻量级的托运人,可以审核系统中用户和进程的活动
这些工具可以使用各自的名称与yum packagemanager一起安装。下面的示例将安装所有ELK插件工具。
sudo yum install filebeat auditbeat metricbeat packetbeat heartbeat-elastic
有关每种工具的配置和进一步阅读,请参阅官方的ELK堆栈文档以及教程。