④ 创建数据存放路径并授权 ⑤ 启动elasticsearch是否成功开启 ⑥ 查看node1和node2节点信息
⑦ 检查群集状态信息
3.安装 Elasticsearch-head 插件 ① 放入安装包并解压 ② 编译安装node ③ 安装 phantomjs ④ 安装 Elasticsearch-head 数据可视化工具 ⑤ 修改 Elasticsearch 主配置文件vim /etc/elasticsearch/elasticsearch.yml ⑥ 启动 elasticsearch-head 服务 ⑦ 通过 Elasticsearch-head 查看 Elasticsearch 信息 ⑧ 插入索引 ⑨ 访问测试 5.2 ELK Logstash 部署(在 Apache 节点上操作) Logstash 一般部署在需要监控其日志的服务器。在本案例中,Logstash 部署在 Apache 服务器上,用于收集 Apache 服务器的日志信息并发送到 Elasticsearch。 1.更改主机名 hostnamectl set-hostname apache 2.安装Apahce服务(httpd) yum -y install httpd systemctl start httpd 3.安装Java环境 yum -y install java java -version 4.安装logstash #上传软件包 logstash-5.5.1.rpm 到/opt目录下 cd /opt rpm -ivh logstash-5.5.1.rpm systemctl start logstash.service systemctl enable logstash.service ln -s /usr/share/logstash/bin/logstash /usr/local/bin/ 5.测试 Logstash Logstash 命令常用选项: -f:通过这个选项可以指定 Logstash 的配置文件,根据配置文件配置 Logstash 的输入和输出流。 -e:从命令行中获取,输入、输出后面跟着字符串,该字符串可以被当作 Logstash 的配置(如果是空,则默认使用 stdin 作为输入,stdout 作为输出)。 -t:测试配置文件是否正确,然后退出。 定义输入和输出流: #输入采用标准输入,输出采用标准输出(类似管道) logstash -e 'input { stdin{} } output { stdout{} }' ...... www.baidu.com #键入内容(标准输入) 2020-12-22T03:58:47.799Z node1 www.baidu.com #输出结果(标准输出) www.sina.com.cn #键入内容(标准输入) 2017-12-22T03:59:02.908Z node1 www.sina.com.cn #输出结果(标准输出) //执行 ctrl+c 退出 #使用 rubydebug 输出详细格式显示,codec 为一种编解码器 logstash -e 'input { stdin{} } output { stdout{ codec=>rubydebug } }' ...... www.baidu.com #键入内容(标准输入) { "@timestamp" => 2020-12-22T02:15:39.136Z, #输出结果(处理后的结果) "@version" => "1", "host" => "apache", "message" => "www.baidu.com" } #使用 Logstash 将信息写入 Elasticsearch 中 logstash -e 'input { stdin{} } output { elasticsearch { hosts=>["192.168.80.10:9200"] } }' 输入 输出 对接 ...... www.baidu.com #键入内容(标准输入) www.sina.com.cn #键入内容(标准输入) www.google.com #键入内容(标准输入) //结果不在标准输出显示,而是发送至 Elasticsearch 中,可浏览器访问 http://192.168.80.10:9100/ 查看索引信息和数据浏览。 6.定义 logstash配置文件 Logstash 配置文件基本由三部分组成:input、output 以及 filter(可选,根据需要选择使用)。 #格式如下: input {...} filter {...} output {...} #在每个部分中,也可以指定多个访问方式。例如,若要指定两个日志来源文件,则格式如下: input { file { path =>"/var/log/messages" type =>"syslog"} file { path =>"/var/log/httpd/access.log" type =>"apache"} } #修改 Logstash 配置文件,让其收集系统日志/var/log/messages,并将其输出到 elasticsearch 中。 chmod +r /var/log/messages #让 Logstash 可以读取日志 vim /etc/logstash/conf.d/system.conf input { file{ path =>"/var/log/messages" #指定要收集的日志的位置 type =>"system" #自定义日志类型标识 start_position =>"beginning" #表示从开始处收集 } } output { elasticsearch { #输出到 elasticsearch hosts => ["192.168.80.10:9200"] #指定 elasticsearch 服务器的地址和端口 index =>"system-%{+YYYY.MM.dd}" #指定输出到 elasticsearch 的索引格式 } } systemctl restart logstash 浏览器访问 http://192.168.80.10:9100/ 查看索引信息 5.2 ELK Logstash 部署的具体操作步骤 (在 Apache 节点上操作) 1.更改主机名 2.安装Apahce服务(httpd) 3.安装Java环境 4.安装logstash 5.测试 Logstash ① 定义输入和输出流:输入采用标准输入,输出采用标准输出(类似管道) ② 定义输入和输出流:使用 rubydebug 输出详细格式显示,codec 为一种编解码器 ③ 定义输入和输出流:使用 Logstash 将信息写入 Elasticsearch 中 ④ 浏览器访问 http://192.168.80.10:9100/ 查看索引信息和数据浏览 6.定义 logstash配置文件 ①修改配置 ② 重启服务 7.浏览器访问查看索引信息 ① 查看索引是否创建 ② 查看索引对应的日志文件 5.3 ELK Kiabana 部署(在 Node1 节点上操作) 1.安装 Kiabana #上传软件包 kibana-5.5.1-x86_64.rpm 到/opt目录 cd /opt rpm -ivh kibana-5.5.1-x86_64.rpm vim /etc/kibana/kibana.yml --2--取消注释,Kiabana 服务的默认监听端口为5601 server.port: 5601 --7--取消注释,设置 Kiabana 的监听地址,0.0.0.0代表所有地址 server.host: "0.0.0.0" --21--取消注释,设置和 Elasticsearch 建立连接的地址和端口 elasticsearch.url: "http://192.168.80.10:9200" --30--取消注释,设置在 elasticsearch 中添加.kibana索引 kibana.index: ".kibana" 3.启动 Kibana 服务 systemctl start kibana.service systemctl enable kibana.service netstat -natp | grep 5601 4.验证 Kibana 浏览器访问 http://192.168.80.10:5601 第一次登录需要添加一个 Elasticsearch 索引: Index name or pattern //输入:system-* #在索引名中输入之前配置的 Output 前缀“system” 单击 “create” 按钮创建,单击 “Discover” 按钮可查看图表信息及日志信息。 数据展示可以分类显示,在“Available Fields”中的“host”,然后单击 “add”按钮,可以看到按照“host”筛选后的结果 5.将 Apache 服务器的日志(访问的、错误的)添加到 Elasticsearch 并通过 Kibana 显示 vim /etc/logstash/conf.d/apache_log.conf input { file{ path => "/etc/httpd/logs/access_log" type => "access" start_position => "beginning" } file{ path => "/etc/httpd/logs/error_log" type => "error" start_position => "beginning" } } output { if [type] == "access" { elasticsearch { hosts => ["192.168.80.10:9200"] index => "apache_access-%{+YYYY.MM.dd}" } } if [type] == "error" { elasticsearch { hosts => ["192.168.80.10:9200"] index => "apache_error-%{+YYYY.MM.dd}" } } } cd /etc/logstash/conf.d/ /usr/share/logstash/bin/logstash -f apache_log.conf 浏览器访问 http://192.168.80.10:9100 查看索引是否创建 浏览器访问 http://192.168.80.10:5601 登录 Kibana,单击“Create Index Pattern”按钮添加索引, 在索引名中输入之前配置的 Output 前缀 apache_access-*,并单击“Create”按钮。在用相同的方法添加 apache_error-*索引。 选择“Discover”选项卡,在中间下拉列表中选择刚添加的 apache_access-* 、apache_error-* 索引, 可以查看相应的图表及日志信息。 5.3 ELK Kiabana 部署的具体操作步骤 (在 Node1 节点上操作) 1.安装 Kiabana 2.设置 Kibana 的主配置文件vim /etc/kibana/kibana.yml 3.启动 Kibana 服务 4.验证 Kibana ① 添加system索引 ② 单击 “Discover” 按钮可查看图表信息及日志信息 5.将 Apache 服务器的日志(访问的、错误的)添加到 Elasticsearch 并通过 Kibana 显示 ① 创建apache_log.conf文件 ② 启动添加到 Elasticsearch 6.浏览器访问http://192.168.80.30:5601 登录 Kibana测试 ① 使用宿主机进行访问,为了产生访问日志 ② 创建apache_access索引日志
③ 创建apache_error索引日志 ④ 选择“Discover”选项卡,在中间下拉列表中选择刚添加的 apache_access-* 、apache_error-* 索引, 可以查看相应的图表及日志信息。 5.4 Filebeat+ELK 部署 环境准备工作: 服务器类型 系统和IP地址 需要安装的组件 硬件方面 Node1节点 CentOS7.4(64 位) 192.168.80.10 Elasticsearch 、 Kibana 2核4G Node1节点 CentOS7.4(64 位) 192.168.80.20 Elasticsearch 2核4G Apache节点 CentOS7.4(64 位) 192.168.80.30 Logstash Apache 2核4G Filebeat节点 在 Node1 节点上操作 Filebeat 2核4G //在 Node1 节点上操作 1.安装 Filebeat #上传软件包 filebeat-6.2.4-linux-x86_64.tar.gz 到/opt目录 tar zxvf filebeat-6.2.4-linux-x86_64.tar.gz mv filebeat-6.2.4-linux-x86_64/ /usr/local/filebeat 2.设置 Kibana 的主配置文件 cd /usr/local/filebeat vim filebeat.yml filebeat.prospectors: - type: log #指定 log 类型,从日志文件中读取消息 enabled: true paths: - /var/log/messages #指定监控的日志文件 - /var/log/*.log fields: #可以使用 fields 配置选项设置一些参数字段添加到 output 中 service_name: filebeat log_type: log service_id: 192.168.80.13 --------------Elasticsearch output------------------- (全部注释掉) ----------------Logstash output--------------------- output.logstash: hosts: ["192.168.80.80:5044"] #指定 logstash 的 IP 和端口 #启动 filebeat ./filebeat -e -c filebeat.yml 3.在 Logstash 组件所在节点上新建一个 Logstash 配置文件 cd /etc/logstash/conf.d vim logstash.conf input { beats { port => "5044" } } output { elasticsearch { hosts => ["192.168.80.10:9200"] index => "%{[fields][service_name]}-%{+YYYY.MM.dd}" } stdout { codec => rubydebug } } #启动 logstash logstash -f logstash.conf 4.浏览器访问 http://192.168.80.10:5601 登录 Kibana,单击“Create Index Pattern”按钮添加索引“filebeat-*”,单击 “create” 按钮创建,单击 “Discover” 按钮可查看图表信息及日志信息。 5.4 Filebeat+ELK 部署 1.安装 Filebeat //在 Node1 节点上操作 2.设置 Kibana 的主配置文件 //在 Node1 节点上操作 ① 修改配置参数 ② 注释Elasticsearch output并指定 logstash 的 IP 和端口 ③ 启动 filebeat 3.在 Logstash 组件所在节点上新建一个 Logstash 配置文件(192.168.80.30) 使用logstash -f logstash.conf命令进行启动。 4.在 Node1 节点上操作,启动 filebeat 5.浏览器访问 http://192.168.80.30:5601 登录 Kibana测试, ① 单击“Create Index Pattern”按钮添加索引“filebeat-*”,单击 “create” 按钮创建,
② 单击 “Discover” 按钮可查看图表信息及日志信息。