目录
配置Elasticsearch环境(Node1 Node2)
部署安装Elasticsearch软件(Node1 Node2)
安装Elasticsearch-head插件(Node1 Node2)
使用 rubydebug 输出详细格式显示,codec 为一种编解码器
使用 Logstash 将信息写入 Elasticsearch 中
定义logstash配置文件 做对接配置(logstas—>ES)
将 Apache 服务器的日志(访问的、错误的)添加到 Elasticsearch 并通过 Kibana 显示
一、概述
日志分析是运维工程师解决系统故障,发现、定位问题的主要途径。日志主要包括系统日志、应用程序日志和安全日志
系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志 可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。
PS(话术):elk 日志分析的工具(一般会给研发/开发+测试使用),管理的权限范围,不一定所有人全有 通常,日志被分散的储存在不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法 查阅日志,即繁琐又效率低下。为此,我们可以使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。 集中化管理日志后,日志的 统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实 现检索和统计,但是对于更高要求的查询、排序和统计等,再加上庞大的机器数量,使用这样的方法依然难免有点力不从心。
开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由 ElasticSearch、Logstash 和Kiabana 三个开源工具组成。
官方网站:Elastic Products: Search, Analytics, Logging, and Security | Elastic
-
Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本(replicat)机制,restful风格接口,多数据源,自动搜索负载等。
-
Logstash 是一个完全开源的工具,它可以对你的日志进行收集、过滤,并将其存储,供以后使用(如,搜索)。
-
Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供友好的日志分析Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
二、配置ELK日志分析系统
配置和安装ELK日志分析系统,安装集群方式,2个elasticsearch节点,并监控apache服务器日志
主机 | 操作系统 | 主机名 | IP地址 | 主要软件 |
---|---|---|---|---|
服务器 | Centos7.6 | node1 | 192.168.114.130 | Elasticsearch Kibana |
服务器 | Centos7.6 | node2 | 192.168.114.131 | Elasticsearch |
服务器 | Centos7.6 | apache | 192.168.114.132 | Logstash Apache |
配置Elasticsearch环境(Node1 Node2)
关闭防火墙
[root@node1 ~]# systemctl stop firewalld.service
[root@node1 ~]# setenforce 0
安装 JDK
上传安装包到/opt目录
解压安装
rpm -ivh jdk-8u201-linux-x64.rpm
查看当前系统环境下java版本
java -version
设置JDK的环境变量
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
加载生效、查看版本
source /etc/profile.d/java.sh
java -version
配置域名解析
vim /etc/hosts
192.168.114.130 node1
192.168.114.131 node2
192.168.114.132 httpd
部署安装Elasticsearch软件(Node1 Node2)
解压压缩包
cd /opt
上传 压缩包 elasticsearch-5.5.0.rpm
rpm -ivh elasticsearch-5.5.0.rpm 解包
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak 备份es配置文件
配置Elasticsearch主配置文件
vim /etc/elasticsearch/elasticsearch.yml
--17--取消注释,指定集群名字
cluster.name: E
--23--取消注释,指定节点名字:Node1节点为node1,Node2节点为node2
node.name: node1
--33--取消注释,指定数据存放路径
path.data: /data/elk_data
--37--取消注释,指定日志存放路径
path.logs: /var/log/elasticsearch/
--43--取消注释,改为在启动的时候不锁定内存
bootstrap.memory_lock: false
--55--取消注释,设置监听地址,0.0.0.0代表所有地址
network.host: 0.0.0.0
--59--取消注释,ES 服务的默认监听端口为9200
http.port: 9200
--68--取消注释,集群发现通过单播实现,指定要发现的节点 node1、node2
discovery.zen.ping.unicast.hosts: ["node1", "node2"]
创建数据存放路径并授权并开启服务
mkdir -p /data/elk_data 创建数据存放路径
chown elasticsearch:elasticsearch /data/elk_data/ 修改属主属组
systemctl start elasticsearch 开启服务
net