首页 > 学院 > 操作系统 > 正文

给zabbix更换nagios图标

2024-06-28 15:59:30
字体:
来源:转载
供稿:网友

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

下载链接如下

链接: https://pan.baidu.com/s/1c2eGl8k 密码: 7cv7github: https://github.com/bluetom520/zabbix-icon

脚本如下,png和gif有些问题,不能显示,只能导入gd2格式

#!/bin/sh##懒懒的天空### GLOBALSIMG_EXT="{gd2,jpg}"SQL_FILE="my_images_MySQL.sql"SQL_INS="INSERT INTO images VALUES ("SQL_IMAGEID_RANGE=0SQL_IMAGETYPE=1SQL_NAME=""SQL_IMAGE=""### ERRORNORMAL=0ERR_ARGS=1ERR_NO_DIR=2ERR_NO_FILE=3RETVAL=$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 <dir> <start_imageid>"}########################################################################### Script Main########################################################################main "$@" || check_error $?

执行脚本

脚本保存为make_img_insert_sql.shvendors为图标目录 png导入不识别sh make_img_insert_sql.sh vendors 会生成my_images_mysql.sql 文cat my_images_mysql.sql |mysql -uzabbix -pzabbix zabbix每执行完毕删除上一次的sql文件然后继续下一个目录

图标显示如下图


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表