这篇“Centos7上怎么安装Elastic Stack”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Centos7上怎么安装Elastic Stack”文章吧。

ElasticStack 是一系列开源产品的合集,包括 Elasticsearch、Kibana、Logstash 以及 Beats 等,能够安全可靠地获取任何来源、任何格式的数据,并且能够实时地对数据进行搜索、分析和可视化。

Elastic Stack所需环境条件

64位的CentOS7,4GB内存-elk主控机64位的CentOS7,1GB内存-客户端164位的Ubuntu16,1GB内存-客户端2步骤 1 – 操作系统初始化

禁用 CentOS 7 服务器上的 SELinux

我们将禁用 CentOS 7 服务器上的 SELinux。 编辑 SELinux 配置文件。

vim/etc/sysconfig/selinux将SELINUX的值从enforcing改成disabledSELINUX=disabled然后重启服务器:reboot再次登录服务器并检查SELinux状态。getenforcedisabled步骤 2 – 安装 Java环境

部署 Elastic stack 依赖于Java,Elasticsearch 需要 Java 8 版本,推荐使用 Oracle JDK 1.8 。从官方的 Oracle rpm 包安装 Java 8。

wgethttp://download.oracle.com/otn-pub/java/jdk/8u77-b02/jdk-8u77-linux-x64.rpm\\下载java8的版本rpm-ivhjdk-8u77-linux-x64.rpm\\rpm安装jdk环境java-version\\查看java的版本检查能否工作步骤 3 – 安装和配置 Elasticsearch

在此步骤中,我们将安装和配置 Elasticsearch。 从 elastic.co 网站提供的 rpm 包安装 Elasticsearch,并将其配置运行在 localhost 上(以确保该程序安全,而且不能从外部访问)。

将 elastic.co 的密钥添加到服务器

elastic.co网站是一个https的网站(私有证书),我们需要添加证书秘钥才能安全的顺利下载。

rpm--importhttps://artifacts.elastic.co/GPG-KEY-elasticsearch

下载安装 Elasticsearch 5.1

wgethttps://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.1.1.rpmrpm-ivhelasticsearch-5.1.1.rpm

安装完成后我们编辑配置文件

配置文件名称:elasticsaerch.yml

cd/etc/elasticsearch/vimelasticsearch.ymlbootstrap.memory_lock:true\\去掉第40行的注释,启用Elasticsearch的内存锁。这将禁用Elasticsearch的内存交换。network.host:localhosthttp.port:9200\\在Network块中,取消注释network.host和http.port行。

编辑 elasticsearch.service 文件的内存锁配置。

vim/usr/lib/systemd/system/elasticsearch.serviceMAX_LOCKED_MEMORY=unlimited\\去掉第60行的注释,确保该值为unlimited。

设置服务启动

Elasticsearch监听端口号9200,启用 CentOS 服务器上启用mlockall 来禁用内存交换,设置Elasticsearch开机自启动,然后启动服务。

sudosystemctldaemon-reloadsudosystemctlenableelasticsearchsudosystemctlstartelasticsearch

检查对外监听端口:

netstat-plntu

内存锁启用 mlockall,检查 Elasticsearch 是否正在运行。

curl-XGET'localhost:9200/_nodes?filter_path=**.mlockall&pretty'curl-XGET'localhost:9200/?pretty'

步骤 4 – 安装和配置 Kibana 和 Nginx

先安装Kibana,然后安装nginx,最后设置nginx反向代理kibana

安装并配置Kibana

wgethttps://artifacts.elastic.co/downloads/kibana/kibana-5.1.1-x86_64.rpmrpm-ivhkibana-5.1.1-x86_64.rpm

编辑 Kibana 配置文件。

vim/etc/kibana/kibana.yml在配置文件中找的一下三行,修改配置server.port:5601server.host:"localhost"elasticsearch.url:"http://localhost:9200"

将 Kibana 设为开机启动

sudosystemctlenablekibanasudosystemctlstartkibana

检查Kibana 对外监听端口 5601 确保其正常启动。

netstat-plntu

安装并配置nginx服务器

yum-yinstallepel-releasenginx服务的yum包在epel包中可以找的直接yum安装yum-yinstallnginxhttpd-tools

httpd-tools 软件包包含 Web 服务器的工具,可以为 Kibana 添加 htpasswd 基础认证。

编辑 Nginx 配置文件并删除 server {}模块,这样我们添加新的虚拟主机配置。

cd/etc/nginx/vimnginx.conf\\删除server{}块。

创建kibana.conf的虚拟主机:

