手把手教你在CentOS上安装ELK,对服务器日志进行收集(三)

3.2、Logstash安装

3.2.1、安装logstash
rpm -ivh logstash-6.1.0.rpm
3.2.2、设置data的目录

创建/data/ls-data目录,用于logstash数据的存放

mkdir -p /data/ls-data

修改该目录的拥有者为logstash

chown -R logstash:logstash /data/ls-data
3.2.3、设置log的目录

创建/data/ls-log目录,用于logstash日志的存放

mkdir -p /log/ls-log

修改该目录的拥有者为logstash

chown -R logstash:logstash /log/ls-log
3.2.4、设置conf.d的目录,创建配置文件
#进入logstash目录
cd /etc/logstash
#创建conf.d的目录
mkdir conf.d

创建配置文件,日志内容输出到elasticsearch中,如下

vim /etc/logstash/conf.d/logstash.conf

内容如下:

input {
  beats {
    port => 5044
    codec => plain {
          charset => "UTF-8"
    }
  }
}
output {
  elasticsearch { hosts => ["localhost:9200"] }
  stdout { codec => rubydebug }
}
3.2.5、修改配置文件logstash.yml
vim /etc/logstash/logstash.yml

内容如下:

# 设置数据的存储路径为/data/ls-data
path.data: /data/ls-data
# 设置管道配置文件路径为/etc/logstash/conf.d
path.config: /etc/logstash/conf.d
# 设置日志文件的存储路径为/log/ls-log
path.logs: /log/ls-log
3.2.6、启动logstash

启动

systemctl start logstash

查看

systemctl status logstash

设置开机启动

systemctl enable logstash
3.2.7、测试logstash

--config.test_and_exit表示,检查测试创建的logstash.conf配置文件,是否有问题,如果没有问题,执行之后,显示Configuration OK 证明配置成功!

/usr/share/logstash/bin/logstash  -f /etc/logstash/conf.d/logstash.conf --config.test_and_exit

**如果报错:WARNING: Could not find logstash.yml which is typically located in $LS_HOME/config or /etc/logstash. You can specify the path using –path.settings. **

解决办法:

cd /usr/share/logstash
ln -s /etc/logstash ./config
3.2.8、logstash指定配置进行运行

指定logstash.conf配置文件,以后台的方式运用,执行这段命令之后,需要回车一下

nohup /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/logstash.conf &

检查logstash是否启动

ps -ef|grep logstash

显示如下信息,说明启动了


手把手教你在CentOS上安装ELK,对服务器日志进行收集(三)

3.3、kibana安装

3.3.1、安装kibana
rpm -ivh kibana-6.1.0-x86_64.rpm

搜索rpm包

rpm -ql kibana

默认是装在/usr/share/kibana/下。

3.3.2、修改kibana.yml

修改kibana的配置文件

vim /etc/kibana/kibana.yml

内容如下:

#kibana页面映射在5601端口
server.port: 5601
#允许所有ip访问5601端口
server.host: "0.0.0.0"
#elasticsearch所在的ip及监听的地址
elasticsearch.url: "http://localhost:9200"
3.3.3、启动kibana

启动

systemctl start kibana

查看状态

systemctl status kibana

设置开机启动

systemctl enable kibana

3.4、配置nginx 访问

3.4.1、安装nginx和http用户认证工具
yum -y install epel-release
yum -y install nginx httpd-tools
3.4.2、修改nginx配置
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
vim /etc/nginx/nginx.conf

location配置部分,注释掉

手把手教你在CentOS上安装ELK,对服务器日志进行收集(三)

创建kibana.conf文件

vim /etc/nginx/conf.d/kibana.conf

内容如下:

server {
    listen 8000; #修改端口为8000
    server_name kibana;
    #auth_basic "Restricted Access";
    #auth_basic_user_file /etc/nginx/kibana-user;
    location / {
        proxy_pass http://127.0.0.1:5601; #代理转发到kibana
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

重新加载配置文件

systemctl reload nginx

到这一步,elk基本配置完了,输入如下命令,启动服务

# 启动ELK和nginx
systemctl restart elasticsearch logstash kibana nginx
#查看ELK和nginx启动状态
systemctl status elasticsearch logstash kibana nginx

在浏览器输入ip:8000, 就可以访问了kibana

四、Linux节点服务器安装配置filebeat

4.1、安装filebeat

yum localinstall -y filebeat-6.2.4-x86_64.rpm

4.2、启动kibana

启动

systemctl start filebeat

查看状态

systemctl status filebeat

设置开机启动

systemctl enable filebeat

4.3、修改配置Filebeat

编辑filebeat.yml文件

vim /etc/filebeat/filebeat.yml
#============= Filebeat prospectors ===============
filebeat.prospectors:
- input_type: log
  enabled: true #更改为true以启用此prospectors配置。
  paths:  #支持配置多个文件收集目录
    #- /var/log/*.log
    - /var/log/messages
#==================== Outputs =====================
#------------- Elasticsearch output ---------------
#output.elasticsearch:
  # Array of hosts to connect to.
  #hosts: ["localhost:9200"]
#---------------- Logstash output -----------------
output.logstash:
  # The Logstash hosts
  hosts: ["localhost:5044"]

注意:注释掉Elasticsearch output下面的部分,将Filebeat收集到的日志输出到 Logstash output

最后重启服务

systemctl restart filebeat


上一篇:在Mac上运行Rainbond,10分钟快速安装


下一篇:在Rainbond上使用Locust进行压力测试