搭建ELK群集
1.0.1 ELK日志分析系统简介
- 日志服务器
- 提高安全性
- 集中存放日志
- 缺陷
- 对日志的分析困难
- 对日志的分析困难
2.0.1 Elasticsearch介绍
- Elasticsearch的概述
- 提供了一个分布式多用户能力的全文搜索引擎
- Elasticsearch核心概念
- 接近实时
- 集群
- 节点
- 索引
- 索引(库)->类型(表)->文档(记录)
- 分片和副本
3.0.1 实验案例
3.1.1 案例环境:配置ELK日志分析系统
- 配置和安装ELK日志分析系统,安装集群方式,2给elasticsearch节点,并监控apache服务日志
主机 | 操作系统 | 主机名 | IP地址 | 主要软件 |
---|---|---|---|---|
服务器 | Centos7.4 | node1 | 20.0.0.10 | Elasticsearch |
服务器 | Centos7.4 | node2 | 20.0.0.11 | Elasticsearch |
服务器 | Centos7.4 | apache | 20.0.0.12 | logstash apache |
3.2.1 配置elasticsearch环境
3.2.2登录 20.0.0.10
- 更改主机名 配置域名解析 查看java环境
更改主机名
hostnamectl set-hostname node1
打开 /etc/hosts 添加域名解析
vi /etc/hosts
20.0.0.10 node1
20.0.0.11 node2
查看 java环境
java -version
3.2.3 登录 20.0.0.11
更改主机名
hostnamectl set-hostname node2
打开 /etc/hosts 添加域名解析
vi /etc/hosts
20.0.0.10 node1
20.0.0.11 node2
查看 java环境
java -version
3.3.1 配置elasticsearch软件
3.3.2 登录 20.0.0.10
1,安装 elasticsearch-rpm包
cd /opt
rpm -ivh elasticsearch-5.5.0.rpm
2.加载系统服务
systemctl daemon-reload
systemctl enable elasticsearch.service
3.更改elasticsearch主配置文件
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
去掉 指定行前面的 #
修改当中的参数
vi /etc/elasticsearch/elasticsearch.yml
17/ cluster.name: my-elk-cluster ##集群名字
23/ node.name: nodel ##节点名字
33/ path.data: /data/elk_data ##数据存放路径
37/ path.logs: /var/log/elasticsearch/ ##日志存放路径
43/ bootstrap.memory_lock: false ##不在启动的时候锁定内存
55/ network.host: 0.0.0.0 ##提供服务绑定的IP地址,0.0.0.0代表所有地址
59/ http.port: 9200 ##侦听端口为9200
68/ discovery.zen.ping.unicast.hosts: ["node1","node2"] ## 集群发现通过单播实现
查询信息显示下面的信息
grep -V “^#” /etc/elasticsearch/elasticsearch.yml
cluster.name: my-elk-cluster
node.name: nodel
path.data: /data/elk_data
path.logs: /var/log/elasticsearch/
bootstrap.memory_lock: false
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["node1","node2"]
4.创建数据存放路径并授权
mkdir -p /data/elk_data
chown elasticsearch:elasticsearch /data/elk_data/
5.启动elasticsearch是否成功开启
systemctl start elasticsearch.service
查询端口 看是否开启
netstat -antp | grep 9200
6.查看节点信息 用真机的浏览器打开 http://20.0.0.10:9200 有文件打开 下面是节点的信息
3.3.3 登录 20.0.0.11
1,安装 elasticsearch-rpm包
cd /opt
rpm -ivh elasticsearch-5.5.0.rpm
2.加载系统服务
systemctl daemon-reload
systemctl enable elasticsearch.service
3.更改elasticsearch主配置文件
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
去掉 指定行前面的 #
修改当中的参数
vi /etc/elasticsearch/elasticsearch.yml
17/ cluster.name: my-elk-cluster ##集群名字
23/ node.name: nodel ##节点名字
33/ path.data: /data/elk_data ##数据存放路径
37/ path.logs: /var/log/elasticsearch/ ##日志存放路径
43/ bootstrap.memory_lock: false ##不在启动的时候锁定内存
55/ network.host: 0.0.0.0 ##提供服务绑定的IP地址,0.0.0.0代表所有地址
59/ http.port: 9200 ##侦听端口为9200
68/ discovery.zen.ping.unicast.hosts: ["node1","node2"] ## 集群发现通过单播实现
查询信息显示下面的信息
grep -V “^#” /etc/elasticsearch/elasticsearch.yml
cluster.name: my-elk-cluster
node.name: nodel
path.data: /data/elk_data
path.logs: /var/log/elasticsearch/
bootstrap.memory_lock: false
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["node1","node2"]
4.创建数据存放路径并授权
mkdir -p /data/elk_data
chown elasticsearch:elasticsearch /data/elk_data/
5.启动elasticsearch是否成功开启
systemctl start elasticsearch.service
查询端口 看是否开启
netstat -antp | grep 9200
6.查看节点信息 用真机的浏览器打开 http://20.0.0.11:9200 有文件打开 下面是节点的信息
3.2.4 集群检查健康和状态
- 检查群集健康情况
- 在真机浏览器打开 http://20.0.0.10:9200/_cluster/health?pretty
- 检查群集状态信息
- 在真机浏览器打开 http://20.0.0.11:9200/_cluster/state?pretty
3.4.1 安装elasticsearch-head插件
3.4.2 登录 20.0.0.10 node1主机
1.上传node-v8.2.1.tar.gz到/opt
yum install gcc gcc-c++ make -y
2.编译安装node组件依赖包 耗时比较长
cd /opt
tar xzvf node-v8.2.1.tar.gz
cd node-v8.2.1/
./configure
make -j3
make install
3.安装 phantomjs 前端框架
- 上传软件包到/usr/local/src/
cd /usr/local/src/
tar xjvf phantomjs-2.1.1.linux-x86_64.tar.bz2
cd phantomjs-2.1.1-linux-x86_64/bin
cp phantomjs /usr/local/bin
4.安装 elasticsearch-head 数据可视化工具
cd /usr/local/src/
tar xzvf elasticsearch-head.tar.gz
cd elasticsearch-head/
npm install
5.修改主配置文件
cd ~
下面配置文件,插末尾
vi /etc/elasticsearch/elasticsearch.yml
http.cors.enabled:true
http.cors.allow-origin: "*"
systemctl restart elasticsearch
6.启动elasticsearch-head 启动服务器
cd /usr/local/src/elasticsearch-head/
npm run start & #切换到后台运行
查询是否有
netstat -ntap | grep 9100
netstat -ntap | grep 9200
3.4.3 登录 20.0.0.11 node2主机
1.上传node-v8.2.1.tar.gz到/opt
yum install gcc gcc-c++ make -y
2.编译安装node组件依赖包 耗时比较长
cd /opt
tar xzvf node-v8.2.1.tar.gz
cd node-v8.2.1/
./configure
make -j3
make install
3.安装 phantomjs 前端框架
- 上传软件包到/usr/local/src/
cd /usr/local/src/
tar xjvf phantomjs-2.1.1.linux-x86_64.tar.bz2
cd phantomjs-2.1.1-linux-x86_64/bin
cp phantomjs /usr/local/bin
4.安装 elasticsearch-head 数据可视化工具
cd /usr/local/src/
tar xzvf elasticsearch-head.tar.gz
cd elasticsearch-head/
npm install
5.修改主配置文件
cd ~
下面配置文件,插末尾
vi /etc/elasticsearch/elasticsearch.yml
http.cors.enabled:true
http.cors.allow-origin: "*"
systemctl restart elasticsearch
6.启动elasticsearch-head 启动服务器
cd /usr/local/src/elasticsearch-head/
npm run start & #切换到后台运行
查询是否有
netstat -ntap | grep 9100
netstat -ntap | grep 9200
3.5.1 测试
- 真机上打开浏览器输入http://20.0.0.10:9100/ 可以看见群集健康是绿色的
- 在Elasticsearch 后面的栏目中输入 http://20.0.0.10:9200
- 点击后面的连接会显示一下内容 表示成功