给zabbix更换nagios图标

来源:互联网 发布:手机wifi中继软件 编辑:程序博客网 时间:2024/06/01 03:57

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文件然后继续下一个目录

图标显示如下图

0 0
原创粉丝点击