centos6.5下的elk部署

简介:

1、介绍

   elk是实时日志分析平台,主要是为开发和运维人员提供实时的日志分析,方便人员更好的了解系统状态和代码问题。

2、elk中的e(elasticsearch):

(2.1)先安装依赖包,官方文档说明使用java1.8

yum -y install java-1.8.0-openjdk

安装elasticsearch:

tar zvxf elasticsearch-1.7.0.tar.gz

mv elasticsearch-1.7.0 /usr/local/elasticsearch

vim /usr/local/elasticsearch/config

cp elasticsearch.yml elasticsearch.yml.bak

vim elasticsearch.yml(修改)

1
2
3
4
5
6
7
8
9
10
11
12
  cluster.name: elasticsearch
  node.name: syk
  node.master:  true
  node.data:  true
  index.number_of_shards: 5
  index.number_of_replicas: 1(分片副本)
  path.data:  /usr/local/elasticsearch/data
  path.conf:  /usr/local/elasticsearch/conf
  path.work:  /usr/local/elasticsearch/work
  path.plugins:  /usr/local/elasticsearch/plugins
  path.logs:  /usr/local/elasticsearch/logs
  bootstrap.mlockall:  true  (内存)

启动:/usr/local/elasticsearch/bin/elasticsearch -d

netstat -tlnp查看

会有9200与9300的java进程

curl http://192.168.137.50:9200

显示:  

1
2
3
4
5
6
7
8
9
10
11
12
13
{
   "status"  : 200,
   "name"  "syk" ,
   "cluster_name"  "elasticsearch" ,
   "version"  : {
     "number"  "1.7.0" ,
     "build_hash"  "929b9739cae115e73c346cb5f9a6f24ba735a743" ,
     "build_timestamp"  "2015-07-16T14:31:07Z" ,
     "build_snapshot"  false ,
     "lucene_version"  "4.10.4"
   },
   "tagline"  "You Know, for Search"
}

(2.2)使用官方给的启动脚本:

https://codeload.github.com/elastic/elasticsearch-servicewrapper/zip/master

用rz命令传到服务器上

unzip elasticsearch-servicewrapper-master.zip

mv elasticsearch-servicewrapper-master/service/ /usr/local/elasticsearch/bin/

cd /usr/local/elasticsearch/bin/service

./elasticsearch install(在init.d下自动创建服务脚本)

/etc/init.d/elasticsearch restart

1
2
3
4
5
6
7
curl -XGET  'http://192.168.137.50:9200/_count?pretty'  -d '
> {
>       "query" :{
>          "match_all" :{}
>     }
>  }
> '

会返回:

1
2
3
4
5
6
7
8
{
   "count"  : 0,
   "_shards"  : {
     "total"  : 0,
     "successful"  : 0,
     "failed"  : 0
   }
}

(2.3)基于rest api的界面(可以增删改差)

安装插件:/usr/local/elasticsearch/bin/plugin -i elasticsearch/marvel/latest (自动安装)

网页访问:http://192.168.137.50:9200/_plugin/marvel

安装集群管理插件

/usr/local/elasticsearch/bin/plugin -i mobz/elasticsearch-head

或者:https://github.com/mobz/elasticsearch-head/archive/master.zip下载下来,rz传到服务器

unzip elasticsearch-head-master.zip

mv elasticsearch-head-master plugins/head

网页访问:http://192.168.137.50:9200/_plugin/head

可以以网页的方式显示你的分片已分片副本。


3、elk中的l(logstash):

(3.1)安装logstash:

 i)、官方提供了yum安装的安装方式:

   1、rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

   2、vim /etc/yum.repos.d/logstash.repo

    添加:

1
2
3
4
5
6
     [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

   3、yum --enablerepo=logstash-2.3 -y install logstash

 ii)、下载tar包安装:

   tar zvxf logstash-1.5.3.tar.gz

   mv logstash-1.5.3 /usr/local/logstash

(3.2)测试

1
   /usr/local/logstash/bin/logstash  -e  'input { stdin{} } output { stdout{codec => rubydebug} }'

  输入hehe

  显示:  

1
2
3
4
5
6
7
8
   Logstash startup completed
   hehe
   {
        "message"  =>  "hehe" ,
       "@version"  =>  "1" ,
     "@timestamp"  =>  "2016-08-07T17:46:10.836Z" ,
           "host"  =>  "web10.syk.com"
    }

这表示正常。

(3.3)写logstash配置文件

  注意:

   必须input{}与output{}

   写法:符号使用=>

 vim /etc/logstash.conf 

1
2
3
4
5
6
7
8
9
10
11
    input{
      file  {
        path =>  "/var/log/syk.log"
     }
    }
    output{
      file  {
        path =>  "/tmp/%{+YYYY-MM-dd}.syk.gz"
        gzip  =>  true
      }
    }

