码迷,mamicode.com
首页 > 其他好文 > 详细

zabbix3.4.14历史数据写入es

时间:2018-10-13 00:01:12      阅读:333      评论:0      收藏:0      [点我收藏+]

标签:自带   info   word   创建索引   网上   cat   set   yum   比较   

zabbix在3.4.5版本后开始支持将历史数据写入es;其实就是将zabbix 5张历史表的数据写入es的5个索引,字段还是一样的;

mysql表和es索引的对应关系如下:

技术分享图片

配置其实很简单,以下是我按照顺序写一遍

 1,配置zabbix server配置文件

打开配置文件,3.4.5版本后的zabbix多了配置es的两个参数,添加上;

HistoryStorageURL=http://es_address:9200
HistoryStorageTypes=uint,dbl,str,log,text

2, 配置zabbix前端文件

 添加

$HISTORY[‘url‘] = ‘http://es_ip:9200‘;
$HISTORY[‘types‘] = [‘str‘, ‘text‘, ‘log‘, ‘uint‘, ‘dbl‘];

前面修改为 

global $DB , $HISTORY;

示例如下

技术分享图片

3 , 创建es索引

共创建uint,dbk,str,log,text5个索引

curl -X PUT  http://1。1.1.1:9200/uint \
 -H content-type:application/json  -d {
   "settings" : {
      "index" : {
         "number_of_replicas" : 1,
         "number_of_shards" : 5
      }
   },
   "mappings" : {
      "values" : {
         "properties" : {
            "itemid" : {
               "type" : "long"
            },
            "clock" : {
               "format" : "epoch_second",
               "type" : "date"
            },
            "value" : {
               "type" : "long"
            }
         }
      }
   }
}

curl -X PUT  http://1。1.1.1:9200/dbl \
 -H content-type:application/json  -d {
 "settings" : {
      "index" : {
         "number_of_replicas" : 1,
         "number_of_shards" : 5
      }
   },
   "mappings" : {
      "values" : {
         "properties" : {
            "itemid" : {
               "type" : "long"
            },
            "clock" : {
               "format" : "epoch_second",
               "type" : "date"
            },
            "value" : {
               "type" : "double"
            }
         }
      }
   }
}
curl -X PUT  http://1.1.1.1:9200/log \
 -H content-type:application/json  -d {
 "settings" : {
      "index" : {
         "number_of_replicas" : 1,
         "number_of_shards" : 5
      }
   },
   "mappings" : {
      "values" : {
         "properties" : {
            "itemid" : {
               "type" : "long"
            },
            "clock" : {
               "format" : "epoch_second",
               "type" : "date"
            },
            "value" : {
               "fields" : {
                  "analyzed" : {
                     "index" : true,
                     "type" : "text",
                     "analyzer" : "standard"
                  }
               },
               "index" : false,
               "type" : "text"
            }
         }
      }
   }
}

curl -X PUT  http://1.1.1.1:9200/text \
 -H content-type:application/json  -d {
 "settings" : {
      "index" : {
         "number_of_replicas" : 1,
         "number_of_shards" : 5
      }
   },
   "mappings" : {
      "values" : {
         "properties" : {
            "itemid" : {
               "type" : "long"
            },
            "clock" : {
               "format" : "epoch_second",
               "type" : "date"
            },
            "value" : {
               "fields" : {
                  "analyzed" : {
                     "index" : true,
                     "type" : "text",
                     "analyzer" : "standard"
                  }
               },
               "index" : false,
               "type" : "text"
            }
         }
      }
   }
}
curl -X PUT  http://1。1.1.1:9200/str \
 -H content-type:application/json  -d {
 "settings" : {
      "index" : {
         "number_of_replicas" : 1,
         "number_of_shards" : 5
      }
   },
   "mappings" : {
      "values" : {
         "properties" : {
            "itemid" : {
               "type" : "long"
            },
            "clock" : {
               "format" : "epoch_second",
               "type" : "date"
            },
            "value" : {
               "fields" : {
                  "analyzed" : {
                     "index" : true,
                     "type" : "text",
                     "analyzer" : "standard"
                  }
               },
               "index" : false,
               "type" : "text"
            }
         }
      }
   }
}

 

5 , 去kibana上创建索引

登录到kibana,创建如上两个索引,时间过滤字段这个地方写clock,kibana会提示的

技术分享图片

6,此时重启zabbix server,zabbix web(httpd)

7, 稍等去kibana上和zabbix web上看新的数据是否正常

技术分享图片

 

 8,期间踩了两个坑

1,我是从zabbix 3.0升级过来的,操作系统是centos 6.7,升级后改完配置启动报错

cannot initialize history storage: cURL library support >= 7.28.0 is required for Elasticsearch history backend

 curl -V看了下,版本是7.19比较低,要升级,然后yum,rpm,编译安装都试了,curl版本看着也升级上来了,但是启动server还是报错,网上说重新编译安装zabbix server即可,不过我是yum安装的,尝试重新yum安装了一次,还是报错。

只好重新搭建了一台centos7.x,其系统自带的curl版本是7.29,满足要求,然后安装相同版本的zabbix server,把配置都倒过去。启动,ok。

2,如果第3步在历史数据已经开始写入后再创建索引的话;也就是先配置好zabbix,启动后,数据会开始写入es,这时候再按照上述方法创建索引,就会报错,索引已经存在了,必须先stop zabbix,把这5个索引手动删了,再按照第三步执行才行

3,如果不按照3步创建索引的话,再es上写入的数据中的clock是Unix时间,kibana不会像上面图中那样展示,zabbix web也不会有数据显示

 

zabbix3.4.14历史数据写入es

标签:自带   info   word   创建索引   网上   cat   set   yum   比较   

原文地址:https://www.cnblogs.com/cq90/p/9780422.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!