我的ELK搭建笔记(阿里云上部署)

我的
ELK
搭建笔记(基于阿里云)
“不是最好的,但一定是有良心的操作记录。”目录一览
0 重不重要都得有的开头
1 安装配置
1.1 CentOS 7.x环境准备
1.1.1 安装操作系统
1.1.2 更新系统软件包(可选)
1.1.3 更改主机名(可选)
1.1.4 创建应用账号(必选)
1.1.5 安装Java运行环境(可选)
1.2 ELK安装
1.2.1 安装ElasticSearch with x-pack
1.2.2 Trouble shooting for elasticsearch
1.2.3 安装Logstash
1.2.4 Trouble Shooting for Logstash
1.2.5 安装Kibana with x-pack
1.2.6 Kibana界面日志检索
2 最佳实践
2.1 Logstash & JDBC
2.1.1 安装jdbc-input插件
2.1.2 下载jdbc-mysql连接驱动
2.1.3 配置jdbc日志收集参数
2.1.4 启动Logstash连接数据库收集日志
2.2 Kibana相关
2.2.1 获取指定索引下指定类型日志的映射表
2.2.2 修改数据类型映射mappings
2.2.3 判断字段是否存在
3 参考资料

0重不重要都得有的开头
下面一段摘抄自互联网 http://baidu.blog.51cto.com/71938/1676798ELK平台是当前应用比较广泛的一套开源实时日志分析解决方案。ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。官方网站: https://www.elastic.co/products
Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。

Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

1安装配置
1.1 CentOS 7.x环境准备
******1.1.1 安装操作系统**以阿里云
ECS
主机为例,
安装系统时选择
CentOS 7.2 64
位版本。

1.1.2 更新系统软件包(可选)[root@elk-test ~]# yum update1.1.3 更改主机名(可选)[root@iZ2ze1filcblgjr9dcoxioZ ~]# hostnameelk-test[root@iZ2ze1filcblgjr9dcoxioZ ~]# hostname# elk-test[root@elk-test ~]# 1.1.4 创建应用账号(必选)以应用账号身份启动
ElasticSearch、
Logstash和
Kibana[root@elk-test ~]# useradd elk-test1.1.5 安装Java运行环境(可选)下载
JRE安装包

,并上传到服务器
root
用户目录


root身份安装
JRE:
yum localinstall jre-8u121-linux-x64.rpm
配置
Java环境变量:
编辑文件
/etc/profile
在文件末尾增加如下内容

验证
Java环境,
执行命令
java -version查看
Java版本信息,
如果一切正常的话,能看到如下信息:

java version 1.8.0_121Java(TM) SE Runtime Environment (build 1.8.0_121-b13)Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

如有需要,也可
下载
Server JRE手工安装。
******1.2 ELK安装**
******1.2.1 安装ElasticSearch with x-pac**执行命令
su - elk-test切换到应用账户
elk-test,下载和安装
ElasticSearch和
x-pack安全组件。如果你不需要安全认证,
x-pack组件可以不用安装,相应的配置参数也不必设置。


根据需要,修改文件
ElasticSearch目录下
config/jvm.options文件,调整
jvm内存参数。


修改监听端口,允许外部系统远程访问:
编辑文件
config/elasticsearch.yml
修改参数
network.host的数值

启动

ElasticSearch[elk-test@elk-test elasticsearch-5.0.0]$bin/elasticsearch

验证
ElasticSearch服务,执行命令:
curl http://elastic:changeme@10.0.0.136:9200
期待返回内容如下:


1.2.2 Tr****ouble shooting for elasticsearchmax file descriptors

max file descriptors [65535] forelasticsearch process likely too low, increase to at least [65536]
修改文件
/etc/security/limits.conf,末尾增加如下内容
:* soft nofile 65536* hard nofile 65536max virtual memory

max virtual memory areas vm.max_map_count[65530] likely too low, increase to at least [262144]

修改文件
/etc/sysctl.conf
设置参数
vm.max_map_count= 262144
执行命令
sysctl -p

完成以上步骤,重新
su - elk-test
再来启动
ElasticSearch

1.2.3 安装Logstash下载
Logstash



测试一段
syslog日志文本。在
logstash主目录创建配置文件
sample.conf,内容如下

执行命令
bing/logstsh -f sample.comf
,启动
Logstash。

****启动后,输入以下内容:

