一、实验环境
主机名 | IP地址 |
---|---|
elk-node1 | 192.168.200.111 |
elk-node1 | 192.168.200.112 |
apache | 192.168.200.113 |
二、elk主机的安装
#修改主机名
hostname elk-node1
bash
[root@elk-node1 ~]#
#修改hosts文件生成主机名与ip的对应关系
vim /etc/hosts
192.168.200.111 elk-node1
192.168.200.112 elk-node2
#修改主机名
hostname elk-node2
bash
[root@elk-node2 ~]#
#修改主机名与IP地址的对应关系
vim /etc/hosts
192.168.200.111 elk-node1
192.168.200.112 elk-node2
java -version
bash: java: 未找到命令
#没有发现Java环境使用yum安装Java环境
yum -y install java
#再次查看Java版本
java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
rpm -ivh elasticsearch-5.5.0.rpm
警告:elasticsearch-5.5.0.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID d88e42b4: NOKEY
准备中... ################################# [100%]
Creating elasticsearch group... OK
Creating elasticsearch user... OK
正在升级/安装...
1:elasticsearch-0:5.5.0-1 ################################# [100%]
### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd
sudo systemctl daemon-reload #提示你先识别服务
sudo systemctl enable elasticsearch.service #设置为开机自启
### You can start elasticsearch service by executing
sudo systemctl start elasticsearch.service #开启服务,现在先别开,等配置完成在开
-----------------------------------------------------------------------------------------------------------------
systemctl daemon-reload
systemctl enable elasticsearch.service
vim /etc/elasticsearch/elasticsearch.yml
17 cluster.name: elk #集群名称,两台主机集群名必须相同否则就跑到其他集群中去了
23 node.name: elk-node1 #本节点名称
33 path.data: /data/elk_data #数据存放位置
37 path.logs: /var/log/elk.log #日志存放位置
43 bootstrap.memory_lock: false #不在启动时绑定内存
55 network.host: 0.0.0.0 #提供服务的ip地址
59 http.port: 9200 #监听端口
68 discovery.zen.ping.unicast.hosts: ["elk-node1", "elk-node2"] #集群中的实例名
90 http.cors.enabled: true #开启跨域传送
91 http.cors.allow-origin : "*" #跨域传送可允许的ip
vim /etc/elasticsearch/elasticsearch.yml
17 cluster.name: elk #集群名称
23 node.name: elk-node2 #本节点名称
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地址
59 http.port: 9200 #监听端口
68 discovery.zen.ping.unicast.hosts: ["elk-node1", "elk-node2"] #集群中的实例名
mkdir -p /data/elk_data
chown elasticsearch:elasticsearch /data/elk_data
systemctl start elasticsearch
#查看端口,这个端口不好出来
ss -lnupt| grep 9200
tcp LISTEN 0 128 :::9200 :::* users:(("java",13557,116))
#安装npm命令
tar xf node-v8.2.1-linux-x64.tar.gz -C /usr/local/
#将命令设置软连接
ln -s /usr/local/node-v8.2.1-linux-x64/bin/node /usr/bin/
ln -s /usr/local/node-v8.2.1-linux-x64/bin/npm /usr/bin/
#查看版本信息
node -v
v8.2.1
npm -v
5.3.0
#解压到ES的data目录
tar xf elasticsearch-head.tar.gz -C /data/elk_data/
#对目录进行授权
cd /data/elk_data/
chown -R elasticsearch:elasticsearch elasticsearch-head/
cd elasticsearch-head/
#安装
npm install
#报这一句表示结束
added 68 packages in 13.883s
cd _site/
pwd
/data/elk_data/elasticsearch-head/_site
备份配置文件
cp app.js{,.bak}
#修改配置文件
vim app.js
4329 "http://192.168.200.111:9200" #修改为本机ip地址
npm run start &
[1] 13705
[root@elk-node1 _site]#
> [email protected] start /data/elk_data/elasticsearch-head
> grunt server
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100
[root@elk-node1 _site]# ss -lnupt |grep 9100
tcp LISTEN 0 128 *:9100 *:* users:(("grunt",13715,12))
四、安装logstash
#logstash也需要Java环境
rpm -ivh logstash-5.5.1.rpm
#做命令软连接
ln -s /usr/share/logstash/bin/logstash /usr/local/bin/
logstash命令
-e 执行操作
input 标准输入
{ input } 插件
output 标准输出
{ stdout } 插件
#将logstash中的内容写入ES
logstash -e 'input { stdin{} } output { elasticsearch { hosts=> ["192.168.200.111:9200"]} }'
vim /etc/logstash/conf.d/elk.conf
input {
file {
path => "/var/log/messages"
type => "system"
start_position => "beginning"
}
}
output {
elasticsearch {
hosts => ["192.168.200.111:9200"]
index => "system-%{+YYYY.MM.dd}"
}
}
#使用配置文件加载服务
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/elk.conf
五、安装kibana
rpm -ivh kibana-5.5.1-x86_64.rpm
systemctl enable kibana #设置开机自启
vim /etc/kibana/kibana.yml
2 server.port: 5601
7 server.host: "0.0.0.0"
21 elasticsearch.url: "http://192.168.200.111:9200"
30 kibana.index: ".kibana"
systemctl restart kibana
netstat -lnupt | grep 5601
tcp 0 0 0.0.0.0:5601 0.0.0.0:* LISTEN 14747/node
六、测试Apache主机日志