基于elk的日志分析平台(二)部署
ogstash,elasticsearch,kibana 怎么进行 nginx 的日志分析呢?首先,架构方面,nginx 是有日志文件的,它的每个请求的状态等都有日志文件进行记录。其次,需要有个队列,redis 的 list 结构
正好可以作为队列使用。然后分析使用 elasticsearch 就可以进行分析和查询了。
我们需要的是一个分布式的,日志收集和分析系统。logstash 有 agent 和 indexer 两个角色。对于 agent 角色,放在单独的 web 机器上面,然后这个 agent 不断地读取 nginx 的日志文件,每当
它读到新的日志信息以后,就将日志传送到网络上的一台 redis 队列上。对于队列上的这些未处理的日志,有不同的几台 logstash indexer 进行接收和分析。分析之后存储到 elasticsearch 进行搜索分析。再由统一的 kibana 进行日志 web 界面的展示。
环境
node | ip |
---|---|
node1 | 172.25.0.1 |
node2 | 172.25.0.2 |
node3 | 172.25.0.3 |
系统环境:
rhel7
elasticsearch
logstash
kibana
#分别做什么
三台机器全部安装jdk1.8,因为elasticsearch是java开发的
全部安装elasticsearch (后续都简称为es)
node1作为主节点
2 3作为数据节点
2上安装 logstash
配置两台机器的hosts文件
vim /etc/hosts
安装elasticsearch
1.jdk 1.8 安装:
# tar zxf jdk-8u45-linux-x64.tar.gz -C /usr/local/
# ln -s /usr/local/jdk1.8.0_45/ /usr/local/java
# vim /etc/profile
export JAVA_HOME=/usr/local/java/
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$PATH:$JAVA_HOME/bin
# source /etc/profile
#验证java安装成功
java -version
2.安装es 配置es
rpm -ivh elasticsearch-6.7.2.rpm
配置es:
es 的配置文件在这两个地方:
ll /etc/elasticsearch
total 36
-rw-rw---- 1 root elasticsearch 207 May 19 22:12 elasticsearch.keystore
-rw-rw---- 1 root elasticsearch 2869 Apr 29 05:14 elasticsearch.yml
-rw-rw---- 1 root elasticsearch 3685 Apr 29 05:14 jvm.options
-rw-rw---- 1 root elasticsearch 13085 Apr 29 05:14 log4j2.properties
-rw-rw---- 1 root elasticsearch 473 Apr 29 05:14 role_mapping.yml
-rw-rw---- 1 root elasticsearch 197 Apr 29 05:14 roles.yml
-rw-rw---- 1 root elasticsearch 0 Apr 29 05:14 users
-rw-rw---- 1 root elastic
ll /etc/sysconfig/elasticsearch
-rw-rw---- 1 root elasticsearch 1613 Apr 29 05:14 /etc/sysconfig/elasticsearch
search 0 Apr 29 05:14 users_roles
elasticsearch.yml 文件用于配置集群节点等相关信息的,
elasticsearch 文件则是配置服务本身相关的配置,
例如某个配置文件的路径以及java的一些路径配置什么的
#修改内核参数 limits.