启动logstash:/usr/local/logstash/bin/logstash -f /etc/logstash.conf

cd /var/log

cat maillog >> syk.log(追加到syk.log里)

在/tmp下可以看到以日期命名的syk.gz压缩文件

(3.4)使用redis存储logstash:

 yum -y install redis(redis放在另外一台服务器上)

 vim /etc/redis.conf(修改)

  bind 192.168.137.52

 在192.168.137.52服务器上也安装logstash

 编写配置文件:

 vim /etc/logstash.conf  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
    input{
      file  {
        path =>  "/var/log/syk.log"
      }
    }
    output{
      redis {
      data_type =>  "list"
      key =>  "system-messages"
      host =>  "192.168.137.52"
      port =>  "6379"
      db =>  "1"
      }
    }

启动52服务器的logstash:

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

 cd /var/log

 cat maillog >> syk.log(追加到syk.log里)

进去redis里查看:

1
2
3
4
  redis-cli -h 192.168.137.52 -p 6379
  select  1
  keys *(可以看到system-messages这个key)
  llen system-messages(可以看大system-messages这个key的长度)

(3.4)将logstash收集的日志信息传到es上

 在192.168.137.50的服务器上写logstash配置文件:

 vim /etc/logstash.conf   

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    input {
       redis {
       data_type =>  "list"
       key =>  "system-messages"
       host =>  "192.168.137.52"
       port =>  "6379"
       db =>  "1"
      }
    }
    output {
      elasticsearch {
      host =>  "192.168.137.50"
      protocol =>  "http"
      index =>  "system-messages-%{+YYYY.MM.dd}"
       }
    }

启动logstash:

1
  /usr/local/logstash/bin/logstash  -f  /etc/logstash .conf

这时我们去看redis的LLEN system-messages,会发现已经变成了0,这说明数据已经传输到es上了。

 网页访问:http://192.168.137.50:9200/_plugin/head/

 会多出来一个system-messages-2016.08.07的分片副本


4、elk中的k(kibana):

(4.1)安装:

  解压 mv就行

   cd /usr/local/kiabna/config/

   vim kibana.yml修改:

1
    elastcsearch:  "http://192.168.137.50:9200"

启动:

1
     nohup  . /bin/kiban  &(默认端口5601)

网页访问:

 http://192.168.137.50:5601

 相关操作需要配合图片说明,这里暂时不说了。


   


本文转自 sykmiao 51CTO博客,原文链接:http://blog.51cto.com/syklinux/1836732,如需转载请自行联系原作者

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
5月前
|
Ubuntu 应用服务中间件 网络安全
ELK完整部署教程
本文介绍了在Ubuntu 22.04上部署ELK(Elasticsearch、Logstash、Kibana)及Filebeat的完整步骤。内容涵盖Elasticsearch安装与安全配置、Kibana启用SSL与注册、Logstash配置输入输出,以及Filebeat采集日志并发送至Logstash或Elasticsearch的方法。适用于本地非容器环境的日志收集与可视化搭建。
|
7月前
|
Linux 应用服务中间件 nginx
在CentOS上部署Minikube教程
至此,您已成功在CentOS上部署并使用Minikube。您可以自由探索Kubernetes的世界,熟练配置和管理Kubernetes集群。
713 20
|
监控 前端开发 Linux
centos7系统安装部署zabbix5.0
【9月更文挑战第23天】在CentOS 7系统上部署Zabbix 5.0的步骤包括:安装MariaDB数据库及必要软件包,配置Zabbix仓库,设置数据库并导入Zabbix数据库架构,配置Zabbix服务器与前端参数,启动相关服务,并通过浏览器访问Web界面完成安装向导。
1092 0
|
Oracle Java 关系型数据库
CentOS 7.6操作系统部署JDK实战案例
这篇文章介绍了在CentOS 7.6操作系统上通过多种方式部署JDK的详细步骤,包括使用yum安装openjdk、基于rpm包和二进制包安装Oracle JDK,并提供了配置环境变量的方法。
550 80
|
Oracle 关系型数据库 MySQL
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
2293 4
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
335 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
441 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
机器学习/深度学习 文字识别 Linux
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
480 1
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
|
存储 Linux 开发者
虚拟机centos7.9一键部署docker
本文介绍了如何在 CentOS 7.9 虚拟机上安装 Docker 社区版 (Docker-ce-20.10.20)。通过使用阿里云镜像源,利用 `wget` 下载并配置 Docker-ce 的 YUM 仓库文件,然后通过 `yum` 命令完成安装。安装后,通过 `systemctl` 设置 Docker 开机自启并启动 Docker 服务。最后,使用 `docker version` 验证安装成功,并展示了客户端与服务器的版本信息。文中还提供了列出所有可用 Docker-ce 版本的命令。
2377 0
虚拟机centos7.9一键部署docker