elasticsearch搭建与zabbix对接

一. 搭建elasticsearch

  1. 上传jdk-8u181-linux-x64.tar.gzelasticsearch-6.1.4.tar.gz文件到系统任意目录,

安装java
解压jdk-8u181-linux-x64.tar.gz文件
tar -zxvf jdk-8u181-linux-x64.tar.gz

编辑profile文件,添加jdk环境变量
vim /etc/profile

在最后添加
#JDK环境变量

JAVA_HOME=/usr/local/jdk1.8.0_181
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

引用环境变量
source /etc/profile

直接执行java –version 确定java已可用

解压elasticsearch-6.1.4.tar.gz文件
tar –zxvf elasticsearch-6.1.4.tar.gz

编辑修改elasticsearch的配置文件elasticsearch.yml
vim elasticsearch-6.1.4/config/elasticsearch.yml

主要修改以下信息(数据存放目录以及日志存放目录需要添加执行权限,)

配置文件解析如下:

开启服务(可以使用-d后台启用)
/usr/local/elasticsearch-6.1.4/bin/elasticsearch

乐维Tips:在启动服务时,不能以root用户开启服务,elasticsearch需要以其他用户开启服务;
1、 需要创建用户;

  • 添加es用户
  • useradd es -m
  • 设置es用户密码
  • passwd es
    2、 需要修改elasticsearch-6.1.4目录、数据存放目录、日志存放目录的所属组和所属用户
    chown es:es /usr/local/elasticsearch-6.1.4/data
    chown es:es /usr/local/elasticsearch-6.1.4/logs
    chown es:es /usr/local/elasticsearch-6.1.4/

3、ERROR:bootstrap checks failed:max file descriptors [4096] for elasticsearchprocess likely too low, increase to at least [65536]

原因:无法创建本地文件问题,用户最大可创建文件数太小
解决方案:
切换到root用户,编辑limits.conf配置文件,
添加类似如下内容:
vi/etc/security/limits.conf
添加如下内容:

*  soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

注:* 代表Linux所有用户名称(比如hadoop)
保存、退出、重新登录才可生效
4、max virtualmemory areas vm.max_map_count [65530] likely too low, increase to at least[262144]
原因:最大虚拟内存太小
解决方案:切换到root用户下,修改配置文件sysctl.conf
vi /etc/sysctl.conf

添加下面配置:
vm.max_map_count=655360

并执行命令:sysctl -p

5、max number ofthreads [1024] for user [es] likely too low, increase to at least [2048]
原因:无法创建本地线程问题,用户最大可创建线程数太小
解决方案:
切换到root用户,进入limits.d目录下,修改90-nproc.conf 配置文件。
vi /etc/security/limits.d/90-nproc.conf

修改 soft nproc 1024 为 soft nproc 2048

以es用户启动服务(-d 可以后台启动 )
su es
/usr/local/elasticsearch-6.1.4/bin/elasticsearch

开启防火墙端口9200 TCP
firewall-cmd --zone=public --add-port=9200/tcp–permanent
在WEB上输入IP:9200测试是否可以正常访问使用

二. 与zabbix对接

需要修改zabbix_server的配置文件
修改HistoryStorageURL=http://192.168.150.10:9200

修改zabbix.conf.php文件
vi/usr/local/nginx/html/zabbix/conf/zabbix.conf.php

重启zabbix_server

同步成功后

方法1、ElasticSearch Head可以直接在谷歌浏览器上进行安装(推荐)
直接把文件拖到扩展程序进行添加

方法2、这里介绍一个 Elasticsearch 可视化的管理插件 elasticsearch-head,可方便的查看,删除,管理数据
安装elasticsearch-head插件需要nodejs的支持

  1. nodejs安装
  2. head安装配置
    请参考https://blog.csdn.net/zoubf/article/details/79007908

三. Elasticsearch常用命令

(由于没有自带的数据清理功能,需要手动编写脚本)

1、curl 命令的使用
curl -X<VERB>‘< PROTOCOL>://<HOST>:< PORT>/< PATH>?<QUERY_STRING>‘-d ‘<BODY>‘VERB HTTP方法:GET, POST, PUT, HEAD, DELETE
PROTOCOL http或者https协议(只有在Elasticsearch前面有https代理的时候可用)
HOST Elasticsearch集群中的任何一个节点的主机名
PORT Elasticsearch HTTP服务所在的端口,默认为9200
PATH API路径,资源路径(例如_count将返回集群中文档的数量)
QUERY_STRING 一些可选的查询请求参数,例如?pretty参数将返回易读的JSON数据
BODY 一个JSON格式的请求主体(如果请求需要的话)

