主机 | 主机名 | IP 地址 | 主要软件 |
---|---|---|---|
Node1 | CentOS 7-1 | 192.168.74.135 | Elasticsearch、Kibana |
Node2 | CentOS 7-2 | 192.168.74.122 | Elasticsearch |
Apache | CentOS 7-3 | 192.168.74.128 | Logstash |
登录 CentOS 7-1(192.168.74.135),更改主机名,配置域名解析并查看 Java 环境
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
#先关防火墙及安全机制
hostnamectl set-hostname node1 #修改主机名
su
vim /etc/hosts
192.168.74.135 node1
192.168.74.122 node2
#尾部添加
java -version
#查看JAVA环境,一般默认是1.8.0_131
#上传jdk压缩包至opt目录下
tar xzvf jdk-8u91-linux-x64.tar.gz -C /usr/local/
cd /usr/local/
mv jdk1.8.0_91 jdk
vim /etc/profile
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA HOME}/lib:${JRE HOME}/lib
export PATH=${JAVA_HOME}/bin: $PATH
source /etc/profile .
java- version #检查和版本会改变成安装包的版本
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
登录 CentOS 7-2(192.168.74.122),同上操作
先配置node1(192.168.74.135)
cd /opt #将软件包传至该目录下
rpm -ivh elasticsearch-5.5.0.rpm
#加载系统服务
systemctl daemon-reload
systemctl enable elasticsearch.service
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
#备份
vim /etc/elasticsearch/elasticsearch.yml
//17行 cluster.name: my-elk-cluster #集群名字
//23行 node.name: node1 #节点名字
//33行 path.data: /data/elk_data #数据存放路径
//37行 path.logs: /var/log/elasticsearch/ #日志存放路径
//43行 bootstrap.memory_lock: false #不在启动的时候锁定内存(前端缓存,与IOPS-性能测试方式,每秒读写次数相关)
//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 #检查配置
mkdir -p /data/elk_data
chown elasticsearch:elasticsearch /data/elk_data/
systemctl start elasticsearch.service
netstat -antp | grep 9200
#这里可能出现一次性检测不出来端口号的情况,多restart重启几次服务即可
node1:
cd /opt
#将软件包传至本目录下
yum install -y gcc gcc-c++ make
tar zxvf node-v8.2.1.tar.gz
cd node-v8.2.1/
./configure
make -j 4 && make install
#过程耗时较长!!建议同时编译安装node2,然后再去配置Apache
cd /usr/local/src/
#将软件包传至本目录下
tar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2
cd phantomjs-2.1.1-linux-x86_64/bin
cp phantomjs /usr/local/bin
cd /usr/local/src/
#将软件包传至本目录下
tar zxvf elasticsearch-head.tar.gz
cd elasticsearch-head/
npm install
cd ~
vim /etc/elasticsearch/elasticsearch.yml
#在尾部添加配置
http.cors.enabled: true
http.cors.allow-origin: "*"
#注释
1.开启跨域访问支持,默认为false
2.跨域访问允许的域名地址
systemctl restart elasticsearch
cd /usr/local/src/elasticsearch-head/
npm run start &
#切换到后台运行
netstat -lnupt |grep 9100
netstat -lnupt |grep 9200
1.在宿主机上打开浏览器,访问 http://192.168.74.135:9100/
2.然后在 Elasticsearch 后面的栏目中摄入 http://192.168.74.135:9200,点击连接,查看群集颜色是否是健康的绿色
3.访问 http://192.168.74.122:9100/,同上操作
curl -XPUT 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"xcf","mesg":"hello world"}'
#索引为index-demo,类型为test,可以看到成功创建
1.打开浏览器输入http://192.168.74.135:9200/ 查看索引信息
2.可以看见索引默认被分片5个,并且有一个副本
3.点击数据浏览,会发现在node1上创建的索引为index-demo,类型为test这些相关的信息
hostnamectl set-hostname apache
su -
yum install -y httpd
systemctl start httpd
java -version
cd /opt
#将软件包传至本目录下
rpm -ivh logstash-5.5.1.rpm
systemctl start logstash.service
systemctl enable logstash.service
ln -s /usr/share/logstash/bin/logstash /usr/local/bin/
#建立软连接,方便系统识别
Logstash [选项] [对象]
-f:通过这个选项可以指定logstash的配置文件,根据配置文件配置logstash
-e:后面跟着字符串 该字符串可以被当做logstash的配置(如果是" ",则默认使用stdin作为输入、stdout作为输出)
-t:测试配置文件是否正确,然后退出
logstash -e 'input { stdin{} } output { stdout{} }'
...
...
www.baidu.com #输入内容
www.4399.com #输入内容
#Logstash配置文件主要由三部分组成:input、output、filter(根据需要)
chmod o+r /var/log/messages
ll /var/log/messages
vim /etc/logstash/conf.d/system.conf
input {
file{
path => "/var/log/messages"
type => "system"
start_position => "beginning"
}
}
output {
elasticsearch {
hosts => ["192.168.74.135:9200"]
index => "system-%{+YYYY.MM.dd}"
}
}
systemctl restart logstash.service
cd /usr/local/src/
#将软件包传至本目录下
rpm -ivh kibana-5.5.1-x86_64.rpm
cd /etc/kibana/
cp kibana.yml kibana.yml.bak
vim kibana.yml
//2行 server.port: 5601 #kibana打开的端口
//7行 server.host: "0.0.0.0" #kibana侦听的地址
//21行 elasticsearch.url: "http://192.168.74.135:9200" #和elasticsearch建立联系
//30行 kibana.index: ".kibana" #在elasticsearch中添加.kibana索引
systemctl start kibana.service
systemctl enable kibana.service
1.首次登录创建一个索引 名字:system-* ##这是对接系统日志文件
Index name or pattern
#下面输入ystem-*
2.然后点最下面的出面的create 按钮创建
3.然后点最左上角的Discover按钮,会发现system-*信息
4.然后点下面的host旁边的add,会发现右面的图只有Time和host选项了,个比较友好
Apache(192.168.126.13):
cd /etc/logstash/conf.d/
touch apache_log.conf
vim apache_log.conf
input {
file{
path => "/etc/httpd/logs/access_log"
type => "access"
start_position => "beginning"
}
file{
path => "/etc/httpd/logs/error_log"
type => "error"
start_position => "beginning"
}
}
output {
if [type] == "access" {
elasticsearch {
hosts => ["192.168.126.11:9200"]
index => "apache_access-%{+YYYY.MM.dd}"
}
}
if [type] == "error" {
elasticsearch {
hosts => ["192.168.126.11:9200"]
index => "apache_error-%{+YYYY.MM.dd}"
}
}
}
/usr/share/logstash/bin/logstash -f apache_log.conf
-----
1.宿主机浏览器,输入http://192.168.126.13,访问apache
2.输入http://192.168.126.11:9100/,查看索引信息
3.输入http://192.168.126.11:5601
点击左下角有个management选项
index patterns
create index pattern
分别创建"apache_error-*"和"apache_access-*"的索引