`
rensanning
  • 浏览: 3549430 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38168
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607363
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682405
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89400
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:401900
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69711
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91744
社区版块
存档分类
最新评论

CentOS 安装 ELK

 
阅读更多
ELK(Elasticsearch, Logstash, Kibana),三个开源软件搭建的实时日志分析平台。

官网:
https://www.elastic.co/products

版本:
  • Elasticsearch 2.3.4 : 日志索引、存储、查询
  • Logstash 2.3.4 : 日志收集、过滤、转发
  • Kibana 4.5.3 : 可视化查询 Elasticsearch 的数据
  • Beats
  •    Filebeat 1.2.3 : 定时获取增量日志并转发给 Logstash
       Topbeat 1.2.3 : 定期收集系统信息并转发给 Logstash


前提:
设置hostname(做SSL证书需要)、安装Java(Elasticsearch和Logstash需要)

(1)导入GPG key
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch


(2)添加Yum仓库
# vi /etc/yum.repos.d/elasticsearch.repo
  [elasticsearch-2.x]
  name=Elasticsearch repository for 2.x packages
  baseurl=https://packages.elastic.co/elasticsearch/2.x/centos
  gpgcheck=1
  gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
  enabled=1
# vi /etc/yum.repos.d/kibana.repo
  [kibana-4.5]
  name=Kibana repository for 4.5.x packages
  baseurl=http://packages.elastic.co/kibana/4.5/centos
  gpgcheck=1
  gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
  enabled=1
# vi /etc/yum.repos.d/logstash.repo
  [logstash-2.3]
  name=Logstash repository for 2.3.x packages
  baseurl=https://packages.elastic.co/logstash/2.3/centos
  gpgcheck=1
  gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
  enabled=1
# vi /etc/yum.repos.d/beats.repo
  [beats]
  name=Elastic Beats Repository
  baseurl=https://packages.elastic.co/beats/yum/el/$basearch
  enabled=1
  gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
  gpgcheck=1


(3)安装Elasticsearch
# yum -y install elasticsearch
# chkconfig --add elasticsearch
# chkconfig elasticsearch on
# rpm -qc elasticsearch
# vi /etc/elasticsearch/elasticsearch.yml
  network.host: localhost
# service elasticsearch start
# service elasticsearch status
# netstat -nltp | grep -E '9200|9300'
# curl -X GET 'http://localhost:9200'


确认Elasticsearch的索引
# curl http://localhost:9200/_cat/indices


(4)安装Kibana
# yum -y install kibana
# chkconfig --add kibana
# chkconfig kibana on
# rpm -qc kibana
# vi /opt/kibana/config/kibana.yml
  server.host: "localhost"
# service kibana start
# service kibana status
# netstat -nltp | grep 5601
# curl -X GET 'http://localhost:5601'


Kibana Dashboards
# cd /usr/local/src/
# curl -L -O https://download.elastic.co/beats/dashboards/beats-dashboards-1.1.0.zip
# unzip beats-dashboards-1.1.0.zip
# cd beats-dashboards-1.1.0
# ./load.sh


(5)安装Logstash
# yum -y install logstash
# chkconfig --add logstash
# chkconfig logstash on

# hostname
# cd /etc/pki/tls
# openssl req -subj '/CN=ELK_server_fqdn/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout private/logstash-forwarder.key -out certs/logstash-forwarder.crt

# vi /etc/logstash/conf.d/02-beats-input.conf
input {
  beats {
    port => 5043
    ssl => true
    ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
    ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
  }
}
# vi /etc/logstash/conf.d/10-syslog-filter.conf
filter {
  if [type] == "syslog" {
    grok {
      match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
      add_field => [ "received_at", "%{@timestamp}" ]
      add_field => [ "received_from", "%{host}" ]
    }
    syslog_pri { }
    date {
      match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
  }
}
# vi /etc/logstash/conf.d/30-elasticsearch-output.conf
output {
  elasticsearch {
    hosts => ["localhost:9200"]
    sniffing => true
    manage_template => false
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
    document_type => "%{[@metadata][type]}"
  }
}
# service logstash configtest
# service logstash start
# service logstash status


(6)安装Filebeat
# cp /tmp/logstash-forwarder.crt /etc/pki/tls/certs/logstash-forwarder.crt
# cd ~
# curl -O https://gist.githubusercontent.com/thisismitch/3429023e8438cc25b86c/raw/d8c479e2a1adcea8b1fe86570e42abab0f10f364/filebeat-index-template.json
# curl -X PUT 'http://localhost:9200/_template/filebeat?pretty' -d@filebeat-index-template.json
# yum -y install filebeat
# chkconfig --add filebeat
# chkconfig filebeat on
# vi /etc/filebeat/filebeat.yml
# egrep -v '^$|^#|^\s+#' /etc/filebeat/filebeat.yml
filebeat:
  prospectors:
    -
      paths:
        - /var/log/*.log
      input_type: log
      document_type: syslog
  registry_file: /var/lib/filebeat/registry
output:
  logstash:
    hosts: ["localhost:5043"]
    tls:
      certificate_authorities: ["/etc/pki/tls/certs/logstash-forwarder.crt"]
shipper:
logging:
  files:
    rotateeverybytes: 10485760 # = 10MB
# service filebeat start
# service filebeat status
# curl -XGET 'http://localhost:9200/filebeat-*/_search?pretty'


(7)安装Topbeat
# cd ~
# curl -O https://raw.githubusercontent.com/elastic/topbeat/master/etc/topbeat.template.json
# curl -XPUT 'http://localhost:9200/_template/topbeat' -d@topbeat.template.json
# yum -y install topbeat
# vi /etc/topbeat/topbeat.yml
# egrep -v '^$|^#|^\s+#' /etc/topbeat/topbeat.yml
output:
  logstash:
    hosts: ["localhost:5043"]
    tls:
      certificate_authorities: ["/etc/pki/tls/certs/logstash-forwarder.crt"]
# service topbeat start  
# service topbeat status  
# curl -XGET 'http://localhost:9200/topbeat-*/_search?pretty'


(8)收集Nginx日志
# mkdir -p /opt/logstash/patterns
# chown logstash: /opt/logstash/patterns
# vi /opt/logstash/patterns/nginx
NGUSERNAME [a-zA-Z\.\@\-\+_%]+
NGUSER %{NGUSERNAME}
NGINXACCESS %{IPORHOST:clientip} %{NGUSER:ident} %{NGUSER:auth} \[%{HTTPDATE:timestamp}\] "%{WORD:verb} %{URIPATHPARAM:request} HTTP/%{NUMBER:httpversion}" %{NUMBER:response} (?:%{NUMBER:bytes}|-) (?:"(?:%{URI:referrer}|-)"|%{QS:referrer}) %{QS:agent}
# chown logstash: /opt/logstash/patterns/nginx
# vi /etc/filebeat/filebeat.yml
    -
      paths:
        - /var/log/nginx/access.log
      document_type: nginx-access
# service filebeat restart
# vi /etc/logstash/conf.d/11-nginx-filter.conf
filter {
  if [type] == "nginx-access" {
    grok {
      match => { "message" => "%{NGINXACCESS}" }
    }
  }
}
# service logstash restart


(9)收集Apache日志
# vi /etc/filebeat/filebeat.yml
    -
      paths:
        - /var/log/apache2/access.log
      document_type: apache-access
# service filebeat restart
# vi /etc/logstash/conf.d/12-apache.conf
filter {
  if [type] == "apache-access" {
    grok {
      match => { "message" => "%{COMBINEDAPACHELOG}" }
    }
  }
}
# service logstash restart


参考:
https://www.elastic.co/guide/index.html
https://www.digitalocean.com/community/tutorial_series/centralized-logging-with-logstash-and-kibana-on-centos-7
分享到:
评论

相关推荐

    centos8 ELK安装步骤以及相关注意点

    CentOS 8 安装ELK 7.x 本次示例使用的是阿里云的机器,系统CentOS8 常见的问题的原因以及处理

    centos7 elk 部署全过程

    在本文中,我们将详细探讨如何在CentOS 7操作系统上部署Elasticsearch 6.5.4、Logstash 6.5.4、Kibana 6.5.4以及log4j2,以此组成一个ELK(Elasticsearch、Logstash和Kibana)日志处理和可视化平台。这个过程将涉及...

    Centos7下搭建ELK日志分析系统

    【Centos7下搭建ELK日志分析系统】 ELK栈是日志管理和分析的强大工具,由Elasticsearch、Logstash、Kibana三个组件组成。Elasticsearch是一个分布式的实时搜索和分析引擎,用于存储、分析和检索大量数据。Logstash...

    centos7--搭建部署ELK服务_xiaohuai0444167的博客-CSDN博客.doc

    CentOS 7 搭建 ELK 服务 ELK 服务是 Elastic Stack 的一部分,包括 Elasticsearch、Logstash 和 Kibana 等组件。ELK 服务可以用来实时地收集、处理和展示日志数据,提供了一个强大的日志分析和可视化平台。 一、...

    Centos 搭建ELK.pdf

    export JAVA_HOME=/fusion/opt/elk/jdk11 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin # 刷新环境变量 source /etc/...

    Centos7.5下安装最新elk6.8.0.zip

    在本文中,我们将深入探讨如何在CentOS 7.5操作系统上安装最新的ELK(Elasticsearch、Logstash和Kibana)6.8.0版本。ELK堆栈是日志管理和分析的强大工具,广泛应用于系统监控、日志聚合以及故障排查等领域。 首先,...

    Centos7 docker-compose安装ELK+Filebeat.zip

    本教程将详细介绍如何在CentOS 7上利用docker-compose安装ELK+Filebeat。 1. **Elasticsearch**:Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,能够对大量数据进行快速的近实时处理。它是ELK堆栈...

    Centos7搭建ELK+filebeat.docx

    【Centos7搭建ELK+filebeat】 ELK(Elasticsearch、Logstash、Kibana)是一个流行的日志分析和管理系统,它允许用户收集、处理、存储和可视化各种来源的日志数据。Filebeat作为轻量级的日志收集代理,常被用于与ELK...

    基于CentOS 6.9搭建ELK环境指南

    无论是甲方还是一方都需要面对大量日志处理的情况,之前分析的时候用基本的 shell 命令进行处理,但是...后来有人推荐了 ELK,最近 ELK升级到了版本五。E, L, K 三大组件统一了版本 号,花了一段时间总 算搭好了。

    ELK6.6安装部署及架构介绍(二进制)-有视频课件

    ELK 6.6 安装软件包括 jdk-8u201-linux-x64.tar.gz 182.9M2019-02-27 11:46 elasticsearch-6.6.0.tar.gz 108.8M2019-02-27 11:45 kafka_2.11-2.1.1.tgz 59.2M2019-02-27 11:45 logstash-6.6.0.tar.gz 161.8M2019-02-...

    安装ELK需要的软件包-Linux-CentOS系统

    安装ELK需要的软件包--Linux-CentOS系统,包含有ElasticSearch,Kibana,LogStash,filebeats

    CentOS7部署ELK相关文件

    以下是对"CentOS7部署ELK相关文件"这一主题的详细解释: **Elasticsearch** Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,能够用于实时索引和搜索大量结构化和非结构化数据。它基于Lucene,提供了...

    ELK集群企业搭建.txt

    ELK集群搭建

    CentOS7安装Docker并发布项目和搭建ELK+Elasticsearch1

    CentOS7安装Docker并发布项目和搭建ELK+Elasticsearch1

    在Centos 7上安装Snort 2.9.15.1.pdf

    在CentOS 7上安装Snort *.*.**.*涉及多个步骤,包括系统更新、安装必要的依赖包、下载并安装Snort及其依赖组件、配置Snort以及进行测试运行。下面是详细的安装与配置过程知识点: 1. 系统更新和预装软件包的安装: ...

    centos7使用docker-compose安装es(包括IK分词器扩展)+kibana

    环境:centos7.7_x86_64 1、虚拟机内存要稍大些至少2G 2、es需要修改linux宿主机的一些参数 设置vm.max_map_count=262144 vim /etc/sysctl.conf vm.max_map_count=262144 不重启, 直接生效当前的命令 ...

    基于Docker快速搭建ELK6.7.0.zip

    用最简单的方法做复杂的工作:基于Centos7.2+Docker18.03.1-ce快速搭建ELK6.7.0!

Global site tag (gtag.js) - Google Analytics