48小时系统班试听入口

ELK日志分析系统配置方法,超详细!

发布作者:新盟教育 发布日期:2022-01-27 浏览人数:53113人

运维工程师不可错过

图片1.png




一、案例环境

配置ELK日志分析系统




  • 配置和安装ELK日志分析系统,安装集群方式,2个elasticsearch节点,并监控apache服务器日志。


环境搭建:



image.png




01

配置弹性搜索环境




登录节点1



1.关闭防护墙,关闭核心防护(三台服务器都要配置)
[root@localhost ~]# systemctl stop firewalld[root@localhost ~]# setenforce 0
2.更改主机名(两台服务器修改为node1和node2)
[root@localhost ~]# hostnamectl set-hostname node1            ##更改主机名[root@localhost ~]# su                                        ##刷新
3.添加hosts文件,作映射(两个服务器都要设置)
[root@node1 ~]# vi /etc/hosts20.0.0.30 node120.0.0.31 node2
4.检查java环境[root@node1 ~]# java -versionopenjdk version "1.8.0_131"OpenJDK Runtime Environment (build 1.8.0_131-b12)OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)



node2和node1一样的设置,把名称修改即可



02

部署elasticsearch软件




###登录20.0.0.30### node1



1.安装elasticsearch---rpm包上传elasticsearch-5.5.0.rpm包到/opt目录下[root@node1]# cd /opt[root@node1 opt]# rpm -ivh elasticsearch-5.5.0.rpm 
2.加载系统服务
[root@node1 opt]# systemctl daemon-reload        ##重载系统参数[root@node1 opt]# systemctl enable elasticsearch.service
3.更改elasticsearch主配置文件
[root@node1 opt]# cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak  ##备份配置文件[root@node1 opt]# vim /etc/elasticsearch/elasticsearch.ymlshift+:  输入 set nu  显示行号



下面每一行都要去掉注释(#)


image.png



创建数据库存放路径并授权



[root@node1 opt]# mkdir  -p  /data/elk_data


rpm装 elasticsearch程序时它默认给你创建了一个用户[root@node1 opt]# id elasticsearch            ##查看用户    (这个用户专门管理es)uid=990(elasticsearch) gid=985(elasticsearch) 组=985(elasticsearch)
将这个文件授权给这个用户[root@node1 opt]# chown  elasticsearch:elasticsearch /data/elk_data/



启动elasticsearch


[root@node1 opt]# systemctl start elasticsearch.service 
[root@node1 opt]# netstatantp | grep 9200
tcp6       0      0 :::9200                 :::*       LISTEN      42606/java



测试

查看节点信息 用真机的阅览器打开:

http://20.0.0.30:9200


1.png


nodel2配置和以上一样


【集群检查健康和状态】

在真机浏览器打开

http://20.0.0.30:9200/_cluster/health?pretty



2.png



【检查群集状态信息】

在真机浏览器打开

http://20.0.0.30:9200/_cluster/state?pretty



3.png




03

安装elasticsearch-head插件


  • 上述查看集群的方式,及其不方便,我们可以通过安装elasticsearch-head 插件后,来管理。


##20.0.0.30 node1 主机##

上传node-v8.2.1.tar.gz到/opt



[root@node1 opt]# yum install gcc gcc-c++ make -y



1.编译安装node组件依赖包(安装时间较长!)


image.png


2.安装幻影js##前端框架

上传软件包到/usr/local/src

image.png




3.安装elasticsearch-head 数据可视化工具

image.png



4.修改主配置文件

image.png


5.启动弹性搜索头启动服务器

image.png

image.png


node2 主机配置和node1一样


###真机上打开浏览器输入

http://20.0.0.30:9100/

可以看见群集很健康是绿色的##

在 Elasticsearch 后面的栏目中输入

http://20.0.0.30:9200


然后点击连接 会发现

node1 信息动作

node2 信息动作


【登录20.0.0.30 node1 主机 #### 索引为index-demo,类型test,可以看到成功创建】

image.png




04

安装logstash并做一些日志搜集输出到elasticsearch中




登录主机 20.0.0.32


1.更改主机名[root@localhost ~]# hostnamectl set-hostname apache [root@localhost ~]# su
2.安装Apache服务(httpd)[root@apache ~]# yum -y install httpd[root@apache ~]# systemctl  start httpd3.安装java环境[root@apache ~]# java  -versionopenjdk version "1.8.0_131"OpenJDK Runtime Environment (build 1.8.0_131-b12)OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
4.安装logstash上传logstash-5.5.1.rpm到/opt目录下[root@apache opt]# cd /opt [root@apache opt]# rpm -ivh logstash-5.5.1.rpm [root@apache opt]# systemctl start logstash.service [root@apache opt]# systemctl enable logstash.service Created symlink from /etc/systemd/system/multi-user.target.wants/logstash.service to /etc/systemd/system/logstash.service.[root@apache opt]# ln -s /usr/share/logstash/bin/logstash /usr/local/bin


image.png


对接测试

image.png



输入采用 标准输入 输出采用标准输出

登录20.0.0.32 在apache 服务器上

image.png



使用rubydebug显示详细输出,codec为一种编解码器


[root@apache httpd]# logstash -e 'input { stdin{} } output{ stdout{ codec=>rubydebug } }'  ##codec就是将输入的日志文件修改为rubydebug的这种格式  www.baidu.com    ###输入  详细显示如下:{    "@timestamp" => 2020-10-29T04:17:32.647Z,        "@version" => "1",          "host" => "apache",       "message" => "www.baidu.com"}
###使用logstash将信息写入elasticsearch中### 输入  输出  对接logstash  -e 'input { stdin{} } output { stdout{ codec=>rubydebug } }'。。。。省略。。。。www.baidu.com   ###输入内容
###使用logstash将信息写入elasticsearch中####[root@apache opt]# logstash -e 'input { stdin{} } output { elasticsearch { hosts=>["20.0.0.26:9200"] } }'。。。。省略。。。。输入:www.baidu.com



登录20.0.0.30 真机

image.png



【登录20.0.0.32 apache主机 做对接配置】

###logstash配置文件###

Logstash配置文件主要由三部分组成:

输入,输出,滤波器(根据需要)


root@apache opt]# chmod o+r /var/log/messages    ##给与其它用户只读权限[root@apache opt]# ll /var/log/messages-rw----r--. 1 root root 1657402 10月 29 13:57 /var/log/messages