Jan 19 12:28:31 elk-test sshd[13990]:pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=sshruser= rhost=92.246.190.31 user=root
可以看到
Logstash在
Console返回的输出内容,同时以上内容也发送到了
ElasticSearch。
**1.2.4 Trouble Shooting for Logstash******为什么Logstash启动特别缓慢?

原因可能是
JVM的随机数字生成参数导致,诊断和修改方式:
修改文件
$JAVA_HOME/jre/lib/security/java.security
设置参数
securerandom.source=file:/dev/urandom

重新启动
Logstash,是不是快多了?
为什么要这么做,我已经帮你搜好了,请参考以下文档:

StackOverflow-Logstashstartup time #5491
-
Orace官方
-Avoiding JVM Delays Caused byRandom Number Generation

**1.2.5 安装Kibana with x-pack******执行命令
su - elk-test切换到应用账户
elk-test,下载和安装
Kibana和
x-pack安全组件。


设置
Kibaba对外开放的
IP和
ElasticSearch的
url编辑文件
config/kibana.yml
设置参数
server.host和
elasticsearch.url

启动

Kibana[elk-test@elk-testkibana-5.0.0-linux-x86_64]$ bin/kibana****

访问
Kibanna,验证服务,用户名
/密码:

elastic/changeme

看到如下界面,即表示成功,稍后再来配置。


1.2.6 Kibana界面日志检索只有当第一条日志通过
Logstash进入
ElasticSearch后,才能配置
Kibana索引
pattern。
操作方法是:进入
Kibana设置界面,点击
Create按钮。
其中
Index Pattern名称必须与
Logstash中
output参数设置的一致。如果
output参数没有设置,则默认为
logstash-*****

****如果你的日志中有特定的时间字段,这里可以单独设置。
如果
Logstash的
output中已经配置了
index的名称,则必须在新的日志进入
ElasticSearch后,才能在
Kibana上创建新的
index pattern。
进入
Kibana的
Dashboard,搜索日志,认真体验。
********

2最佳实践
**2.1 Logstash & JDBC********2.1.1 安装jdbc-input插件******进入
Logstash目录,执行命令
bin/logstash-plugin install logstash-input-jdbc安装
JDBC输入插件。
2.1.2 下载jdbc-mysql连接驱动访问
MySQL网站,
https://dev.mysql.com/downloads/connector/j/,下载
mysql-connector-java-5.1.40,或执行命令下载。


2.1.3 配置jdbc日志收集参数创建文件
jdbc-login-logs-logstash.conf,并设置
Logstash每隔
5分钟(
*/5 * * * *)连接一次数据库,将新增的日志发送到
ElasticSearch服务器。


2.1.4 启动Logstash连接数据库收集日志执行命令
bin/logstash -f jdbc-login-logs-logstash.conf

2.2 Kibana相关
2.2.1 获取指定索引下指定类型日志的映射表Kibana主界面左侧,点击开发工具按钮。

进入
Console界面,执行如下命令:
GET logstash-nginx/_mappings/alm注意:替换
alm字符串为你自己的日志类型(来自
Logstash的
output参数)
返回如下:


2.2.2 修改数据类型映射mappings已经创建的
mappings是不能直接修改的。通常是删除后再创建一个新的修改后的
mappings版本。参考文档
:ChangingMapping with Zero Downtime2.2.3 判断字段是否存在搜索执行
exists:field_name,如:
exists:login_ip3参考资料
**折腾过程中,得到了以下参考资料的帮助,一并感谢!
**Elastic中文社区

官方网站

ELK 部署指南

分布式日志收集之
Logstash 笔记(一)

Elasticsearch 权威指南(中文版)

初探
ELK-logstash使用小结

logstash服务启动脚本

ELK安装配置之集群相关介绍及搭建

ELK日志管理之
——logstash部署

How to Delete Data from Elasticsearch
Experiments with Kibana Timelion
Geo数据类型问题

以上内容只是最基础的
Hello World版本
ELK部署说明,还不涉及到集群、分布式收集、
grok高级技巧等。关于复杂场景下的
ELK部署和应用,等我功力提升后再来分享啦!

*为解决文中部分图片不够清晰问题,您也可以通过以下链接查看原文(高清)内容:

https://pan.baidu.com/s/1nv15BWt

https://bbs.ichunqiu.com/thread-19741-1-2.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,039评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,223评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,916评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,009评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,030评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,011评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,934评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,754评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,202评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,433评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,590评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,321评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,917评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,568评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,738评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,583评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,482评论 2 352

推荐阅读更多精彩内容