zabbix监控elk的es值(线上),zabbixelk


## zabbix监控elk的es值(线上)

### 1、es服务器、192.168.**.**服务器(agent端)
1. > 首先通过curl -s -XGET http://localhost:9200/_cat/indices?bytes=G获取数据

1. > 安装zabbix-agent

1. > 通过shell脚本将值名以json的格式输出
vim elk.discovery.sh

```脚本路径:/opt/sbin
#!/bin/bash
indexarray=(`curl -s -XGET -k -u manager:eMBPVpeumhdiewgz https://localhost:9200/_cat/indices\?bytes\=G |sort -rnk8 |awk '{print $3}'|egrep “^[^b]|boxfish.*$(date +%Y.%m.%d)”|sed 's/$(date +%Y%m%d)'//g`)

length=${#indexarray[@]}
printf "{\n"
printf '\t'"\"data\":["
for ((i=0;i<$length;i++))
do
printf '\n\t\t{'
printf "\"{#ELKINDEX}\":\"${indexarray[$i]}\"}"

if [ $i -lt $[$length-1] ];then
printf ','
fi
done

printf "\n\t]\n"
printf "}\n”
```
脚本授权:

```
chmod +x elk.discovery.sh
```

4. > vim /etc/zabbix/elk.index.sh #取值的脚本 192.168.**.**服务器(agent端)
```
#!/bin/bash
if [ ${1:0:7} == boxfish ];then
a=`curl -s -XGET -k -u manager:eMBPVpeumhdiewgz https://localhost:9200/_cat/indices\?bytes\=G |sort -rnk8 |egrep "$1-$(date +%Y.%m.%d)"`
else
a=`curl -s -XGET -k -u manager:eMBPVpeumhdiewgz https://localhost:9200/_cat/indices\?bytes\=G |sort -rnk8 |egrep "$1"`
fi

b=`echo $a |awk '{print $9}'`
c=`echo $b|egrep -o "..$"`
size=`echo $b|sed -rn 's#(.*)..\$#\1#gp'`
case $c in
gb)
s=`echo | awk "{print $size*1024}"`
;;
kb)
#s=`scale=3 echo "$size/1024"|bc`
s=`echo "$size"| awk '{printf("%.3f\n",$1/1024)}'`
#s=`echo | awk "{print $size/1024}"`
;;
*)
s=$size
esac

echo $s
```
脚本授权:
```
chmod +x elk.discovery.sh
```

5. > zabbix_agent设置
```
mkdir -p /etc/zabbix/zabbix_agentd.d/userparameter_elk.conf
```
/etc/zabbix/zabbix_agentd.d# cat userparameter_elk.conf
```
UserParameter=elk.discovery,/etc/zabbix/elk.discovery.sh
UserParameter=elk.index[*],/bin/bash /etc/zabbix/elk.index.sh $1
```
6. > zabbix-server端测试

zabbix_server服务端,进行取名测试:
```
zabbix_get -s 192.168.**.** -k elk.discovery #脚本试行
{
"data":[
{"{#ELKINDEX}":"logstash-nginx-access"},
{"{#ELKINDEX}":".kibana"}
]
}
```
取值测试:zabbix_get -s 192.168.**.** -k elk.index[.kibana]
```
25.1
```

### 2、配置zabbix—server端web界面
1. > 配置模版

![es1](http://on7oqnlte.bkt.clouddn.com/es1.png)

---

![es2](http://on7oqnlte.bkt.clouddn.com/es2.png)
> 然后点击保存
![es3](http://on7oqnlte.bkt.clouddn.com/es3.png)
2. > 创建create discovery rule

![es4](http://on7oqnlte.bkt.clouddn.com/es4.png)

---

![es5](http://on7oqnlte.bkt.clouddn.com/es5.png)
3. > 点击item prototypes

![es6](http://on7oqnlte.bkt.clouddn.com/es6.png)

---

![es7](http://on7oqnlte.bkt.clouddn.com/es7.png)

4. > 点击Trigger prototypes

![es8](http://on7oqnlte.bkt.clouddn.com/es8.png)

---

![es9](http://on7oqnlte.bkt.clouddn.com/es9.png)

---

![es10](http://on7oqnlte.bkt.clouddn.com/es10.png)

5. > 给主机添加模版

![es11](http://on7oqnlte.bkt.clouddn.com/es11.png)


---


![es12](http://on7oqnlte.bkt.clouddn.com/es12.png)

6. > 添加图形

![es13](http://on7oqnlte.bkt.clouddn.com/es13.png)

---

![es14](http://on7oqnlte.bkt.clouddn.com/es14.png)
> 把所有图形整合到一个图

![es15](http://on7oqnlte.bkt.clouddn.com/es14)

### 3、查看成功后的图形

![es16](http://on7oqnlte.bkt.clouddn.com/es15)
![]()
![]()

相关内容