[root@apache opt]# vi /etc/logstash/conf.d/system.conf     ##进去添加input {file{path => "/var/log/messages"type => "system"start_position => "beginning"}}output {elasticsearch {hosts => ["20.0.0.30:9200"]index => "system-%{+YYYY.MM.dd}"}}[root@apache opt]# systemctl restart logstash.service




05

安装kibana

image.png



登录真机

image.png


image.png


image.png



【切换到apache主机】


cd /etc/logstash/conf.d/[root@apache conf.d]# vim 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 => ["20.0.0.30:9200"]         index => "apache_access-%{+YYYY.MM.dd}"         }        }        if [type] == "error" {        elasticsearch {         hosts => ["20.0.0.30:9200"]         index => "apache_error-%{+YYYY.MM.dd}"         }        }} [root@apache conf.d]# /usr/share/logstash/bin/logstash -f apache_log.conf




06

测试


真机访问20.0.0.30:9100连接http://20.0.0.30:9200/可以看到索引信息多了两条apache_error-2020.10.29apache_access-2020.10.29

再开一个网页访问20.0.0.30:5601##添加索引:##左边选项最后一个Management ----> Index Patterns ---->Create Index Pattern分别创建 apache_access-* 和 apache_error-* 的索引



推荐阅读

>>>Linux运维零基础入门第一课 - 云计算是什么,如何定义

>>>Docker容器使用-Linux运维红帽RHCE零基础入门课

>>>Linux运维工程师年薪30w?为什么他可以我不行?行业概述

>>>红帽RHCE认证教程之shell脚本基础入门


 运维界升职加薪必备的云计算技术,你学了吗?


学完高级运维云计算课程之后,你可以:


  • 跨越90%企业的招聘硬门槛

  • 增加70%就业机会

  • 拿下BAT全国TOP100大厂敲门砖

  • 体系化得到运维技术硬实力

  • 技术大佬年薪可达30w+


 资源放送 

2021新版Linux运维高级云计算-红帽RHCE实战课程合集,扫描下方二维码即可领取!

3b99023ad37e06ae332d36d33a9e569.png


客服电话 15822722968 邮箱 799830458@qq.com 地址 天津市红桥区光荣道157号宝能创业中心2号楼-1、2门-907号
官方公众号
商务合作