vim/etc/nginx/conf.d/kibana.confserver{listen80;server_nameelk-stack.co;auth_basic"RestrictedAccess";auth_basic_user_file/etc/nginx/.kibana-user;location/{proxy_passhttp://localhost:5601;proxy_http_version1.1;proxy_set_headerUpgrade$http_upgrade;proxy_set_headerConnection'upgrade';proxy_set_headerHost$host;proxy_cache_bypass$http_upgrade;}}

使用 htpasswd 命令创建一个新的基本认证文件。

sudohtpasswd-c/etc/nginx/.kibana-useradmin“输入你的密码”

启动 Nginx。

nginx-tsystemctlenablenginxsystemctlstartnginx

步骤 5 – 安装和配置 Logstash

在此步骤中,我们将安装 Logstash,并将其配置为:从配置了 filebeat 的 logstash 客户端里集中化服务器的日志,然后过滤和转换 Syslog 数据,并将其移动到存储中心(Elasticsearch)中。

下载 Logstash 并使用 rpm 进行安装。

wgethttps://artifacts.elastic.co/downloads/logstash/logstash-5.1.1.rpmrpm-ivhlogstash-5.1.1.rpm

生成新的 SSL 证书文件,以便客户端可以识别 elastic 服务端。

cd/etc/pki/tls\\进入tls目录并编辑openssl.cnf文件。vimopenssl.cnf在[v3_ca]部分添加服务器标识。[v3_ca]#ServerIPAddresssubjectAltName=IP:10.0.15.10

使用 openssl 命令生成证书文件。

opensslreq-config/etc/pki/tls/openssl.cnf-x509-days3650-batch-nodes-newkeyrsa:2048-keyout/etc/pki/tls/private/logstash-forwarder.key-out/etc/pki/tls/certs/logstash-forwarder.crt

证书文件可以在 /etc/pki/tls/certs/ 和 /etc/pki/tls/private/ 目录中找到。

接下来,我们会为 Logstash 创建新的配置文件。创建一个新的 filebeat-input.conf 文件来为 filebeat 配置日志源,然后创建一个 syslog-filter.conf 配置文件来处理 syslog,再创建一个 output-elasticsearch.conf 文件来定义输出日志数据到 Elasticsearch。

转到 logstash 配置目录,并在 conf.d 子目录中创建新的配置文件。

cd/etc/logstash/vimconf.d/filebeat-input.conf输入配置,粘贴以下配置:input{beats{port=>5443ssl=>truessl_certificate=>"/etc/pki/tls/certs/logstash-forwarder.crt"ssl_key=>"/etc/pki/tls/private/logstash-forwarder.key"}}

创建 syslog-filter.conf 文件

vimconf.d/syslog-filter.conf粘贴以下配置:filter{if[type]=="syslog"{grok{match=>{"message"=>"%{SYSLOGTIMESTAMP:syslog_timestamp}%{SYSLOGHOST:syslog_hostname}%{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?:%{GREEDYDATA:syslog_message}"}add_field=>["received_at","%{@timestamp}"]add_field=>["received_from","%{host}"]}date{match=>["syslog_timestamp","MMMdHH:mm:ss","MMMddHH:mm:ss"]}}}我们使用名为grok的过滤器插件来解析syslog文件。

创建输出配置文件 output-elasticsearch.conf。

vimconf.d/output-elasticsearch.confoutput{elasticsearch{hosts=>["localhost:9200"]hosts=>"localhost:9200"manage_template=>falseindex=>"%{[@metadata][beat]}-%{+YYYY.MM.dd}"document_type=>"%{[@metadata][type]}"}}

启动logstash服务

sudosystemctlenablelogstashsudosystemctlstartlogstash

步骤 6 – 在 CentOS 客户端上安装并配置 Filebeat

Beat 作为数据发送人的角色,是一种可以安装在客户端节点上的轻量级代理,将大量数据从客户机发送到 Logstash 或 Elasticsearch 服务器。有 4 种 beat,Filebeat 用于发送“日志文件”,Metricbeat 用于发送“指标”,Packetbeat 用于发送“网络数据”,Winlogbeat 用于发送 Windows 客户端的“事件日志”。

在本教程中,我将向您展示如何安装和配置 Filebeat,通过 SSL 连接将数据日志文件传输到 Logstash 服务器。

登录到客户端1的服务器上。 然后将证书文件从 elastic 服务器复制到客户端1的服务器上。

sshroot@client1IPscproot@elk-serverIP:~/logstash-forwarder.crt......sudomkdir-p/etc/pki/tls/certs/mv~/logstash-forwarder.crt/etc/pki/tls/certs/

接下来,在客户端 1 服务器上导入 elastic 密钥。

rpm--importhttps://artifacts.elastic.co/GPG-KEY-elasticsearch下载Filebeat并且用rpm命令安装。wgethttps://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.1.1-x86_64.rpmrpm-ivhfilebeat-5.1.1-x86_64.rpm

Filebeat 已经安装好了,请转到配置目录并编辑 filebeat.yml 文件。

cd/etc/filebeat/vimfilebeat.yml\\在第21行的路径部分,添加新的日志文件。我们将创建两个文件,记录ssh活动的/var/log/secure文件,以及服务器日志/var/log/messages:paths:-/var/log/secure-/var/log/messages\\在第26行添加一个新配置来定义syslog类型的文件:document-type:syslog\\在83行和85行添加注释来禁用Elasticsearch输出,更改为Logshtash:-------------------------------------------------------------------------------------#--------------------------Elasticsearchoutput------------------------------#output.elasticsearch:#Arrayofhoststoconnectto.#hosts:["localhost:9200"]--------------------------------------------------------------------------------------------------------现在添加新的logstash输出配置--------------------------------------output.logstash:#TheLogstashhostshosts:["10.0.15.10:5443"]bulk_max_size:1024ssl.certificate_authorities:["/etc/pki/tls/certs/logstash-forwarder.crt"]template.name:"filebeat"template.path:"filebeat.template.json"template.overwrite:false--------------------------------------------------------------------------------------

PS:Filebeat 默认使用 Elasticsearch 作为输出目标。 在本教程中,我们将其更改为 Logshtash。

将 Filebeat 设定为开机启动并启动。

sudosystemctlenablefilebeatsudosystemctlstartfilebeat步骤 7 – 在 Ubuntu 客户端上安装并配置 Filebeat

从服务端拷贝证书文件

sshroot@ubuntu-clientIPscproot@elk-serverIP:~/logstash-forwarder.crt........sudomkdir-p/etc/pki/tls/certs/mv~/logstash-forwarder.crt/etc/pki/tls/certs/

在服务器上导入 elastic 密钥。

wget-qO-https://artifacts.elastic.co/GPG-KEY-elasticsearch|sudoapt-keyadd-

下载 Filebeat .deb 包并且使用 dpkg 命令进行安装。

wgethttps://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.1.1-amd64.debdpkg-ifilebeat-5.1.1-amd64.deb

转到配置目录并编辑 filebeat.yml 文件。

cd/etc/filebeat/vimfilebeat.yml\\在第21行的路径部分,添加新的日志文件。我们将创建两个文件,记录ssh活动的/var/log/secure文件,以及服务器日志/var/log/messages:paths:-/var/log/secure-/var/log/messages\\在第26行添加一个新配置来定义syslog类型的文件:document-type:syslog\\在83行和85行添加注释来禁用Elasticsearch输出,更改为Logshtash:-------------------------------------------------------------------------------------#--------------------------Elasticsearchoutput------------------------------#output.elasticsearch:#Arrayofhoststoconnectto.#hosts:["localhost:9200"]--------------------------------------------------------------------------------------------------------现在添加新的logstash输出配置--------------------------------------output.logstash:#TheLogstashhostshosts:["10.0.15.10:5443"]bulk_max_size:1024ssl.certificate_authorities:["/etc/pki/tls/certs/logstash-forwarder.crt"]template.name:"filebeat"template.path:"filebeat.template.json"template.overwrite:false--------------------------------------------------------------------------------------

PS:Filebeat 默认使用 Elasticsearch 作为输出目标。 在本教程中,我们将其更改为 Logshtash。

将 Filebeat 设定为开机启动并启动。

sudosystemctlenablefilebeatsudosystemctlstartfilebeat

检查服务状态:

systemctlstatusfilebeat步骤 8 – 测试

打开您的网络浏览器,并访问您在 Nginx 中配置的 elastic stack 域名,我的是“elk-stack.co”。 使用管理员密码登录,然后按 Enter 键登录 Kibana 仪表盘。

创建一个新的默认索引 filebeat-*,然后点击“创建”按钮。

默认索引已创建。 如果 elastic stack 上有多个 beat,您可以在“星形”按钮上点击一下即可配置默认 beat。

转到 “发现” 菜单,您就可以看到 elk-client1 和 elk-client2 服务器上的所有日志文件。

来自 elk-client1 服务器日志中的无效 ssh 登录的 JSON 输出示例。

使用其他的选项,你可以使用 Kibana 仪表盘做更多的事情。

以上就是关于“Centos7上怎么安装Elastic Stack”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。