cacti

目录

cacti

cacti一键添加监控脚本

#!/bin/bash

#使用方法: scriptname 被监控的ip地址 对监控的简单描述 放在哪个树下(树的名字,没有会新建一个)
#提示: 1.在执行脚本前要确保被监控ip开启了snmp,并且cacti服务器可以访问到.
#      2.脚本只做了简单的监控
#      3.如果没出图像,可能需要等一下
#      4.需要更具实际情况修改一下 PHP_CMD CACTI_PATH
#被监控ip地址
IP=${1}
#被监控描述
DESC=${2}
#
TREE_NAME=${3}
#php命令位置
PHP_CMD="/usr/local/webserver/php/bin/php"
#cacti安装位置
CACTI_PATH="/data/htdocs/cacti.xigu.com"

function main
{
    if [ -z "$IP" ] || [ -z "$DESC" ] || [ -z "$TREE_NAME" ]
    then
   echo "use cacti_add_server.sh ip desc tree_name"
    else
    add
    fi
}


function add
{

       #新建设备
       ${PHP_CMD} ${CACTI_PATH}/cli/add_device.php --description="${DESC}-${IP}" --ip="${IP}" --template=3 --version=2 --community="public"

       #获取id
       HOST_ID=`${PHP_CMD} ${CACTI_PATH}/cli/add_graphs.php --list-hosts |grep "${IP}" |awk '{print $1}'`


       #添加图像模板
       ${PHP_CMD} ${CACTI_PATH}/cli/add_graphs.php --host-id="${HOST_ID}" --graph-type=cg --graph-template-id=4
       ${PHP_CMD} ${CACTI_PATH}/cli/add_graphs.php --host-id="${HOST_ID}" --graph-type=cg --graph-template-id=11
       ${PHP_CMD} ${CACTI_PATH}/cli/add_graphs.php --host-id="${HOST_ID}" --graph-type=cg --graph-template-id=13

       #添加网络流量监控
       ${PHP_CMD} ${CACTI_PATH}/cli/add_graphs.php --host-id="${HOST_ID}" --graph-type=ds  --graph-template-id=2 --snmp-query-id=1 --snmp-query-type-id=16 --snmp-field=ifDescr --snmp-value="eth0"

       #添加磁盘监控
       #${PHP_CMD} ${CACTI_PATH}/cli/add_graphs.php --host-id="34" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --snmp-value="/"


       #得到树的ID
       TREE_ID=`${PHP_CMD} ${CACTI_PATH}/cli/add_tree.php  --list-trees |grep "${TREE_NAME}" |awk '{print $1}'`
       if [ -z "${TREE_ID}"]
       then
           #增加树
           ${PHP_CMD} ${CACTI_PATH}/cli/add_tree.php  --type=tree --name="${TREE_NAME}"
           #得到树的ID
           TREE_ID=`${PHP_CMD} ${CACTI_PATH}/cli/add_tree.php  --list-trees |grep "${TREE_NAME}" |awk '{print $1}'`
       fi



       #添加设备到相应的树下
       ${PHP_CMD} ${CACTI_PATH}/cli/add_tree.php  --host-id="${HOST_ID}" --type=node --node-type=host --tree-id="${TREE_ID}"
}

main


目录