ELK搭建及head插件安装
下载ELK的包:
下载地址:https://www.elastic.co/downloads
下载最新版的、linux服务器能使用的。
右键复制链接地址,wget就可以下载,如:wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.3.tar.gz
下载完,解压,如: tar -zxvf elasticsearch-6.4.3.tar.gz
有的需要使用unzip解压,需要使用: yum install unzip 下载安装unzip工具
- java环境:
[root@localhost opt]# ls
abc.txt containerd jdk-8u321-linux-x64.tar.gz
[root@localhost opt]# javac
-bash: javac: 未找到命令
[root@localhost opt]# tar -xf jdk-8u321-linux-x64.tar.gz
[root@localhost opt]# ls
abc.txt containerd jdk1.8.0_321 jdk-8u321-linux-x64.tar.gz
[root@localhost opt]# ls /usr/local/java
ls: 无法访问/usr/local/java: 没有那个文件或目录
[root@localhost opt]# mv /opt/jdk1.8.0_321/ /usr/local/java
[root@localhost opt]# ls /usr/local/java
bin include jmc.txt legal LICENSE README.html src.zip THIRDPARTYLICENSEREADME.txt
COPYRIGHT javafx-src.zip jre lib man release THIRDPARTYLICENSEREADME-JAVAFX.txt
cat >>/etc/profile <<end
export JAVA_HOME=/usr/local/java
end
source /etc/profile
cat >>/etc/profile <<end
export PATH=$PATH:${JAVA_HOME}/bin
end
source /etc/profile
2.安装elk:
安装elasticssearch
安装logstash
安装kibana
3,配置
修改elasticsearch配置文件/etc/elasticsearch/elasticsearch.yml
cluster.name: myes #集群名字
node.name: node-1 #node名字
path.data: /nas/ELK/es-data #日志数据路径
path.logs: /var/log/elasticsearch #日志路径
bootstrap.memory_lock: false
network.host: 192.168.56.12 #本机地址
http.port: 9200 #开启端口9200
修改日志数据文件夹权限(不修改无法启动)
1 | chown -R elasticsearch.elasticsearch /nas/ELK/es-data/ |
chown -R elasticsearch:elasticsearch /nas/ELK/es-data
启动
systemctl start elasticsearch
systemctl enable elasticsearch
启动失败:
elasticsearch[2396]: which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
把Java安装路径做软连接
只需要把你java安装路径下bin下的java软连接到usr/bin下即可
elk的java软连接做错了,链接到目录上面去了,删除连接,重新做软连接
[root@localhost elasticsearch]# ls -ld /usr/bin/ja*
lrwxrwxrwx. 1 root root 15 5月 8 16:24 /usr/bin/java -> /usr/local/java
[root@localhost elasticsearch]# lnrm /usr/bin/java
-bash: lnrm: 未找到命令
[root@localhost elasticsearch]# rm -rf /usr/bin/java
[root@localhost elasticsearch]# ls -ld /usr/bin/ja*
ls: 无法访问/usr/bin/ja*: 没有那个文件或目录
[root@localhost elasticsearch]# ln -s /usr/local/java/bin/java /usr/bin/java
[root@localhost elasticsearch]# ls -ld /usr/bin/ja*
lrwxrwxrwx. 1 root root 24 5月 8 16:48 /usr/bin/java -> /usr/local/java/bin/java
[root@localhost elasticsearch]# systemctl start elasticsearch
[root@localhost elasticsearch]# systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)
Active: active (running) since 一 2023-05-08 16:48:22 CST; 5s ago
访问测试:
搜索测试:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
安装head插件
1.首先需要node.js环境,去http://nodejs.cn/download/下载
wget -c https://codeload.github.com/mobz/elasticsearch-head/zip/master
wget -c https://nodejs.org/dist/v12.16.2/node-v12.16.2-linux-x64.tar.xz
tar -xvf node-v12.16.2-linux-x64.tar.xz -C /root
配置环境变量:
vim /etc/profile ,添加如下内容,
export NODE_HOME=/root/node-v12.16.2-linux-x64
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
## 让配置生效
source /etc/profile
node-version10版本以上存在问题,需要升级gcc非常之麻烦!!!
wget https://nodejs.org/dist/v10.0.0/node-v10.0.0-linux-x64.tar.xz
下载地址
Index of /dist/v10.0.0/ (nodejs.org)
xz -d node-v10.0.0-linux-x64.tar.xz 更改格式,然后tar -xvf
tar -xvf node-v10.0.0-linux-x64.tar
export NODE_HOME=/root/node-v10.0.0-linux-x64
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
配置head
1.安装grunt
grunt是基于Node.js的项目构建工具,可以进行打包压缩、测试、执行等等的工作,head插件就是通过grunt启动。
进入head根目录,运行如下命令安装:
cd /opt/elasticsearch-head-master
npm install -g grunt-cli
grunt -version;
修改head配置文件Gruntfile.js
在head的配置文件Gruntfile.js中添加host正则匹配项:
设置es允许跨域访问:
进入es安装目录,修改elasticsearch.yml的配置:
#设置外网可以访问(这一条设置为真实的ip也行)
network.host: 0.0.0.0
# 监听端口(默认)
http.port: 9200
# 增加参数,使head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"
[root@localhost opt]# find / -name elasticsearch.yml
/etc/elasticsearch/elasticsearch.yml
[root@localhost opt]# cd /etc/elasticsearch/
[root@localhost elasticsearch]# vi elasticsearch.yml
systemctl restart elasticsearch
.然后在head目录下执行:
##安装npm 服务
npm install
##启动插件
grunt server
或者npm run start
正在安装:时间超长那种,耐心等待!!
权限问题: 这个不影响grunt server启动
访问测试:
192.168.8.246:9100
访问http://ip:9100 ,进入显示如下:
然后输入ES的地址,点击连接。显示绿色即可:
然后输入ES的地址,点击连接。显示绿色即可: