CentOS 8 部署 ELK 8.7真的是方便呀

这篇具有很好参考价值的文章主要介绍了CentOS 8 部署 ELK 8.7真的是方便呀。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 

之前装过一次 ELK 7.7,相比之下装 8.7可方便太多了~  

 

CentOS版本

  CentOS-8.5.2111-x86_64-dvd1

 

JAVA
  ELK会自己使用内置版本的JDK

 

ElasticSearch

  8.7.0 下载页面 Download Elasticsearch | Elastic

 

Kinbana

  8.7.0 下载地址 Download Kibana Free | Get Started Now | Elastic

 

Logstash

  8.7.0 下载地址 Download Logstash Free | Get Started Now | Elastic

 

安装ElasticSearch8

   加入资源

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

  在/etc/yum.repos.d/位置创建文件elasticsearch.repo

cd /etc/yum.repos.d/

vim elasticsearch.repo

  输入如下内容:

[elasticsearch]
name=Elasticsearch repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md

 

将镜像从 mirror.centos.org 更改为 vault.centos.org (yum可用,则跳过)

  进入到 yum 的 repos 目录

cd /etc/yum.repos.d/

  修改 centos 文件内容

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

  生成缓存更新

yum makecache

  运行 yum update,并且重新安装 vim

yum update -y
yum -y install vim

 

   执行 yum 命令完成 es 安装

yum install --enablerepo=elasticsearch elasticsearch

  安装完记得保存如下信息,便于后续使用

Authentication and authorization are enabled.
TLS for the transport and HTTP layers is enabled and configured.
 
The generated password for the elastic built-in superuser is : xxxxxxxxx
 
If this node should join an existing cluster, you can reconfigure this with
'/usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token <token-here>'
after creating an enrollment token on your existing cluster.
 
You can complete the following actions at any time:
 
Reset the password of the elastic built-in superuser with 
'/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic'.
 
Generate an enrollment token for Kibana instances with 
 '/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana'.
 
Generate an enrollment token for Elasticsearch nodes with 
'/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node'.

 

添加用户和用户组 es 并未用户组提供文件夹权限

groupadd es 
useradd es -g es -p password 
 
chown es:es -R /usr/share/elasticsearch
chown es:es -R /etc/elasticsearch
chown es:es -R /var/lib/elasticsearch
chown es:es -R /var/log/elasticsearch
chown es:es -R /var/
chmod 777 /etc/elasticsearch
chmod 777 /usr/share/elasticsearch/
chmod 777 /etc/sysconfig/elasticsearch

 

 编辑 elasticsearch.yml 配置文件

 cd /etc/elasticsearch
vim elasticsearch.yml

  配置如下:

network.host: 0.0.0.0
http.port: 9200
xpack.security.enabled: false

  使用 es 账号启动 ElasticSearch

cd /usr/share/elasticsearch/bin/
su es
./elasticsearch -d

 

关闭防火墙或者开放9200端口,即可通过 IP:9200 访问

# 查看防火墙状态
systemctl status firewalld.service

# 关闭防火墙
systemctl stop firewalld.service

 

   如果遇到安全提示则选择继续访问,并输入用户名密码这个用到的用户名密码是安装Es后我们保存的那个哦

CentOS 8 部署 ELK 8.7真的是方便呀

 

安装 Kibana

  在 /etc/yum.repos.d/ 位置创建文件 kibana.repo

cd /etc/yum.repos.d/

vim kibana.repo

  输入如下内容

[kibana-8.x]
name=Kibana repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

  执行yum命令完成安装

yum install kibana

  修改 kibana 配置文件

vim /etc/kibana/kibana.yml

  增加如下内容:

server.host: "0.0.0.0"
server.post: 5601

  以root后台启动服务

nohup /usr/share/kibana/bin/kibana --allow-root &

  在ES安装目录 执行如下代码获取 token (本文 8.7 版本不需要)

/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

   关闭防火墙或者开启5601端口,并使用浏览器访问 IP:5601

 

安装 Logstash

  在 /etc/yum.repos.d/ 位置创建文件 logstash.repo

cd /etc/yum.repos.d/
vim logstash.repo

  输入如下内容:

[logstash-8.x]
name=Elastic repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

  执行yum命令完成安装

yum install logstash

  安装完成后的启动目录

/usr/share/logstash/bin/logstash

  在 /etc/logstash/ 目录下创建 logstash.conf 配置文件

cd /etc/logstash/
vim logstash.conf

  输入如下内容,以搜集 Nginx 的日志

#---------------------------------------------------------------- nginx-----------------------------------------------------------------------
input {
   file {
        type => "nginx-error-log"
        path => "/usr/local/nginx/logs/error.log"
    }
    file {
        type => "nginx-access-log"
        path => "/usr/local/nginx/logs/access.log"
        codec => json
    }
}
 
filter {
    if [type] =~ "nginx-error-log" 
    {
        grok {
            match => {
                "message" => "(?<datetime>\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2}) \[(?<errtype>\w+)\] \S+: \*\d+ (?<errmsg>[^,]+), (?<errinfo>.*$)"
            }
        }
 
        mutate {
            rename => {
                "message" => "z_message" 
                "host" => "fromhost"
            } 
        }   
    } else if [type] =~ "nginx-access-log"  {
        mutate {
            split => {"upstremtime" => ","}
        }
        mutate {
            convert => { "upstremtime" => "float"}
        }
    }
 
    if [errinfo]
    {
            ruby {
                code => "
                        new_event = LogStash::Event.new(Hash[event.get('errinfo').split(', ').map{ |l| l.split(': ')  }])
                        new_event.remove('@timestamp')
                        event.append(new_event)
                "
            }
 
            grok {
                match => {
                    "request" => '"%{WORD:verb} %{URIPATHPARAM:urlpathparam}?(?: HTTP/%{NUMBER:httpversion})"'
                }
                patterns_dir => ["/home/data/logstash/patterns/"]
                remove_field => [ "errinfo","request" ]
            }
     }
}
 
output {
    #elasticsearch { host => localhost }
    stdout { codec => rubydebug }
    if [type] =~ "nginx-error-log" {
        elasticsearch {
            hosts => ["http://ES的域名或者IP地址"]
            index => "logstash-nginx-error-log-%{+YYYY.MM.dd}"
            document_type => "data"
            user => "es用户名"
            password => "es密码"
        }      
    }else if [type] =~ "nginx-access-log"  {
          elasticsearch {
            hosts => ["http://ES的域名或者IP地址"]
            index => "logstash-nginx-access-log-%{+YYYY.MM.dd}"
            document_type => "data"
            user => "es用户名"
            password => "es密码"
        }      
    }
}

  指定配置文件,启动 logstash

/usr/share/logstash/bin/logstash -f /etc/logstash/logstash.conf

# 后台启动
nohup /usr/share/logstash/bin/logstash -f /etc/logstash/logstash.conf &

 

格式化 Nginx 日志

  进入 nginx 配置文件(以各自的文件目录、文件名为准)

cd /usr/local/nginx/conf/
vim nginx.conf

  在 http 里输入如下内容:

    log_format main '{"@timestamp":"$time_iso8601",'
        '"host":"$server_addr",'
        ' "clientip" : "$remote_addr",'
        ' "size" : "$body_bytes_sent" ,'
        '"respnsetime":"$request_time",'
        '"upstremtime":"$upstream_response_time",'
        '"upstremhost":"$upstream_addr",'
        '"httphost":"$host",'
        '"referer":"$http_referer",'
        '"xff":"$http_x_forwarded_for",'
        '"agent":"$http_user_agent",'
        '"clientip":"$remote_addr",'
        '"request":"$request",'
        '"uri":"$uri",'
        '"status":"$status"}';
   
    access_log /usr/local/nginx/logs/access.log main;
    error_log /usr/local/nginx/logs/error.log error;

  重新加载 Nginx 

/usr/local/nginx/sbin/nginx -s reload

  进入 kibana,就能看到推过来的 Nginx 的日志

CentOS 8 部署 ELK 8.7真的是方便呀

 

安装 filebeat

  logstash 占用的资源比较大,没有 filebeat 轻量,所以官方也推荐使用beats来作为日志采集工具。而且beats可扩展,支持自定义构建。

yum install filebeat -y

  备份其配置文件,并新建

mv /etc/filebeat/filebeat.yml /etc/filebeat/filebeat.yml.bek

vim /etc/filebeat/filebeat.yml

  输入如下内容:

- type: log
  paths: - /var/log/messages   # 指定需要收集的日志文件的路径
  output.elasticsearch:
     hosts: ["127.0.0.1:9200"] # 配置 Elasticsearch 服务器的 IP 地址

  命令

systemctl start filebeat       #启动
systemctl enable filebeat      #开机启动
systemctl status filebeat      #查看
systemctl stop filebeat        #停止

 

   告辞~

 

 

 

 

 

 

 

 

 

 


 文章来源地址https://www.toymoban.com/news/detail-435009.html

到了这里,关于CentOS 8 部署 ELK 8.7真的是方便呀的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux centOS 7部署ELK(elasticSearch、logstash、kibana)

    Linux centOS 7部署ELK(elasticSearch、logstash、kibana) 目录 1【yum模式安装】 1.1【安装ElasticSearch】 1.2【安装Kibana】 1.3【安装Logstash】 1.4【安装Filebeat】 2【压缩包方式安装elk】 原文链接: How To Install Elasticsearch, Logstash, and Kibana (Elastic Stack) on Ubuntu 16.04 | DigitalOcean 十分钟搞定CentOS

    2024年02月07日
    浏览(50)
  • centos7.6部署ELK集群(一)之elasticsearch7.7.0集群部署

    32.3. 部署es7.7.0 32.3.1. 下载es(各节点都做) wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-linux-x86_64.tar.gz 32.3.2. 解压至安装目录(各节点都做) tar -xvf elasticsearch-7.7.0-linux-x86_64.tar.gz -C /vmdata/ 32.3.3. 创建es用户并设置密码(各节点都做) ES 7.x 开始不再允许以任何方

    2023年04月17日
    浏览(45)
  • 【AI人工智能】 最强大的语言模型镜像 使用起来真的太方便了! 真的要解放代码思维了吗?

    🚀 个人主页 极客小俊 ✍🏻 作者简介:web开发者、设计师、技术分享博主 🐋 希望大家多多支持一下, 我们一起进步!😄 🏅 如果文章对你有帮助的话,欢迎评论 💬点赞👍🏻 收藏 📂加关注 前言 🍉 AI 在某些基础应用领域可以帮助你减少很多工作量,很强大哦! 嘿嘿 优

    2024年02月10日
    浏览(61)
  • 虚拟机CentOS7.5编译安装Qt4.8.7

    官网下载链接:Qt4.8.7 官网下载速度可能会非常慢,本人已上传至CSDN,点此下载,下载后需要先用7z软件解压成zip包。 环境安装 解压qt-everywhere-opensource-src-4.8.7.zip 不能在Windows解压zip包,后续会出错 将zip包拷贝至centos虚拟机中,用以下命令解压 编译安装 注 :添加 -fontconfig

    2024年01月18日
    浏览(43)
  • rhel 8.7 部署 keepalived+haproxy 实现 mysql 双主高可用场景

    话不多说,直接开搞 ip 服务 172.72.0.116 keepalived+haproxy+mysql 172.72.0.137 keepalived+haproxy+mysql 172.72.0.100 VIP 部署前,大家先要确认集群之间的时间是否一致,集群类的服务,最怕时间不一致 Mysql 二进制文件下载地址 部署相关的操作,两台机器都需要执行,需要执行指定机器时,会额

    2024年02月11日
    浏览(42)
  • Ubantu安装教程(其实和之前CentOS差不多)

    VMware下载安装 所有分享提取码都会是1152,永久有效 官网下载 阿里云 图形到DOS:Ctrl+alt+f2 (呀我Ubuntu上好像不行,CentOS是可以的) DOS到图形:输入startx 或者 在命令上输入 init 3 切换到DOS界面 输入init 5 切换到图形界面

    2024年02月06日
    浏览(39)
  • 记一次线上问题 → 偶尔的热情真的难顶呀!

    昨晚和媳妇坐在沙发上刷视频 我用手肘轻轻推了推媳妇:你看这渣男,玩完女的都不娶人家 媳妇:哎哟我天,哎呀妈,我这也没好哪去呀 我疑惑的看向媳妇:啥意思啊 媳妇看向自己的手机:啥意思啊,特么有些人,娶完了也不玩呀 我负责的系统需要同步上游系统的数据 同

    2024年02月03日
    浏览(45)
  • kindle安卓更新固件(已经装过安卓系统)

    《kindle.xxxxxx.zip》入门版499 《kpw2.xxxxxx.zip》Paperwhite二代 《kpw3.xxxxxx.zip》Paperwhite三代及漫画版 《voyage.xxxxxx.zip》Kindle Voyage 《oasis.xxxxxx.zip》Kindle Oasis 安卓固件下载(包含原生系统):http://182.254.232.41/download/android 安卓固件下载(不含原生系统):http://182.254.232.41/download/update 32位系

    2024年02月09日
    浏览(34)
  • docker-compose重新部署之前的环境和项目

    因为目前工作中项目大部分都是使用的docker环境,使用docker-compose编排部署的,所以这段时间就自己尝试使用docker部署一下之前自己写的练手项目,其中的环境有 mysql8 、 php7.4 、 redis3 、 rabbitmq 、 nginx 、 elasticsearch ,当然这些技术有一些我都只是了解,平时工作用不到,自己

    2023年04月26日
    浏览(80)
  • centos7 搭建ELK(elasticsearch、logstash、kibana)

    1、下载安装包 使用华为镜像站下载速度很快,华为镜像站: https://mirrors.huaweicloud.com/home ,下载时需要保证版本一致 2、安装elasticsearch 解压到当前目录 安装,将Elasticsearch移动到/opt目录之中 创建Elasticsearch用户 es 规定 root 用户不能启动 es,所以需要新建一个其他用户来启动

    2024年02月13日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包