php的Elasticsearch类库和简单处理类
需要使用php处理elasticsearch,可在composer中找对应版本的类库:https://packagist.org/packages/elasticsearch/elasticsearch。我这里使用的是elasticsearch/elasticsearch:~6.0,类库文件包大小1.5M左右。使用起来很简单方便: #php索引代码: $this->client=ClientBuilder::create()->setHosts($hostArr)->setRetries(2)->build(); #循环调用一下,如果较多可批量调用另外也可考虑增量索引 $params=array( 'index'=>'test', 'type'=>'_doc', 'body'=>array( 'id'=&g...[>>…]
在Kibana中创建Elasticsearch7.*索引并使用Ik分词的写法
Elasticsearch变化太快,版本间的变化也太大,到了7.*版本之后,网上很多文档都失效了,这是个麻烦的事。在网上找了很多文档资料,但在我搭建的7.7版本Elasticsearch中总是报错。花了些时间才找到问题点。如下为创建一个index:test,同时在此索引下创建一个article的type,结果报错Failedtoparsemapping[_doc]:Rootmappingdefinitionhasunsupportedparameters. #创建Elasticsearch7.*索引: PUT/test { "settings":{ "index":{ "refresh_interval":"5s", "number_of_shards":12, "number_of...[>>…]
Elasticsearch7.7设置账号密码时的逻辑矛盾问题
2019年1月30日,外媒又报道了一起Elasticsearch数据泄露事件!2019年1月份的至少有6起Elasticsearch数据泄露事件了。原因何在,很简单,开发者在服务启动之后总是懒得去修改,哪怕是添加个密码,不信?你去看看你们公司的REDIS服务器,看看有多少设置了密码,至少我公司不相关的部门的业务,他们的REDIS我都能远程登录(因对接关系我知道了redis服务器IP)。 好吧,回到Elasticsearch7.7的密码设置问题上来吧,说说我遇到的Elasticsearch设置账号密码时的矛盾问题,很...[>>…]
logstash根据指定的grok规则拆分nginx日志:LogStash::ConfigurationError:message Expected
使用filebeat读取nginx日志,传给logstash,在logstash中通过配置message的正则匹配规则,将nginx分割出我们想要的字段。整个过程容易理解,不过初次调试grok里面的匹配规则,真是有点抓狂,logstash重启一次挺麻烦,每次修改都去重启logstash也不方便啊,好在有一个现成的grokdebug在线调试工具:https://grokdebug.herokuapp.com/ ,这个链接里也有一些规则参考:https://grokdebug.herokuapp.com/patterns# 不过即便如此,还是不太方便,因为在grokdebug中调...[>>…]
Filebeat结合logstash进行日志处理入elasticsearch
进入filebeat目录,增加nginxlog.yml配置文件,配置如下,主要修改paths下的log目录地址以及设置output为logstash的IP端口地址。 user@u007:/opt/filebeat/filebeat-7.7.1-linux-x86_64$catnginxlog.yml filebeat.inputs: -type:log enabled:true paths: -/opt/nginxlog/*.log filebeat.config.modules: path:${path.config}/modules.d/*.yml reload.enabled:true setup.template.settings: index.number_of_shards:6 output.logstash: hosts:["10.21.45.25:5044"] #启动filebeat同时使用public输出日志 user@u007:/o...[>>…]
ELK中日志数据采集器Filebeat的安装和使用
Beats是数据采集的得力工具,Beats能够将数据转发至Logstash进行转换和解析。Filebeat是Beats中的一种,Filebeat是本地文件的日志数据采集器,可监控日志目录或特定日志文件(tailfile),并将它们转发给Elasticsearch或Logstatsh进行索引等。带有内部模块(auditd,Apache,Nginx,System和MySQL),可通过一个指定命令来简化通用日志格式的收集,解析和可视化。 服务器少的时候,登录服务器查看日志还算方便,但是如果服务器、虚拟机和容器生成日志多了的话,使用S...[>>…]
ELK中的Logstash安装和使用
Logstash是一个实时数据收集引擎,可收集各类型数据并对其进行分析,过滤和归纳。按照自己条件分析过滤出符合数据导入到可视化界面。Logstash建议使用java1.8有些版本是不支持的,比如java1.9。logstash的下载地址:https://www.elastic.co/cn/downloads/logstash目前最新是7.7.1版,和Elasticsearch版本号一致。 user@u007:/opt/$mkdir/opt/logstash;cd/opt/logstash; user@u007:/opt/logstash$wgethttps://artifacts.elastic.co/downloads/logstash/logstash-7.7.1.tar.gz user@u007:/opt/...[>>…]
搭建Elasticsearch可视化界面Kibana
Kibana官网地址:https://www.elastic.co/cn/downloads/past-releases#kibana每一个版本的es都有一个对应的Kibana版本,建议和es相同版本,和ES一样,Kibana也是开箱即用。 user@u007:/opt/kibana/$wgethttps://artifacts.elastic.co/downloads/kibana/kibana-7.7.1-linux-x86_64.tar.gz user@u007:/opt/kibana/$tarzxvfkibana-7.7.1-linux-x86_64.tar.gz;cdkibana-7.7.1-linux-x86_64 #将配置文件修改如下: user@u007:/opt/kibana/kibana-7.7.1/$grep^[^#]config/kibana.yml #kibina服务的...[>>…]
Elasticsearch7.7.1安装analysis-ik中文分词插件
analysis-ik中文分词插件的GITHUB地址:https://github.com/medcl/elasticsearch-analysis-ik/tree/master在页面中列出了IKversion与ESversion的相对应版本,即你所需要下载的IK版本一定要与ES版本相适应,否则就不能用了。比如给Elasticsearch7.7.1安装IK7.4.0版本的话在启动ES时就会报错如下:org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92)~[elasticsearch-7.7.1.jar:7.7.1]Causedby:java.lang.IllegalArgumentException:Plugin[analysis-ik]wasbuiltforElastic...[>>…]
elasticsearch7.7.1集群不能相互发现
在使用elasticsearch7.7.1搭建集群,使用了3台服务器作为节点,但在搭建的过程中发现每台服务器的elasticsearch服务都正常,但是不能相互发现,期间进行了一些配置的修改偶尔出现了相互发现,但没过多久又断了联系。蛋疼了一阵子。今天全力排查这方面的问题,目前看集群已经稳定。主要原因还是elasticsearch7.*版本有些不一样,网上的资料各个版本都有,但都比较老,好多配置项在7版本中已经废弃了,而到网上一找到处都充斥着这些老版本的使用教程,新的太少。下面是我使用elasticsearch7.7....[>>…]