ELK安装配置,监控nginx日志,小白学习中,只为做个记录。原理什么的还不清楚。流程通了!方便日后回顾吧!

1、准备工作

a)关闭防火墙

关闭防火墙:service iptables stop 

永久关闭防火墙:chkconfig iptables off

查看防火墙状态:service iptables status

b)关闭SELinux

永久有效:修改/etc/sysconfig/selinux

将文本中的SELINUX=enforcing,改为SELINUX=disabled。然后重启

即时有效:setenforce  0      

查看状态:getenforce

 

两台机器

机器1,IP=192.168.10.128  安装部署elk

机器2,IP=192.168.10.129  安装部署ngix以及filebeat

 

安装部署机器1,(ELK)

获取安装软件包

mkdir /elk;cd /elk
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.3.tar.gz
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.3-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.3.tar.gz

并解压复制到/usr/local/目录下

cd /elk
tar xf elasticsearch-6.2.3.tar.gz 
tar -xf logstash-6.2.3.tar.gz 
tar -xf kibana-6.2.3-linux-x86_64.tar.gz cp -a elasticsearch-6.2.3 /usr/local/
cp -a logstash-6.2.3 /usr/local/
cp -a kibana-6.2.3-linux-x86_64 /usr/local/

 

yum -y install java-1.8*    #最新版本elasticsearch基于jdk1.8,需要先安装jdk【本地配置的yum源中就有可以直接使用】

【elasticsearch配置】

useradd elasticsearch      #创建elasticsearch用户
chown -R elasticsearch.elasticsearch /usr/local/elasticsearch-6.2.3/
su - elasticsearch        #需要切换到 elasticsearch用户启动服务
cd /usr/local/elasticsearch-6.2.3/
./bin/elasticsearch -d       #启动服务

查看进程是否成功(需要等待一下)

netstat -antp
9200 端口

nginx server配置日志不生效 nginx配置日志路径_开发工具

 若出现错误可以查看日志

cat /usr/local/elasticsearch-6.2.3/logs/elasticsearch.log
测试是否可以正常访问
curl localhost:9200

nginx server配置日志不生效 nginx配置日志路径_nginx server配置日志不生效_02

 

【logstash配置】

注意切回root用户

vim /usr/local/logstash-6.2.3/vendor/bundle/jruby/2.3.0/gems/logstash-patterns-core-4.1.2/patterns/grok-patterns   #添加nginx的过滤配置,使用的grok过滤插件解析日志(这里写的是一个正则,直接照抄了,具体没有研究)
#Nginx log
WZ([^]*)
NGINXACCESS %{IP:remote_jp} \- \- \[%{HTTPDATE:timestamp}\] "%{WORD:method}% {WZ:request} HTTP/%{NUMBER:httpversion}" %{NUMBER:status} %{NUMBER:bytes} %{QS:referer} %{QS:agent} %{QS:xforward}

创建logstash配置文件 

[root@server local]# vim /usr/local/logstash-6.2.3/default.conf    #这里需要关注下路径,后面启动服务需要调用这个路径
input {
 beats {
 port => "5044"
 }
}
# 数据过滤
filter {
 grok {
 match => { "message" => "%{NGINXACCESS}" }
 }
 geoip {
 # nginx客户端ip
 source => "192.168.10.129" 
 }
}
# 输出配置为本机的9200端口,这是ElasticSearch服务的监听端口
output {
 elasticsearch {
 hosts => ["127.0.0.1:9200"]
 }
}启动logstash服务
cd /usr/local/logstash-6.2.3/
nohup ./bin/logstash -f default.conf & #会调用 default.conf配置文件,未设置路径时,默认在执行命令所在路径,否则会报下面的错误[2019-06-14T15:51:21,543][INFO ][logstash.config.source.local.configpathloader] No config files found in path {:path=>"/usr/local/logstash-6.2.3/bin/default.conf"}
检查服务是否启动
netstat -natp|grep 5044

nginx server配置日志不生效 nginx配置日志路径_开发工具_03

 

 

【kibana配置】

修改配置文件
vim /usr/local/kibana-6.2.3-linux-x86_64/config/kibana.yml
将 
server.host: "localhost"
修改为
server.host: "192.168.10.128"

nginx server配置日志不生效 nginx配置日志路径_nginx server配置日志不生效_04

 

启动Kibana服务

cd /usr/local/kibana-6.2.3-linux-x86_64/
nohup bin/kibana &netstat -natp|grep 5601

nginx server配置日志不生效 nginx配置日志路径_运维_05

kibana的页面

 

nginx server配置日志不生效 nginx配置日志路径_运维_06

 

 

机器2,IP=192.168.10.129  安装部署ngix以及filebeat

【nginx客户端配置】
yum -y install nginxnginx #自带yum源,无法下载
可以使用如下配置
cd /etc/yum.repos.d/
vim nginx.repo
netstat -natp|grep 5601[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1yum install nginx -y
启动nginx,并设置开机自启动
service nginx start
chkconfig nginx on
chkconfig --list nginx

nginx的页面

nginx server配置日志不生效 nginx配置日志路径_大数据_07

 

 

【filebeat】下载filebeat并解压到/usr/local路径下

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.3-linux-x86_64.tar.gz
tar -xf ./filebeat-6.2.3-linux-x86_64.tar.gz -C /usr/local/
配置filebeatvim /usr/local/filebeat-6.2.3-linux-x86_64/filebeat.yml
24 enabled: false #修改为true
27 paths:
28 - /var/log/*.log #修改为/var/log/nginx/*.log
143 #output.elasticsearch:
144 # Array of hosts to connect to. #注释掉,关闭elasticsearch收集
145 # hosts: ["localhost:9200"]153 #output.logstash:
154 # The Logstash hosts
155 #hosts: ["127.0.0.1:5044"] #取消注释,将logstash开启收集,并将IP修改为ELK服务器的地址启动filebeat
cd /usr/local/filebeat-6.2.3-linux-x86_64
nohup ./filebeat -e -c filebeat.yml & #注意路径,这里选用相对路径,并且注意调用的配置文件路径(filebeat.yml)

以上步骤完成后,多刷新几次nginx页面,稍后在kibana页面上就可以看到对应的日志信息

nginx server配置日志不生效 nginx配置日志路径_elasticsearch_08

 

 目前,仅限安装了,其他深入的东东,还没有了解。先记录下,以便以后使用吧!