栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

centos7 单机安装ELK7收集nginx日志 无坑版,肯定出图

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

centos7 单机安装ELK7收集nginx日志 无坑版,肯定出图

系统:centos7

ELK版本:7.8.0

java环境:11

1. 配置JDK

#配置JDK11
mkdir /root/source/

cd /root/source

wget  https://repo.huaweicloud.com/openjdk/11.0.1/openjdk-11.0.1_linux-x64_bin.tar.gz

tar -zxf openjdk-11.0.1_linux-x64_bin.tar.gz

mv jdk-11.0.1/ /usr/local/jdk11

#修改环境变量
vi /etc/profile
##添加下面四行
export JAVA_HOME=/usr/local/jdk11
export JAVA_BIN=$JAVA_HOME/bin
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH

#####立刻生效
source  /etc/profile

###查看版本
java -version

同步时间

yum -y install ntpdate #安装同步命令


ntpdate ntp1.aliyun.com #同步时间

 

2. 下载ELK源码包

wget -c https://mirrors.huaweicloud.com/elasticsearch/7.8.0/elasticsearch-7.8.0-linux-x86_64.tar.gz

wget -c https://mirrors.huaweicloud.com/logstash/7.8.0/logstash-7.8.0.tar.gz

wget -c https://mirrors.huaweicloud.com/kibana/7.8.0/kibana-7.8.0-linux-x86_64.tar.gz

3. elasticsearch配置启动

tar -zxf elasticsearch-7.8.0-linux-x86_64.tar.gz

mv   elasticsearch-7.8.0 /usr/local/

cd /usr/local

useradd elk

passwd  elk

chown -R elk: elasticsearch-7.8.0/

su elk
cd elasticsearch-7.8.0/config/
cp elasticsearch.yml elasticsearch.yml.bak

 elasticsearch.yml配置文件

node.name: node-1
network.host: 0.0.0.0
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.initial_master_nodes: ["node-1"]

修改其他项

vim config/jvm.options  #打开配置文件后就知道修改哪里了

8-13:-XX:+UseConcMarkSweepGC 改为 8-13:-XX:+UseG1GC



su root #切回root用户

vi /etc/security/limits.conf
#添加下面内容


* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536

#修改内核参数

vi /etc/sysctl.conf
#添加下面一行
vm.max_map_count=655360


#立刻生效
sysctl -p

 

 

 启动elasticsearch

su elk #必须切回普通用户启动!!!

cd elasticsearch-7.8.0/bin

./elasticsearch -d  #-d 守护进程执行


ps -ef|grep java #查看进程是否存在

netstat -ntulp #查看端口有无监听,如果没有等待一会

curl 192.168.118.130:9200  #记得替换ip

4. kibana配置启动

cd /root/source #记得切回root

tar -zxf kibana-7.8.0-linux-x86_64.tar.gz 

mv kibana-7.8.0-linux-x86_64 /usr/local/kibana

cd /usr/local/kibana/config/

cp kibana.yml kibana.yml.bak

vi kibana.yml 
####修改以下四项,如果es写的不是0.0.0.0,这边的localhost也需要换掉
server.port: 5601
server.host: "192.168.118.130"
elasticsearch.hosts: ["http://localhost:9200"]
i18n.locale: "zh-CN"


#启动kibana
nohup /usr/local/kibana/bin/kibana --allow-root >> /tmp/k.log &  

 稍等两分钟,等待端口监听成功,启动过程较慢,可以看/tmp/k.log文件。

端口已经启动了。

web端可以访问出图形了。

浏览器打开"192.168.118.130:5601",点击“试用我们的样例数据”,这三个可以都点击添加,不添加的话,后面会无法创建索引模式,起码创建一个。

 

 

 

可以看到样例数据了,如果看不到,点击时间,选择最近一年就出来了。 

 

5.logstash启动

cd ~/source/

tar -zxf logstash-7.8.0.tar.gz 

mv logstash-7.8.0 /usr/local/logstash

cd /usr/local/logstash/config/

cp logstash.yml logstash.yml.bak

修改logstash.yml文件
http.host: 0.0.0.0

#收集nginx日志
vi nginx.conf

#########内容如下
input {
   file {
        type => "nginx-access-log"
        path => "/var/log/nginx/access.log"
        stat_interval => "2"
        codec => json
   }

}
filter {}
output {
  elasticsearch {
    hosts => ["http://192.168.118.130:9200"]
    index => "logstash-nginx-access-log-%{+YYYY.MM.dd}"
  }
  stdout {
        codec => json_lines
  }
}
###########

cd ..

安装nginx

yum -y install nginx

修改日志格式为json

vi /etc/nginx/nginx.conf

########################################

     log_format json '{"@timestamp":"$time_iso8601",'
                           '"@version":"1",'
                           '"client":"$remote_addr",'
                           '"url":"$uri",'
                           '"status":"$status",'
                           '"domain":"$host",'
                           '"host":"$server_addr",'
                           '"size":$body_bytes_sent,'
                           '"responsetime":$request_time,'
                           '"referer": "$http_referer",'
                           '"ua": "$http_user_agent"'
               '}';

############################################
    access_log  /var/log/nginx/access.log  json;   #日志格式修改为json


启动nginx

systemctl start nginx

 

访问web页面

http://192.168.118.130 

 

启动logstash

nohup ./bin/logstash -f config/nginx.conf >> l.log &   #我是相对路径,如果不在这个目录下,记得打绝对路径

 OK了,进入kibana的界面配置。

http://192.168.118.130:5601

 

 点击后,可能会刷不出来logstash,因为没数据,刷新两下nginx页面,产生一下数据,多等待两分钟,然后再刷新页面就会出现了(大坑,踩了很久)

 

 

 

 

 选择最近1分钟,然后刷新nginx页面

刷新nginx,kibana页面也会跟着输出,如果没变化,点击Refresh

 运行状态yellow问题:

这个问题在于单机版的 ES,是没有备份的,没有副本,设置 index 副本的数量为 0 即可。

 运行状况是yellow

解决方法:

 

 

 发送get请求,后面跟url就可以看到结果,这里看到是yellow状态。

GET /_cluster/health

 发送put请求,

PUT /_settings 
{
    "index" : {
        "number_of_replicas" : 0
    }
}

 再次检查健康状态

 看,它绿了。

 

内容参考来自于:

centos7 源码配置ELK 7.8_oToyix的博客-CSDN博客

logstash收集nginx日志_寰宇001的博客-CSDN博客_logstash nginx

es中单机部署状态为Yellow解决办法_ELK_PHP面试网

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/837184.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号