具体详细方法,请参考
https://www.linuxidc.com/Linux/2016-10/136548.htm

添加索引(zabbix为数据库名)
curl -XPUT‘http://192.168.1.20:9090/zabbix?pretty

创建成功后,默认会分配五个主分片(创建后不可更改,通过算法将数据存放在这五个分片中的一个,增删改都是针对主分片的)和一个复制分片(可修改,每个主分片都对应一个复制分片),这两个默认值都可以在配置文件中修改,也可以在创建的时候指定,如
curl -XPUT ‘http://192.168.1.20:9090/zabbix?pretty‘-d ‘{
"settings": {
"number_of_shards" : 2, #2个主分片
"number_of_replicas" : 0 #0个复制分片
}

}‘

查看索引
curl -XGET‘http://192.168.1.20:9090/zabbix?pretty

查询方式;
例如:

查询所有文档
等同于 curl-XGET ‘http://localhost:9200/test/article/_search?pretty
curl -XGET ‘http://localhost:9200/test/article/_search?pretty‘ -d ‘
{ "query": {
"match_all": {}
}
}‘#返回
{

用时 毫秒

"took" : 4,
"timed_out" : false,
#分片信息
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits" : {
#文档数
"total" : 3,
"max_score" : 1.0,
"hits" : [ {
"_index" : "test",
"_type" : "article",
"_id" : "AVf_6fM1vEkwGPLuUJqp",
"_score" : 1.0,
"_source" : {
"id" : 2,
"subject" : "第二篇文章标题",
"content" : "第二篇文章内容",
"author" : "jam"
}
}, {
"_index" : "test",
"_type" : "article",
"_id" : "4",
"_score" : 1.0,
"_source" : {
"id" : 4,
"subject" : "第四篇文章标题",
"content" : "第四篇文章内容-更新后",
"author" : "tomi"
}
}, {
"_index" : "test",
"_type" : "article",
"_id" : "3",
"_score" : 1.0,
"_source" : {
"id" : 3,
"subject" : "第三篇文章标题",
"content" : "第三篇文章内容",
"author" : "jam"
}
}}
查询作者是名字包含“jam” 的文档,返回id 是2和3 的文档
curl -XGET ‘http://localhost:9200/test/article/_search?pretty‘ -d ‘
{
"query": {
"match": {
"author": "jam"
}
}
}‘
查询文章内容包含“更新” 的文档,返回id 是4 的文档
curl -XGET ‘http://localhost:9200/test/article/_search?pretty‘ -d ‘
{ "query": {
"match": {
"content": "更新"
}
}
}‘

查询全部索引
curl -XGET ‘http://192.168.150.10:9200/_cat/indices/?v

删除所有数据包括自行添加的索引
curl -XDELETE ‘http://192.168.150.10:9200/*‘

2、 Elasticsearch清理数据
由于Elasticsearch没有自带的数据删除配置,所以需要脚本进行清理数据
1)删除索引是会立即释放空间的,不存在所谓的“标记”逻辑。
2)删除文档的时候,是将新文档写入,同时将旧文档标记为已删除。磁盘空间是否释放取决于新旧文档是否在同一个segment file里面,因此ES后台的segment merge在合并segment file的过程中有可能触发旧文档的物理删除。
但因为一个shard可能会有上百个segment file,还是有很大几率新旧文档存在于不同的segment里而无法物理删除。想要手动释放空间,只能是定期做一下force merge,并且将max_num_segments设置为1。
删除文档
释放空间
配置计划任务




文件下载链接:https://pan.baidu.com/share/init?surl=FMQrjRapGQmXvkwWauTLZQ
密码:x6I7

文章转自elasticsearch搭建与zabbix对接
http://www.lwops.cn/forum.php?mod=viewthread&tid=70&fromuid=1
(出处: 乐维)

原文地址:http://blog.51cto.com/14010230/2318192

时间: 2024-10-29 11:24:35

elasticsearch搭建与zabbix对接的相关文章

Vouch-proxy 实现 Zabbix 对接 SSO

