IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> centos7 单机安装ELK7收集nginx日志 无坑版,肯定出图 -> 正文阅读

[系统运维]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面试网

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 12:16:02  更:2022-04-26 12:17:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 19:39:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码