elk5.4小白踩坑记录
搭建请参考:http://www.ywnds.com/?p=9776
搭建步骤:http://www.ywnds.com/?p=9776
初步解方案:先不用管这个提示,当你创建完索引后,接受数据后。一般刷新就ok了
出现这个估计是服务正在运行中,你又开启服务就会报错
这个报错是由于在lasticsearch中开启了用户登陆的插件,所以解决这个问题添加上用户即可:如:
启动失败:
2017-09-01 09:22:38,499 main ERROR RollingFileManager (/path/to/logs/elasticsearch_access.log) java.io.FileNotFoundException: /path/to/logs/elasticsearch_access.log (Permission denied) java.io.FileNotFoundException: /path/to/logs/elasticsearch_access.log (Permission denied
办法:chown elasticsearch.elasticsearch -R /path 改权限
索引创建:
Elk ---head 插件安装
wget https://nodejs.org/dist/v6.9.2/node-v6.9.2-linux-x64.tar.xz
tar xf node-v6.9.2-linux-x64.tar -C /usr/local/
cd /usr/local/
ln -s node-v6.9.2-linux-x64/ node
[root@elk node]# cat /etc/profile.d/node.sh
export nodePATH=/usr/local/node
export PATH=$PATH:$nodePATH/bin
export nodePATH PATH
[root@elk node]# source /etc/profile.d/node.sh
[root@elk ~]# node –v
v6.9.2
yum install git -y
git clonegit://github.com/mobz/elasticsearch-head.git (
这个文件千万
不能放在elasticsearch
的 plugins
、modules
目录下,否则报一堆错误)
cat config/elasticsearch.yml|grep -v"$^"|grep -v "#"
node.name: hyxdelk
network.host: 0.0.0.0
http.port: 9200
http.cors.enabled: true (在文件最后添加)
http.cors.allow-origin: "*" (在文件最后添加)
[root@elk elasticsearch-head]# npm install
npm install -g grunt-cli
[root@elk elasticsearch-head]# ./node_modules/grunt/bin/grunt server
(可能会报错,解决方法: 别用路径,直接进入/node_modules/grunt/bin/下 直接执行 grunt server)
启动elk服务
################插件安完毕#######################################
报错:
- 不能放在
elasticsearch
的plugins
、modules
目录下 ·
不能使用elasticsearch-plugin install
移动到别的地方就
OK
了
报错:curl -XGET http://10.0.3.149:9200/productindex/_mapping?pretty 访问服务
这是由于添加了X-pack(这个插件有点坑,只能使用一个月,之后就会收费,也可以使用免费的但是安全性就没有了)插件需要用户登录才能,所以
curl -u elastic -XGET http://10.0.3.149:9200/productindex/_mapping?pretty
-u 添加登陆用户,按步骤输入密码即可
自定义索引:
在已经安装head插件的基础上
curl -u elastic -XPUT http://10.0.3.149:9200/customer?pretty 这个命令是添加自定义的索引
查看所有索引:
curl -u elastic -XGET http://10.0.3.149:9200/_cat/indices?v 这个命令是查看当前所有有效的索引
你可能注意到了:customer索引的状态为yellow。知道yellow意味着某些备份还没有分配。发生这种情况的原因是因为Elasticsearch默认情况下会为这个索引创建一个备份。因为我们目前只有一个节点,因此备份无法分配(为了高可用性),直到有其他节点能够加入到集群中。一旦备份分配到第二个节点上,健康状态就会变为green。
删除elastic中指定索引的数据:
curl -u elastic -XDELETE http://10.0.3.149:9200/logstash-*/
虽然写入数据时Elasticsearch会自动的添加映射进行处理,但是删除数据并不会删除数据的映射
#curl -XDELETE 'http://localhost:9200/logstash-2016.01.01/syslog' 删除了syslog下面的全部数据,但是syslog的映射还在
删除映射的命令:
#curl -XDELETE 'http://localhost:9200/logstash-2016.01.01/_mapping'
删除索引的话映射也会删除
#curl -XDELETE 'http://localhost:9200/logstash-2016.01.01'
指定使用那个索引:
Logstas配置报错:
原因,在配置文件中的input的type中不能有“.”的出现
列如;
解决方法:在type中去掉“.”起别的名字
ELK日志处理之使用Grok解析日志:特殊字符得用“\”来转译字段的格式
正则匹配练习网址:http://grokdebug.herokuapp.com/
{正则表达式:自定义名}
默认自带的正则匹配规则
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}"}
}
练习一:
日志格式:
120.132.73.107 - - 2017-09-09 04:10:05 POST /promotion/online.php
正则匹配过滤:
%{IP:clentip} \s*-\s*-\s*%{TIMESTAMP_ISO8601:time}\s*%{WORD:method}\s*%{URIPATHPARAM:request}\s*
说明:在每一个字段的前面添加%作为分割,”\s*“这个能够替代空格;正则严格匹配格式;格式中的“(”和“)”是成对存在的
{IP:clentip}匹配对应位的IP地址
{TIMESTAMP_ISO8601:time}匹配对应位的时间格式
{WORD:method}匹配对应位的请求方式(get/post/put等)
{URIPATHPARAM:request}匹配对应位的请求路径
练习二:
日志格式:
11.11.1.1 - - [01/Mar/2013:12:23:53 +0800]
正则匹配格式:
方法一:%{IPORHOST:client_ip} \s*-\s*- \[%{HTTPDATE:timestamp}\]
方法二:%{IPORHOST:client_ip} %{USER:ident} %{USER:auth} \[%{HTTPDATE:timestamp}\]
说明:
{IPORHOST:client_ip}也用于匹配客户端IP地址
{HTTPDATE:timestamp}用于匹配对应位的格式的时间
{USER:ident}匹配对应的“-”
练习三:
日志格式“
"GET /v1/api HTTP/1.1"
正则匹配格式:
方法一:\"%{WORD:verb} %{NOTSPACE:request} HTTP/%{NUMBER:http_version}\"
方法二:\"(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:http_version})?|-)\"
方法三:\"(%{WORD:verb} %{NOTSPACE:request}( HTTP/%{NUMBER:http_version}))\"
方法四:\"(%{WORD:verb} %{NOTSPACE:request}(\s*HTTP/%{NUMBER:http_version}))\"
说明:
{NOTSPACE:request}也用于匹配对于对应位的请求路径(和上面的功能一样,区别目前还没发现)
HTTP这个就是格式中的HTTP,这个没法正则,所以说要是出现不能匹配的串直接照样写出来就可以了
{NUMBER:http_version}匹配对应位的数字
练习四:
日志格式:
"https://api.xx.com/v1/api" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)"
正则匹配:
%{QS:referrer} %{QS:agent}
说明:
{QS:referrer}匹配服务端网址信息和客户端信息,要是有客户端信息匹配若没有的话只匹配服务端的信息
{QS:agent}匹配对应的客户端信息
练习五:
日志格式:
10.0.3.104 - - [05/Sep/2017:01:02:20 -0700] "GET / HTTP/1.1" 403 4897 "-" "Mozilla/5.0 Windows NT 10.0; WOW64; Trident/7.0; rv:11.0 like Gecko Core/1.53.3376.400 QQBrowser/9.6.11924.400"
正则匹配:
%{IP:clentip}\s*-\s*-\s*\[%{HTTPDATE:timestamp}\] \"%{WORD:verb} / HTTP/%{NUMBER:http_version}\" %{NUMBER:buzhidao} %{NUMBER:jiubzhidao} \"-\" %{QS:agent}
说明:
服务端/客户端的信息那边的"Mozilla/5.0 Windows NT 10.0; WOW64; Trident/7.0; rv:11.0 like Gecko Core/1.53.3376.400 QQBrowser/9.6.11924.400" 冒号这个“”“不能在正则中加,加上不匹配不成功,不加就可以了;但是其他的字段要是出现冒号得加。这个是特殊的字段
Logstas配置语法:
报错:Cannot create pipeline {:reason=>"translation missing: en.logstash.agent.configuration.invalid_plugin_register"}
在fork的插件中添加
Kibana报错:
可视化报错:
解决方法:
Kibana访问出错:提示访问被重定向,查看启动过程有如下报错:
提示[security_exception](安全异常),这个原因可能是xpack这个安全插件到期导致的(也可以找免费的但是不安全);
解决办法:
If your license is expired, you'll need to disable security. You can do this by adding the following to both your Elasticsearch and your Kibana config:(禁止安全插件,在Elasticsearch和Kibana配置文件中添加以下的内容,禁止启动用xpack安全插件就可以了)
xpack.security.enabled: false
Elastic终端报错:
出现下面的情况说明数据的插入已经失败了,这个有可能是_ID号的原因,在kinbana上的DEV TOOls中插入即可,把id号改变下就可以了
Mapping练习报错以及解决方法记录:
错误一:
解决方法:
先创建一个索引,在这个索引下在创建mapping映射
elk5.4小白踩坑记录的更多相关文章
- unionId突然不能获取的踩坑记录
昨天(2016-2-2日),突然发现系统的一个微信接口使用不了了.后来经查发现,是在网页授权获取用户基本信息的时候,unionid获取失败导致的. 在网页授权获取用户基本信息的介绍中(http://m ...
- CentOS7.4安装MySQL踩坑记录
CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...
- ubuntu 下安装docker 踩坑记录
ubuntu 下安装docker 踩坑记录 # Setp : 移除旧版本Docker sudo apt-get remove docker docker-engine docker.io # Step ...
- SpringBoot + Shiro + shiro.ini 的踩坑记录
0.写在前面的话 好久没写博客了,诶,好多时候偷懒直接就抓网上的资料丢笔记里了,也就没有自己提炼,偷懒偷懒.然后最近参加了一个网络课程,要交作业的那种,为了能方便看下其他同学的作业,就写了个爬虫把作业 ...
- 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密
你真的了解字典(Dictionary)吗? 从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...
- google nmt 实验踩坑记录
最近因为要做一个title压缩的任务,所以调研了一些text summary的方法. text summary 一般分为抽取式和生成式两种.前者一般是从原始的文本中抽取出重要的word o ...
- ABP框架踩坑记录
ABP框架踩坑记录 ASP.NET Boilerplate是一个专用于现代Web应用程序的通用应用程序框架. 它使用了你已经熟悉的工具,并根据它们实现最佳实践. 文章目录 使用MySQL 配置User ...
- SpringBoot+SpringSecurity+Thymeleaf认证失败返回错误信息踩坑记录
Spring boot +Spring Security + Thymeleaf认证失败返回错误信息踩坑记录 步入8102年,现在企业开发追求快速,Springboot以多种优秀特性引领潮流,在众多使 ...
- IDFA踩坑记录
IDFA踩坑记录: 1.iOS10.0 以下,即使打开“限制广告跟踪”,依然可以读取idfa: 2.打开“限制广告跟踪”,然后再关闭“限制广告跟踪”,idfa会改变: 3.越狱机器安装开发证书打的包, ...
随机推荐
- React Native学习(四)—— 写一个公用组件(头部)
本文基于React Native 0.52 Demo上传到Git了,有需要可以看看,写了新内容会上传的.Git地址 https://github.com/gingerJY/React-Native-D ...
- linux中mv命令使用详解
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 1.命令格式: mv [选项] 源文件或目 ...
- volatile 与 synchronized 区别
在Java中,为了保证多线程读写数据时保证数据的一致性,可以采用两种方式: 同步 如用synchronized关键字,或者使用锁对象. volatile 使用volatile关键字用一句话概括vola ...
- SpringBoot Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
SpringBoot Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFact ...
- 我是如何将网站全站启用Https的?-记录博客安装配置SSL证书全过程
评论» 文章目录 为什么要Https 如何选择Https 安装部署SSL证书 平滑过渡Https 搜索引擎的响应 启用Https小结 正如大家所看到的,部落全站已经启用了Https访问了,连续几天 ...
- 正则API
正则表达式:规定字符串中字符出现规律的公式 如果备选字符列表中个别字符之间是连续的,可用-省略中间的字符.比如: 匹配1位数字: [0-9]匹配1位小写字母 : [a-z] 匹配1位大写字母 : ...
- 本地如何使用phpstudy环境搭建多站点
http://jingyan.baidu.com/article/e52e36154227ef40c70c5147.html 平时在开发项目的时候, 多个项目同时开发的时候会遇到都得放到根目录才能正常 ...
- MyBatis之基于XML的动态SQL
先说下我的梦想,大学的时候一直想着是能开店卖胡辣汤,到目前依然还是我的梦想,上周一家出版社联系我问我有没有时间可以合作出书,这也是我的梦想之一,想了想还是放弃了,至少觉得目前不行,毕竟工作还不到五年, ...
- Redis单机版安装
1.工具简单介绍 1.博主使用的是Xshell工具 ps:需要设置端口和连接名称,端口一般默认为22,需要的童鞋可以自行百度 2.Redis单机版安装 第一步:安装gcc编译环境 yum instal ...
- MongDB .Net工具库MongoRepository的简单使用
MongDB .Net工具库MongoRepository的简单使用 最近研究了一下MongoDB数据库,并使用了开源的在.net环境下的一个类库,Mongo仓库.对于数据的一些简单的操作非常好用,特 ...