Vouch-proxy 实现 Zabbix 对接 SSO Zabbix 自身不支持 SSO 对接,我使用 Nginx 代理 Zabbix,将请求转发至 Vouch-proxy,由 Vouch-proxy 对接 SSO,对接完毕 Vouch-proxy 将返回 Nginx,Nginx 此时将获取到用户信息,使用 HTTP Basic Auth 接入 Zabbix. 环境 Zabbix 192.168.10.227:80 Nginx 192.168.10.227:8080 Vouch-proxy 1

Elasticsearch 搭建

最近需要用到Elasticsearch.下面简单介绍下Elasticsearch的搭建过程: ElasticSearch 使用java编写, 所以需要安装 Java 6以上 环境来运行. 并且确保设置好环境变量 JAVA_HOME 进到Elasticsearch所在目录 1.安装elasticsearch-head插件:进到我 的bin目录 执行:plugin -install mobz/elasticsearch-head 2.安装插件bigdesk插件:elasticsearch 的bin

【Zabbix】Zabbix对接AD域

zabbix对接AD域 需要的信息:一个域账号密码,使用的端口:域名 1. 先查看php是否安装了ldap模块php –m (查看已安装的php模块)若没有安装请参照我之前写的文章"在已编译安装的PHP环境下安装LDAP模块".2. LDAP用户:方法A.域通过zabbix管理员配置,需要知道域控的同名Admin账号的账号密码:方法B.已知某域控账号,有权限访问域控,可在zabbix上创建同名的账号,添加为"超级管理员".在zabbix页面上,选择"管理&

用ElasticSearch搭建自己的搜索和分析引擎

导语:互联网产品中的检索功能随处可见.当你的项目规模是百度大搜|商搜或者微信公众号搜索这种体量的时候,自己开发一个搜索引擎,加入各种定制的需求和优化,是非常自然的事情.但如果只是普通的中小型项目甚至创业团队|创业项目,直接拿轮子则是更合理的选择.ElasticSearch就是这样一个搜索引擎的轮子.更重要的是,除去常规的全文检索功能之外,它还具有基础的统计分析功能(最常见的就是聚合),这也让他变得更加强大和实用.还在用数据库的like来实现产品的全文检索吗?抛弃她,用ElasticSearch吧

PHP 环境搭建及zabbix安装遇到的一些坑.

参考https://segmentfault.com/a/1190000003409708 进行php环境搭建. 下载 php5  http://windows.php.net/download 下载 Ahache2 http://www.apachehaus.com/cgi-bin/download.plx 解压安装Apache : 进入解压目录 conf文件夹,找到httpd.conf; 修改如下内容,让serverroot指向你的安装位置: Define SRVROOT "E:\Devel

elasticsearch 搭建-集群-java应用

搭建 首先下载最新的elasticsearch安装版本: elasticsearch下载. 下载最新的elasticsearch 0.90.1版本.下载完成后.解压缩在安装目录. 在cmd命令行进入安装目录,再进入 bin目录,运行elasticsearch.bat命令: 启动成功后.在浏览器中输入:http://localhost:9200/ 1 2 3 4 5 6 7 8 9 10 { "ok" : true, "status" : 200, "nam

elasticsearch搭建及配置

ELK搭建及配置1.在两台机器上分别新添加磁盘,格式化,挂载,专门用于ELKmkfs.xfs /dev/sdbmkdir /data1mount /dev/sdb /data1blkid /dev/sdb #查询磁盘的uuid,使用uuid挂载,以防止服务器重启时磁盘名称变化vim /etc/fstabdd86fef0-3873-4767-bc9a-dc673dcecb5a /data1 xfs defaults 0 02.下载安装包https://artifacts.elastic.co/do

zabbix - 对接钉钉应用接口

因为当时正配置的时候,钉钉推出了钉钉机器人接口,更方便的配置和报警: 所以就没有再弄这个,有需要的朋友再看看吧. https://github.com/Shanwn-git/zabbix/tree/master/dingding_api

RHEL 7.2 搭建配置Zabbix proxy

1.安装zabbix proxy 2.将proxy服务器加入到zabbix监控 3.配置mariadb 4.添加proxy到zabbix server 5.使用zabbix proxy监控不同VPC的主机 1.安装zabbix proxy a.配置zabbix yum源: #rpm -ivh  http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm b.安装相关软件  #yum ins