永康做网站的公司,福建富通建设有限公司网站,wordpress 关闭摘要,网络设计规划文章转载#xff1a;http://www.jianshu.com/p/797073c1913f 仅用作个人学习#xff0c;收藏
我的 ELK 搭建笔记#xff08;基于阿里云#xff09; “不是最好的#xff0c;但一定是有良心的操作记录。”目录一览 0 重不重要都得有的开头 1 安装配置 1.1 CentOS 7…文章转载http://www.jianshu.com/p/797073c1913f 仅用作个人学习收藏
我的 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 更新系统软件包可选[rootelk-test ~]# yum update1.1.3 更改主机名可选[rootiZ2ze1filcblgjr9dcoxioZ ~]# hostnameelk-test[rootiZ2ze1filcblgjr9dcoxioZ ~]# hostname# elk-test[rootelk-test ~]# 1.1.4 创建应用账号必选以应用账号身份启动 ElasticSearch、 Logstash和 Kibana[rootelk-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_121JavaTM SE Runtime Environment build 1.8.0_121-b13Java HotSpotTM 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-testelk-test elasticsearch-5.0.0]$bin/elasticsearch
验证 ElasticSearch服务执行命令 curl http://elastic:changeme10.0.0.136:9200 期待返回内容如下
1.2.2 Tr**ouble shooting for elasticsearch**max 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_unixsshd:auth: authentication failure; logname uid0 euid0 ttysshruser rhost92.246.190.31 userroot 可以看到 Logstash在 Console返回的输出内容同时以上内容也发送到了 ElasticSearch。 1.2.4 Trouble Shooting for Logstash**为什么Logstash启动特别缓慢
原因可能是 JVM的随机数字生成参数导致诊断和修改方式 修改文件 $JAVA_HOME/jre/lib/security/java.security 设置参数 securerandom.sourcefile:/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-testelk-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
作者创Chen 链接http://www.jianshu.com/p/797073c1913f 來源简书 著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。