Elasticsearch+Logstash+Kibana搭建日志平台
1 ELK简介
ELK是Elasticsearch+Logstash+Kibana的简称
ElasticSearch是一个基于Lucene的分布式全文搜索引擎,提供 RESTful API进行数据读写
Logstash是一个收集,处理和转发事件和日志消息的工具
- Kibana是Elasticsearch的开源数据可视化插件,为查看存储在ElasticSearch提供了友好的Web界面,并提供了条形图,线条和散点图,饼图和地图等分析工具
总的来说,ElasticSearch负责存储数据,Logstash负责收集日志,并将日志格式化后写入ElasticSearch,Kibana提供可视化访问ElasticSearch数据的功能。
1.1 环境准备
10.0.0.7 elasticsearch
10.0.0.8 logstash
10.0.0.9 kibana
环境准备:
[root@es-node1 ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@logstash ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@kibana ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
#官网下载地址
https://www.elastic.co/downloads
- 每台机器需要优化操作系统否则报错
[root@es-node1 ~]# cat /etc/security/limits.conf|tail -5
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
[root@es-node1 ~]# cat /etc/security/limits.d/20-nproc.conf|tail -2
* soft nproc 65536
root soft nproc unlimited
[root@es-node1 ~]# cat /etc/sysctl.conf |tail -2
vm.max_map_count=655360
fs.file-max=655360
[root@es-node1 ~]# sysctl -p
vm.max_map_count = 655360
fs.file-max = 655360
1.2 搭建单机6.0版本elasticsearch
[root@es-node1 ~]# ll
total 197448
-rw-r--r-- 1 root root 28017602 Sep 12 23:02 elasticsearch-6.0.0.tar.gz
-rw-r--r-- 1 root root 174163338 Sep 12 23:02 jdk-8u151-linux-x64.rpm
[root@es-node1 ~]# useradd elasticsearch
[root@es-node1 ~]# mv elasticsearch-6.0.0.tar.gz /usr/local/src/
[root@es-node1 ~]# rpm -ivh jdk-8u151-linux-x64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:jdk1.8-2000:1.8.0_151-fcs ################################# [100%]
Unpacking JAR files...
tools.jar...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
[root@es-node1 ~]# cd /usr/local/src/
[root@es-node1 src]# ll
total 27364
-rw-r--r-- 1 root root 28017602 Sep 12 23:02 elasticsearch-6.0.0.tar.gz
[root@es-node1 src]# tar xf elasticsearch-6.0.0.tar.gz -C ../
[root@es-node1 src]# cd ..
[root@es-node1 local]# mv elasticsearch-6.0.0/ elasticsearch
[root@es-node1 local]# cd elasticsearch/
[root@es-node1 elasticsearch]# chown -R elasticsearch.elasticsearch .
[root@es-node1 elasticsearch]# mkdir -p /data/es/logs /data/es/data
[root@es-node1 elasticsearch]# chown -R elasticsearch.elasticsearch /data/es/logs /data/es/data
[root@es-node1 elasticsearch]# su - elasticsearch
[elasticsearch@es-node1 ~]$ cd /usr/local/elasticsearch/
[elasticsearch@es-node1 elasticsearch]$ cd config/
[elasticsearch@es-node1 config]$ cp elasticsearch.yml{,.bak}
[elasticsearch@es-node1 config]$ cat elasticsearch.yml
cluster.name: es
node.name: es1
path.data: /data/es/data
path.logs: /data/es/logs
network.host: 10.0.0.7
http.port: 9200
transport.tcp.port: 9300
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["10.0.0.7:9300"]
discovery.zen.minimum_master_nodes: 1
http.cors.enabled: true
http.cors.allow-origin: "*"
#增加端口
[root@es-node1 ~]# firewall-cmd --add-port=9200/tcp --permanent
[root@es-node1 ~]# firewall-cmd --add-port=9300/tcp --permanent
#重新加载防火墙规则
[root@es-node1 ~]# firewall-cmd --reload
#后台启动
[elasticsearch@es-node1 ~]$ /usr/local/elasticsearch/bin/elasticsearch -d
[root@es-node1 ~]# curl http://10.0.0.7:9200/_cluster/health #显示green为正常
- green 最健康得状态,说明所有的分片包括备份都可用
- yellow 基本的分片可用,但是备份不可用(或者是没有备份)
- red 部分的分片可用,表明分片有一部分损坏。此时执行查询部分数据仍然可以查到,遇到这种情况,还是赶快解决比较好
1.3 安装elasticsearch-head
#安装node步骤略
[elasticsearch@es-node1 ~]$ cd /usr/local/src/
[elasticsearch@es-node1 ~]$ git clone https://github.com/mobz/elasticsearch-head.git
[elasticsearch@es-node1 ~]$ cd /usr/local/src/elasticsearch-head/
[elasticsearch@es-node1 ~]$ npm install
[elasticsearch@es-node1 ~]$ npm run start &
1.4 安装logstash
[root@logstash ~]# ll
total 279772
-rw-r--r-- 1 root root 174163338 Sep 13 03:08 jdk-8u151-linux-x64.rpm
-rw-r--r-- 1 root root 112316625 Sep 13 03:08 logstash-6.0.0.tar.gz
[root@logstash ~]# rpm -ivh jdk-8u151-linux-x64.rpm
[root@logstash ~]# tar xf logstash-6.0.0.tar.gz -C /usr/local/
[root@logstash ~]# cd /usr/local/
[root@logstash ~]# mv logstash-6.0.0/ logstash
- 修改配置文件
[root@logstash config]# mkdir -p /data/logstash/{data,logs}
[root@logstash config]# cat logstash.yml
path.data: /data/logstash/data
path.logs: /data/logstash/logs
- 编写收集日志的conf文件
[root@logstash logstash]# mkdir -p /usr/local/logstash/conf.d
[root@logstash logstash]# cd /usr/local/logstash/conf.d
[root@logstash logstash]# cat conf.d/system-log.conf
input {
file {
path => "/var/log/messages"
type => "systemlog"
start_position => "beginning"
stat_interval => "3"
}
file {
path => "/var/log/secure"
type => "securelog"
start_position => "beginning"
stat_interval => "3"
}
} output {
if [type] == "systemlog" {
elasticsearch {
hosts => ["10.0.0.7:9200"]
index => "system-log-%{+YYYY.MM.dd}"
}
}
if [type] == "securelog" {
elasticsearch {
hosts => ["10.0.0.7:9200"]
index => "secury-log-%{+YYYY.MM.dd}"
}
}
}
#检查文件ogstash
[root@logstash logstash]# ./bin/logstash -f ./conf.d/system-log.conf -t
#启动logstash
[root@logstash logstash]# ./bin/logstash -f ./conf.d/system-log.conf
此时elasticsearch的状态
1.5 安装kibana
[root@kibana src]# ll /usr/local/src/
total 61216
-rw-r--r-- 1 root root 62681537 Sep 11 10:27 kibana-6.0.0-linux-x86_64.tar.gz
[root@kibana src]# tar xf kibana-6.0.0-linux-x86_64.tar.gz
[root@kibana src]# mv kibana-6.0.0-linux-x86_64 ../kibana
#更改配置文件
[root@kibana config]# cat kibana.yml
server.port: 5601
server.host: "10.0.0.9"
elasticsearch.url: "http://10.0.0.7:9200"
#启动kibana
[root@kibana kibana]# ./bin/kibana
- 添加索引
- 这样我们最基本的收集日志就完成了,当然了这只是开始还差很多优化以及dashboard图形等展示
Elasticsearch+Logstash+Kibana搭建日志平台的更多相关文章
- 使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践--转载
原文地址:https://wsgzao.github.io/post/elk/ 另外可以参考:https://www.digitalocean.com/community/tutorials/how- ...
- Centos6.5使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践
Centos6.5安装Logstash ELK stack 日志管理系统 概述: 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的 ...
- 用ElasticSearch,LogStash,Kibana搭建实时日志收集系统
用ElasticSearch,LogStash,Kibana搭建实时日志收集系统 介绍 这套系统,logstash负责收集处理日志文件内容存储到elasticsearch搜索引擎数据库中.kibana ...
- Elasticsearch + Logstash + Kibana 搭建教程
# ELK:Elasticsearch + Logstash + Kibana 搭建教程 Shipper:日志收集者.负责监控本地日志文件的变化,及时把日志文件的最新内容收集起来,输出到Redis暂存 ...
- 键盘侠Linux干货| ELK(Elasticsearch + Logstash + Kibana) 搭建教程
前言 Elasticsearch + Logstash + Kibana(ELK)是一套开源的日志管理方案,分析网站的访问情况时我们一般会借助 Google / 百度 / CNZZ 等方式嵌入 JS ...
- 【转】ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
[转自]https://my.oschina.net/itblog/blog/547250 摘要: 前段时间研究的Log4j+Kafka中,有人建议把Kafka收集到的日志存放于ES(ElasticS ...
- 【Big Data - ELK】ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
摘要: 前段时间研究的Log4j+Kafka中,有人建议把Kafka收集到的日志存放于ES(ElasticSearch,一款基于Apache Lucene的开源分布式搜索引擎)中便于查找和分析,在研究 ...
- ELK(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台
一.简介 ELK 由三部分组成elasticsearch.logstash.kibana,elasticsearch是一个近似实时的搜索平台,它让你以前所未有的速度处理大数据成为可能. Elastic ...
- ELK6.0部署:Elasticsearch+Logstash+Kibana搭建分布式日志平台
一.前言 1.ELK简介 ELK是Elasticsearch+Logstash+Kibana的简称 ElasticSearch是一个基于Lucene的分布式全文搜索引擎,提供 RESTful API进 ...
随机推荐
- JVM调优 — 命令大全(jps jstat jmap jhat jstack jinfo)(转)
运用jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我们来定位问题!虽然jvm调优成熟的工具已经有很多:jconsole.大名鼎鼎的VisualVM,IBM的Memory Analyzer ...
- django 开发中数据库做过什么优化??
1.设计表时,尽量少使用外键,因为外键约束会影响插入和删除性能: 2.使用缓存,减少对数据库的访问: 3.在 orm 框架下设置表时,能用 varchar 确定字段长度时,就别用 text: 4.可以 ...
- 回溯--- Permutations
46.Permutations (Medium)](https://leetcode.com/problems/permutations/description/) [1,2,3] have the ...
- 一些关于C#发送邮件的代码
1.命名空间 using System.Net.Mail; 2.创建一个MailMessage类的对象 MailMessage mail = new MailMessage(); MailMessag ...
- AOS Clustering on one Server
原文链接:http://www.cnblogs.com/JackyXu1981/articles/1287910.html AOS Clustering on one Server AOS Clust ...
- MVC项目集成swagger
1.创建WebAPI项目解决方案 2.使用nuget引入Swashbuckle包 引入Swashbuckle包后App_Start文件夹下会多出一个SwaggerConfig文件 3.添加接口注释 项 ...
- mysql清空表数据并重置自增ID
mysql清空表数据并重置自增ID: ## 查看mysql> select * from work_order_company;mysql> show create table work_ ...
- Linux性能优化从入门到实战:08 内存篇:内存基础
内存主要用来存储系统和应用程序的指令.数据.缓存等. 内存映射 物理内存也称为主存,动态随机访问内存(DRAM).只有内核才可以直接访问物理内存. Linux 内核给每个进程都提供了一个独立的 ...
- css定位选择兄弟元素,nth-of-type
<span class="input-group-btn" the-id="num-change"> <button class=" ...
- python基础——对时间进行加减
在datetime模块中有一个timedelta这个方法,它代表两个datetime之间的时间差.. In [42]: datetime.datetime.now().strftime('%Y-%m- ...