收集数据:LogstashAgent
建立索引:ElasticSearchCluster
数据可视乎:KilbanaServer
主机 | 操作系统 | 主机名/IP地址 | 主要软件 |
---|---|---|---|
服务器 | CentOS7-x86 | node1/192.168.45.128 | Elasticsearch、kibana |
服务器 | CentOS7-x86 | node2/192.168.45.129 | Elasticsearch |
服务器 | CentOS7-x86 | apache/192.168.45.133 | Logstatsh |
1.关闭防火墙及安全功能
systemctl stop firewalld.service
setenforce 0
2.修改主机名配置文件
vim /etc/hosts
192.168.142.152 node1
192.168.142.153 node2
3.远程挂载资源包
mount.cifs //192.168.142.1/elk /mnt
4.安装软件包
cd /mnt
rpm -ivh elasticsearch-5.5.0.rpm
5.加载系统服务
systemctl daemon-reload
6.开机自启动服务
systemctl enable elasticsearch.service
7.备份配置文件
cd /etc/elasticsearch/
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
8.修改elasticsearch主配置文件
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
#第55行,取消注释并修改地址,放入所有的地址(0.0.0.0代表所有地址)
network.host: 0.0.0.0
#第59行,取消注释,放开服务端口
http.port: 9200
#第68行,取消注释修改节点名称
discovery.zen.ping.unicast.hosts: ["node1", "node2"]
9.创建数据库存放路径
mkdir -p /data/elk_data
10.授权数据库存放路径
chown elasticsearch:elasticsearch /data/elk_data/
11.开启elasticsearch服务
systemctl start elasticsearch.service
12.查看端口服务状态
netstat -ntap | grep 9200
tcp6 0 0 :::9200 :::* LISTEN 96970/java
13.安装编译环境
yum install gcc gcc-c++ make -y
14.解压node节点软件包
cd /mnt
tar zxvf node-v8.2.1.tar.gz -C /opt
15.配置node
cd /opt/node-v8.2.1/
./configure
16.编译安装
make && make install
1.解压phantomjs软件包
cd /mnt
tar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /usr/local/src
2.切换目录查看phantomjs命令
cd /usr/local/src/phantomjs-2.1.1-linux-x86_64//bin
ls
phantomjs
3.复制目录到系统目录
cp phantomjs /usr/local/bin/
1.解压elasticsearch-head软件包
cd /mnt
tar zxvf elasticsearch-head.tar.gz -C /usr/local/src
2.安装elasticsearch-head数据可视化工具
cd /usr/local/src/elasticsearch-head/
npm install
3.修改elasticsearch主配置文件
vim /etc/elasticsearch/elasticsearch.yml
#末行添加以下内容
http.cors.enabled: true
http.cors.allow-origin: "*"
4.开启elasticsearch服务
systemctl restart elasticsearch.service
5.启动后台运行
npm run start &
6.查看服务端口状态
netstat -ntap | grep 9100
tcp 0 0 0.0.0.0:9100 0.0.0.0:* LISTEN 50105/grunt
[root@node1 elasticsearch-head]# netstat -ntap | grep 9200
tcp6 0 0 :::9200 :::* LISTEN 96970/java
#安装Apache服务
yum install -y httpd
#远程挂载资源包
mount.cifs //192.168.142.1/elk /mnt
#切换到挂载点
cd /mnt
#安装logstash
rpm -ivh logstash-5.5.1.rpm
#开机自启动logstash服务
systemctl enable logstash.service
#启动logstash服务
systemctl start logstash.service
#建立命令软链接到系统
ln -s /usr/share/logstash/bin/logstash /usr/local/bin
#切换日志目录
cd /var/log
#授予他人读取权限
chmod o+r messages
#查看权限
ll
#切入logstash配置目录
cd /etc/logstash/conf.d/
#编辑文件
vim system.conf
#写入以下内容,用以收集系统日志
input {
file{
path => "/var/log/messages"
type => "system"
start_position => "beginning"
}
}
output {
elasticsearch {
#地址指向node1节点
hosts => ["192.168.142.152:9200"]
index => "system-%{+YYYY.MM.dd}"
}
}
#重启服务
systemctl restart logstash.service
#切入挂载点
cd /mnt
#安装kibana
rpm -ivh kibana-5.5.1-x86_64.rpm
#切入kibana目录
cd /etc/kibana/
#备份kibana.yml文件
cp kibana.yml kibana.yml.bak
#修改kibana.yml文件
vim kibana.yml
#取消第2行的注释,放开5601端口
server.port: 5601
#取消第7行的注释并修改地址,放入所有的地址(0.0.0.0代表所有地址)
server.host: "0.0.0.0"
#取消第21行的注释并指向node1节点的url
elasticsearch.url: "http://192.168.142.152:9200"
#取消第30行注释,放开kibana首页
kibana.index: ".kibana"
#启动kibana服务
systemctl start kibana.service
#编辑Apache日志配置文件
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.142.152:9200"]
index => "apache_access-%{+YYYY.MM.dd}"
}
}
if [type] == "error" {
elasticsearch {
hosts => ["192.168.142.152:9200"]
index => "apache_error-%{+YYYY.MM.dd}"
}
}
}
#重启服务,稍等片刻!
logstash -f apache_log.conf