前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Z大牛的小分享:给zabbix更换nagios图标

Z大牛的小分享:给zabbix更换nagios图标

作者头像
Zabbix
发布2021-02-03 09:56:58
4380
发布2021-02-03 09:56:58
举报
文章被收录于专栏:Zabbix中国官方

Zabbix的maps用来图形化显示监控设备的拓扑图,并且以不同的标记显示故障事件,通过该图表很直观的显示设备的整体情况,nagios中monitoringexchange.org上下载的图标还是很漂亮的,zabbix自带的图标就逊色多了,下面就讲怎么把nagios的图标添加到zabbix的图片库中。

下载链接如下:

链接: https://pan.baidu.com/s/1c2eGl8k 密码: 7cv7

github: https://github.com/bluetom520/zabbix-icon

脚本如下

#!/bin/sh

##懒懒的天空

### GLOBALS

IMG_EXT="{gd2,jpg}"

SQL_FILE="my_images_mysql.sql"

SQL_INS="INSERT INTO images VALUES ("

SQL_IMAGEID_RANGE=0

SQL_IMAGETYPE=1

SQL_NAME=""

SQL_IMAGE=""

### ERROR

NORMAL=0

ERR_ARGS=1

ERR_NO_DIR=2

ERR_NO_FILE=3

RETVAL=$NORMAL

########################################################################

### Actual Main

########################################################################

main() {

 local dir=$1

 local num=`mysql -uroot -p123456 zabbix -e "SELECT MAX(imageid) FROM images;"|grep -e '[0-9].*'`

 num=$(($num+ 1))

 # check the number of command argument

 if [ $# -lt 1 ]; then

 return $ERR_ARGS

 fi

 # check target dir

 [ ! -d $dir ] && return $ERR_NO_DIR

 # check target file

 check_image_file $dir || return $?

 # make sql file

 make_sql_file $num

 return $RETVAL

}

########################################################################

### Check image files existence

########################################################################

check_image_file() {

 local dir=$1

 local file_num=0

 file_num=$(eval ls $dir/*.$IMG_EXT 2>/dev/null | wc -l)

 [ $file_num -eq 0 ] && return $ERR_NO_FILE

 return $RETVAL

}

########################################################################

### Make SQL file to insert image files

########################################################################

make_sql_file() {

 local f=

 [ -f $SQL_FILE ] && rm -f $SQL_FILE

 SQL_IMAGEID=$1

 for f in $(eval ls $dir/*.$IMG_EXT 2>/dev/null)

 do

 SQL_NAME=$(basename $f | cut -d. -f1)

 SQL_IMAGE="0x$(od -tx1 $f | awk '{for(i=2; i<=NF; i++) printf("%s", toupper($i))}')" echo "$SQL_INS $SQL_IMAGEID, $SQL_IMAGETYPE, '$SQL_NAME', $SQL_IMAGE);">> $SQL_FILE

 SQL_IMAGEID=$(($SQL_IMAGEID + 1))

 echo -n "." # in progress

 done

 echo -e "\ncompleted"

 return $RETVAL

}

########################################################################

### Check error and display error message

########################################################################

check_error() {

 local result=$1

 case $result in

 $ERR_ARGS)

 usage

 ;;

 $ERR_NO_DIR)

 echo "cannot find target dir"

 ;;

 $ERR_NO_FILE)

 echo "cannot find \"*.$IMG_EXT\" files"

 ;;

 *)

 echo "unknown error"

 ;;

 esac

 return $result

}

########################################################################

### Usage

########################################################################

usage() {

 echo "Usage: make_img_insert_sql.sh <start_imageid>"

}

########################################################################

### Script Main

########################################################################

main "$@" || check_error $?

执行脚本

1.    脚本保存为make_img_insert_sql.sh

2.    vendors为图标目录 png导入不识别

3.    sh make_img_insert_sql.sh vendors

4.    会生成my_images_mysql.sql 文

5.    cat my_images_mysql.sql |mysql -uzabbix -pzabbix zabbix

6.    每执行完毕删除上一次的sql文件

7.    然后继续下一个目录

图标显示如下图

图片
图片
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-08-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Zabbix开源社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档