Elasticsearch CentOS7 下 RPM 安装
一 安装环境查看
二 软件版本选用
jdk 1.8.0_242
elasticsearch 7.6.2
kibana 7.6.2
logstash 7.6.2
三 安装配置
1 安装 JDK
过程不详述
2 安装 ELK
官网下载安装包:https://www.elastic.co/cn
以下文件是装 head 时会用到,下载资源特别慢
源码包:源码包下载
安装
rpm -ivh elasticsearch-7.6.2-x86_64.rpm
rpm -ivh kibana-7.6.2-x86_64.rpm
rpm -ivh logstash-7.6.2.rpm
修改 elasticsearch 配置文件
/etc/elasticsearch/elasticsearch.yml
# 集群名
cluster.name: my-es
# node 名
node.name: node-1
# 数据目录
path.data: /data/es-data
# 日志目录
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.port: 9200
# 集群 master 需要和 node 名设置一致
cluster.initial_master_nodes: [“node-1”]
设置 elasticsearch 的 java 目录(手动安装 java 需设置 yum 安装的 java 无需设置)
修改配置文件
vim /etc/sysconfig/elasticsearch
设置 java 目录
JAVA_HOME=/usr/local/jdk1.8.0_242
创建数据目录并设置权限
mkdir -p /data/es-data
chown -R elasticsearch:elasticsearch /data/es-data/
启动 elasticsearch
systemctl start elasticsearch
systemctl enable elasticsearch
检测是否启动
设置 kibana 修改配置文件
vim /etc/kibana/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
server.name: "node-1"
elasticsearch.hosts: ["http://192.168.1.4:9200"]
kibana.index: ".kibana"
PS: 7 版本 elasticsearch.hosts 的配置在 6 版本里面为 elasticsearch.url 需要配置正确否则 message 日志会报错
FATAL Error: [elasticsearch.url]: definition for this key is missing
启动
systemctl start kibana
systemctl enable kibana
web 页面查看 http:/127.0.0.1:5601
head 插件安装
elasticsearch-head 下载地址:https://github.com/mobz/elasticsearch-head
node 下载地址:https://npm.taobao.org/mirrors/node/latest-v13.x/node-v13.0.0-linux-x64.tar.gz
elasticsearch-head-master和node-v13.0.0-linux-x64 解压到 /usr 下
修改配置文件 /etc/elasticsearch/elasticsearch.yml 增加参数
# 增加参数,使head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "
修改环境变量 /etc/profile 添加
export NODE_HOME=/usr/node-v13.0.0-linux-x64
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
设置生效
source /etc/profile
安装 grunt
cd /usr/elasticsearch-head-master
npm install -g grunt-cli
检查是否安装成功
修改 head 插件源码 /usr/elasticsearch-head-master/Gruntfile.js
PS:hostname 是新增的,不要忘记原有的 true 后面加,符号
修改连接地址 /usr/elasticsearch-head-master/_site/app.js
PS: 如果不是 ES 不是本机请修改
下载运行 head 必要的文件(放置在文件夹/tmp下),注意这边下载好后不需要解压,执行 npm install 的时候会自动去完成
cd /tmp
wget https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2
yum -y install bzip2
运行 head
cd /usr/elasticsearch-head-master
npm install
后台启动
grunt server &
web 页面验证
http://127.0.0.1:9100
集群健康状态检查
使用 logstash 收集日志
标准输入输出
/usr/share/logstash/bin/logstash -e 'input { stdin{} } output { stdout {} }'
输出至 ES
/usr/share/logstash/bin/logstash -e 'input { stdin{} } output { elasticsearch { hosts => ["127.0.0.1:9200"] index => "logstash-%{+YYYY.MM.dd}" } }'
打开 head 即可查看
写一个配置文件收集系统日志 /etc/logstash/conf.d/file.conf
input{
file{
path => ["/var/log/messages"]
type => "system-log"
start_position => "beginning"
}
}
filter{
}
output{
elasticsearch{
hosts => ["192.168.10.5:9200"]
index => "system-log-%{+YYYY.MM}"
}
}
启动放置在后台
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/file.conf &
当文件 /var/log/messages 有日志写入时就会写 es,在 head 可以查看
把日志添加至 kibana 展示
查看
elk7 搭建完成与 elk6 搭建几乎一致
区别为 elasticsearch 配置文件需要添加配置,否则 elasticsearch 启动不成功
cluster.initial_master_nodes: [“node-1”]