ELK安装文档及相关优化
前言:随着硬件成本的不断低廉,我们可以存储更多数据内容,也会对各数据加以利用,其中一项很重要的数据内容便是日志文件,无论是访问日志还是系统日志或是应用日志,都显得十分重要,而怎么加以利用一直是一个难题,本文就着重于ELK三套件的搭建,是比较流行或者说可靠的日志分析组件,值得注意的说,本文暂时只考虑单机Elasticsearch,并且为了作为演示,就linux的系统日志收集作为演示。
版本说明:
ElasticSearch 1.7.1
Kibana 4..1
Logstash 1.5.2
JAVA jdk-7u76
注: 最新的上面不一定是最新的版本,不同的版本之间可能有兼容问题,而上面的组合是本人已经验证过的了。
首先放一张图镇镇楼
强调:不要用IE浏览Kibana!!!
ELK下载地址:https://www.elastic.co/downloads
JAVA环境的安装就不演示了!!!(推荐使用jdk-7u76-linux-x64.gz)
1
2
3
|
tar zxvf elasticsearch-1.7.1. tar .gz
tar zxvf kibana-4.1.1-linux-x64. tar .gz
tar zxvf logstash-1.5.2. tar .gz
|
值得注意的是,你可以通过elastic提供的rpm包直接安装,但是那对于一个运维人员太没挑战性了~~再者,对ELK的认识实在不够深刻。
下载elasticsearch-servicewrapper(是一个elasticsearch的启动脚本)
#wget https://github.com/elastic/elasticsearch-servicewrapper/archive/master.zip
###通过这个脚本可以更简单执行Elasticsearch服务启动关闭等命令
其中包括
Console 在前台启动
Start 在后台启动
Stop 关闭
Install 装到启动项里面
Remove 移除卸载
开始安装
1
2
3
4
5
|
mv elasticsearch-1.7.1 /data/elasticsearch
unzip master.zip
mv elasticsearch-servicewrapper-master/* /data/elasticsearch/bin/
mv logstash-1.5.2 /data/logstash
mv kibana-4.1.1 /data/kibana
|
ELK三套件都是依赖JAVA环境并不需要编译安装,所以安装其实非常简单,只是有版本兼容问题所以部分人总是装不上,再者ELK需要相关优化,不然就会总是抛出异常。
ELK中的E,elasticsearch一个全文搜索引擎,存储着收集过来的所有数据并支持集群模式,你只用真正的会用的时候你才会体会到它的异常强大,虽然笔者也是刚刚深入,但是又一次通过Python调用API查询自安装使用至今,查询结果大于五万条数据,嗖的一下就返回,没有任何延迟,并且是结果聚合的数据,由此可见一斑,而且是单机版的。
配置elasticsearch
1
|
vi /data/elasticsearch/config/elasticsearch .yml
|
增加下面两行
1
2
|
http.cors.enabled: true
http.cors.allow-origin:http: //ip (本机IP)
|
启动Elasticsearch
1
|
/data/elasticsearch/bin/service/elasticsearch start
|
本地测试Elasticsearch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
curl -X GET http: //localhost :9200/
{
"status" : 200,
"name" : "Jack Flag" ,
"cluster_name" : "elasticsearch" ,
"version" : {
"number" : "1.7.1" ,
"build_hash" : "927caff6f05403e936c20bf4529f144f0c89fd8c" ,
"build_timestamp" : "2015-07-16T14:11:12Z" ,
"build_snapshot" : false ,
"lucene_version" : "4.10.2"
},
"tagline" : "You Know, forSearch"
}
|
ELK中的L指Logstash,是一个日志收集应用,本文主要用来收集系统日志,你当然也可以用来解析各种日志,如Tomcat,Nginx,MongoDB等相关应用日志,此文档作为安装文档就不做演示了。
配置logstash
1
2
|
mkdir /data/logstash/conf/
vi /data/logstash/conf/sys .conf
|
input {
syslog{
port => "514"
type => "syslog"
}
}
output {
elasticsearch {
host => "127.0.0.1"
}
}
上面的信息是说,以syslog作为输入,监听514端口,Type为syslog,将接收的信息输出到本机的elasticsearch。
如果你执行/data/logstash/bin/logstash -f /data/logstash/conf/sys.conf
你会发现本机监听514端口,但是没有用,因为没有配置任何机器的rsyslog,其他机器怎么会发信息过来~
所以我们配置一下,需要收集系统日志的主机的rsyslog
1
2
3
4
|
yum -y install rsyslog
vi /etc/rsyslog .conf
##加入下面一行,ip填日志服务器的IP
*.* @@ip:514
|
当你重启被收集日志主机的rsyslog,该主机就会往日志服务器的514端口以syslog的格式发送系统日志了。
因为是源码安装的,所以可能需要用& 或者nohup 或者自己写的启动脚本将logstash服务放到后台,这里推荐supverisor,后面的kibana也通过supervisor放到后台。
#修改kibana配置文件
1
2
|
# vi/data/kibana/config/kibana.yml
port: 80 ##改为80(默认监听5601端口)
|
然后启动kibana
1
|
/data/kibana/bin/kibana > /dev/null 2>&1 &
|
但是通过&或者nohup实在太不优雅了,我们使用supervisor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
yum -y install supervisor
[program:kibana]
command = /data/kibana/bin/kibana
autorestart = true
redirect = true
stderr_logfile = /var/log/kibana/kibana .log
startsecs = 3
[program:logstash]
command = /data/logstash/bin/logstash -f /data/logstash/conf/logstash .conf -l /data/logstash/logstash_debug .log
autorestart = true
redirect = true
stderr_logfile = /var/log/logstash/logstash .log
startsecs = 3
|
至于supervisord的详细配置,请参考:http://youerning.blog.51cto.com/10513771/1714627
最后启动supervisord即可。
现在你就可以访问日志服务器了。
第一次登陆,应该是下面的页面
因为我们没有创建索引,所以他会提示我们创建索引,点击create即可,如果你没有配置发送系统日志的rsyslog你会发现,输入框是红色,不能create,这是因为elasticsearch没有任何内容。
当然可以手工的创建一条信息。
创建一个配置文件
1
|
vi hello.conf
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
input {
stdin {
type => "human"
}
}
output {
stdout {
codec => rubydebug
}
elasticsearch {
host => "127.0.0.1"
}
}
|
/data/logstash/bin/logstash -f hello.conf
在提示Completed之后,随便输入一条信息即可。
上面安装完成后,你会发现kibana总是会出现红色提示框"shards faild",所以需要相关优化
关于elasticsearch的优化
配置文件/data/elasticsearch/config/elasticsearch.yml增加一面内容
# Search pool
threadpool.search.type: fixed
threadpool.search.size: 20
threadpool.search.queue_size: 10000
系统优化
vi /etc/security/limits.conf
1
2
3
4
|
elasticsearch soft nofile 32000
elasticsearch hard nofile 32000
root hard nofile 32000
root soft nofile 32000
|
后记:好吧,安装文档就到这里吧,关于Elasticsearch的API调用(主要通过Python)以及Kibana的使用在以后的内容文章会说到
本文转自 youerning 51CTO博客,原文链接:http://blog.51cto.com/youerning/1726338
ELK安装文档及相关优化相关推荐
- pytest文档21-pytest-html报告优化(nodeid中文显示[\u6350\u52a9\u6211\u4eec]问题解决)
前言 pytest-html报告中当用到参数化时候,获取用例的nodeid里面有中文时候,会显示[\u6350\u52a9\u6211\u4eec]这种编码(再次声明,这个不叫乱码,这是unicode ...
- Oracle 12c RAC 安装文档
首先,谢谢原作者:此文为转载的文章,现将原地址贴出如下: Oracle 12c RAC 安装文档www.cnblogs.com/leohahah/p/9488963.html 更多精彩Zabbix文 ...
- 达梦数据库DSC集群安装文档
达梦数据库DSC集群安装文档 一. DSC安装准备工作 1 1.1. 创建安装用户 2 1.2. 配置udev存储 2 二. DMDSC 搭建 8 三. 搭建DW容灾架构 39 修改dm.ini,数据 ...
- openstack_Stein版安装文档
openstack Stein 版本安装文档 2019年8月28日 陈即彪 文章目录 1. openstack介绍 1.1. 云计算模式 2. OpenStack 中有哪些项目? 2.1. Opens ...
- mysql数据库21_Mysql5.7.21安装文档
Mysql5.7.21安装文档 发布时间:2020-06-27 13:59:56 来源:51CTO 阅读:946 作者:PengChonggui --1.创建用户组mysql,创建用户mysql并将其 ...
- Oracle 11g 单实例安装文档
这里介绍在Red Hat Enterprise Linux Server release 5.7 (Tikanga)下安装ORACLE 11.2.0.1.0的过程,本文仅仅是为了写这样安装指导文档而整 ...
- 转自 David dai linux平台 oracle 数据库 安装文档
Oracle 官方的安装文档 http://download.oracle.com/docs/cd/B28359_01/install.111/b32002/toc.htm 一. 安装相关包 1.1 ...
- ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档
ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档 2015-10-21 12:51 525人阅读 评论(0) 收藏 举报 分类: Oracle RA ...
- Centos 5.2安装Cacti并集成Nagios安装文档
Centos 5.2安装Cacti并集成Nagios安装文档 本文档并非原创,而是参照网上很多文档,因为不能全部都把参照者列举出来,特在此感谢我参照文档的作者. 一.本文档所用软件说明: . 二.系统 ...
最新文章
- 面试常用shell脚本_Shell脚本编写及常见面试题
- VS2015新建C++工程时,Object reference not set to an instance of an object
- 【送书】2021年哪些好书值得读(小姐姐配音)
- SAS学习︱逻辑库、数据集创建与查看、数据库链接(SAS与R的code对照)
- 计算机专业英语的理解,计算机专业英语之理解网络地址
- ARM系统中断产生流程
- 短信通知接口json报文开发设计总结
- 指数基金投资指南读书笔记
- 【水果识别】柑橘质量检测及分级系统(带面板)【含GUI Matlab源码 1628期】
- windows下载安装配置Geany
- C++进阶笔记001:static 静态生存期 和 动态生存期
- 10月更新!又一波新功能上线,升级后的EasyOps®简直神了!
- 九 曝光矫正与自动包围曝光
- Day210.服务端渲染技术NUXT、整合前台主页面、名师、课程静态页面、首页整合banner数据后端部分【创建banner微服务、接口、banner后台前端实现】 -谷粒学院
- EssentialC++第四章总结+课后习题+踩雷清单
- 两家出版社称考虑将莫言作品编入中学教材-莫言-教材-诺贝尔奖
- 精准测试新玩法の基于犯罪心理学挖掘代码风险
- MAT Memory Analyzer Tool 插件安装(图解)
- linux脚本的注释符号是什么,linux的shell编程中的符号`是什么
- Swan Song 第十一周Scrum Meeting