snmpserver編譯
『壹』 設置交換機的snmp-server出錯
snmp-server community public RO
snmp-server host 192.168.0.2 public
『貳』 SNMP-SERVER HOST命令
你想問什麼?
====
Hostname or A.B.C.D IP address of SNMP
notification host
http://<Hostname or A.B.C.D>[:<port number>][/<uri>] HTTP address of XML
notification host
這是CISCO3560里的命令提示,如果不明白就按「?」
我見到的設備都不能輸入掩碼,監控主機沒必要那麼多吧
『叄』 net-snmp是如何收集信息的
在windows下編譯net-snmp其實很簡單,我用的是net-snmp5.2.1.2的版本。只需把源碼下的win32目錄中的幾個庫的工程編譯就行了。但記住,把netsnmp.lib放在最後編譯,要不然編譯結果不一樣,切記,切記。然後再用編譯出來的四個庫文件: netsnmp.lib,netsnmpagent.lib,netsnmphelpers.lib,netsnmpmibs.lib,來編譯netsnmp.dll。注意還要加上wsock32.lib。如果編譯出錯,提示跟VC默認的庫有沖突,按提示在編譯環境中用NODEFAULTLIB:XXX來去掉VC的預設庫文件。
下面介紹一下幾個例子程序,例子源代碼都可以通過net-snmp的幫助超鏈接連到其網站下載
1.編譯例子example-demon;
#include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-includes.h>
#include <net-snmp/agent/net-snmp-agent-includes.h>
#include <signal.h>
#include "nstAgentSubagentObject.h"
static int keep_running;
RETSIGTYPE
stop_server(int a) {
keep_running = 0;
}
int
main(int argc, char *argv[])
{
int agentx_subagent=0; /* change this if you want to be a SNMP master agent */
/*為了編譯成為主代理,這里設為0*/
int background = 0; /* change this if you want to run in the background */
int syslog = 0; /* change this if you want to use syslog */
/* print log errors to syslog or stderr */
if (syslog)
snmp_enable_calllog();
else
snmp_enable_stderrlog();
/* we're an agentx subagent? */
if (agentx_subagent) {
/* make us a agentx client. */
netsnmp_ds_set_boolean(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_ROLE, 1);
}
/* run in background, if requested */
if (background && netsnmp_daemonize(1, !syslog))
exit(1);
/* initialize tcpip, if necessary */
SOCK_STARTUP;
/* initialize the agent library */
init_agent("example-demon");
/* initialize mib code here */
/* mib code: init_nstAgentSubagentObject from nstAgentSubagentObject.C */
init_nstAgentSubagentObject();
/* initialize vacm/usm access control */
if (!agentx_subagent) {
void init_vacm_vars();/*---------------小修改一下---------------*/
void init_usmUser();
}
/* example-demon will be used to read example-demon.conf files. */
/*這里會讀取一個為example-demon.conf 的配置文件--關鍵*/
init_snmp("example-demon");
/* If we're going to be a snmp master agent, initial the ports */
if (!agentx_subagent)
init_master_agent(); /* open the port to listen on (defaults to udp:161) */
/* In case we recevie a request to stop (kill -TERM or kill -INT) */
keep_running = 1;
signal(SIGTERM, stop_server);
signal(SIGINT, stop_server);
snmp_log(LOG_INFO,"example-demon is up and running.\n");
/* your main loop here... */
while(keep_running) {
/* if you use select(), see snmp_select_info() in snmp_api(3) */
/* --- OR --- */
agent_check_and_process(1); /* 0 == don't block */
}
/* at shutdown time */
snmp_shutdown("example-demon");
SOCK_CLEANUP;
return 0;
}
這里都有很詳細的注釋,就不說明了。
在vc的工程中,把所用到的例子mib庫文件nstAgentSubagentObject.h,nstAgentSubagentObject.c添加進去。並設置好所需的四個庫文件,如文開頭所述,看是否需要加wsock32.lib,和NODEFAULTLIB。接著就應該可以編譯通過了,無錯誤無警告。
2.關於運行
運行就必須設置配置文件的路徑,最好下一個NET-SNMP的二進制包,按預設路徑安裝C:\USR。安裝時提示還需要下載一個PERL的安裝包,用來運行mib2c工具,這個網上都有介紹。配置文件放在
c:\,c:\usr\etc\snmp或C:\usr\share\snmp都有效。但如果你是運行例子主代理程序,會在etc目錄下找配置文件。例子的配置文件應和init_snmp("example-demon");中初始化的名字相同:example-demon.conf。配置文件只需設兩個值就夠了:
#community 的讀寫根據需要設,這里設的是readonly
rocommunity public
agentaddress 161
另外,如果是運行二進制包,snmp.conf文件不要手工修改,要通過snmpconf生成,手工修改的好像不起作用。例子程序的配置可以手工設置。
最後,把example-demon.conf放到c:\usr\etc\snmp下。關掉二進制包的snmpd.exe服務(如果在運行的話)。然後運行example-demon.exe。正常情況下,如果安裝了二進制包,例子可以在編譯目錄下運行,不行就把netsnmp.dll拷進來,或直接把例子放到二進制包的bin目錄下。有問題檢查配置文件的路徑和設置。最好下載一個叫getif的管理端軟體,很方便小巧的查詢工具,來側試。
3.編譯自己的mib庫
第一種可以通過mib2c生成模版框架,在相關地方添上數據導入指針及其他。
第二種可以參考nstAgentSubagentObject.c。
第三種可以參考net-snmp-xxx\agent\mibgroup\examples下的幾個實現方式。
總結
主要是環境設置,庫的編譯順序,配置文件設置。參考例子基本沒多大問題。
『肆』 windows server怎麼開啟snmp服務
Windows上開啟SNMP代理程序以及進行安全配置的操作比較簡單,這里以Windows Server 2003為例,對於其它Windows伺服器產品,方法類似。
第一步:確認當前的Windows組件中是否已經安裝了SNMP協議 點擊控制面板的「添加或刪除Windows組件」,在「管理和監測工具」中查看詳情,可看到「簡單網路管理協議(SNMP)」。 如果沒有安裝,則需要對其進行安裝,期間需要定位Windows安裝盤中的i386文件夾。下載。
第二步:配置SNMP Service
打開 「管理工具」找到「服務」中的SNMP Service,雙擊它進行配置。 注意:安裝SNMP協議後,SNMP Service會默認啟動;SNMP Trap Service是不需要開啟的,如果它已被開啟,請關閉它。
在SNMP Service的配置窗口中,你只需要切換到「安全」選項卡,按照以下的圖示進行填寫。 團體名字是SNMP v2c版本中的密碼字元串。下圖中的「qycn」只是一個例子,可以填寫其它的字元串,隨後在小蜜蜂監測後台添加伺服器時,選擇2c協議,同時在Community輸入框中填寫這個團體名稱即可。 授權主機:選擇「接受來自這些主機的SNMP數據包」,然後添加「221.5.47.27 、125.90.88.155」這2個IP,這是小蜜蜂監測的專用監測點,除此之外其它伺服器無法獲取你的伺服器監測信息,安全有保障!
一切配置好後,保證SNMP Service已經開啟,如果以後重啟了伺服器,也請檢查是否開啟了SNMP Service;保證伺服器已經打開了SNMP Service的埠,默認為UDP 161。 如果你啟用了系統防火牆,那麼請添加這個例外埠,打開本地連接->屬性->高級->防火牆->例外,
『伍』 windows7旗艦版 怎麼設置snmp server 屬性
Win7操作系統默認情況下是不安裝SNMP服務的,如下圖所示:
WIN7操作系統下安裝SNMP的步驟,如下圖所示:
開始安裝SNMP,如下圖所示:
正在安裝SNMP,如下圖所示:
SNMP安裝完成,如下圖所示:
『陸』 snmp-server enble traps vtp 什麼意思
捕獲vtp的事件,如vlan的增刪改等,通過snmp協議發送到snmp服務端。
『柒』 snmp-server enable traps tty 命令有什麼用途,不用這個命令會怎麼樣
snmp-server enable traps tty 命令用來設定系統允許發送tty的trap,其他類型的還有config 和 bgp 及dlsw等,不用這個命令的話系統就不能發送這種trap。不要後面的tty則會默認發送所有類型的trap。
snmp-server community public-4506 RO是設置snmp的共同體串為public-4506,許可權為只讀。不設的話一般都會採用默認的配置,即共同體串為public(只讀)和private(讀寫)。默認配置不安全,所以建議修改。
『捌』 華為路由器snmp如何配置
# 進入全局配置模式。
system-view
# 設置系統啟用的SNMP版本號
[Quidway] snmp-agent sys-info version all
# 設置團體名和訪問許可權。
[Quidway] snmp-agent community read public
[Quidway] snmp-agent community write private
# 設置管理員標識、聯系方法以及乙太網交換機的物理位置。
[Quidway] snmp-agent sys-info contact [email protected]
[Quidway] snmp-agent sys-info location Shenzhen,GD
# 允許發送Trap。
[Quidway] snmp-agent trap enable
如果交換機還沒有配置VLAN IP,需要做下面的步驟:
# 配置VLAN 介面1 的IP 地址。
<Switch> system-view
[Switch] interface Vlan-interface 1
[Switch-Vlan-interface1] ip address x.x.x.x 255.255.255.0
『玖』 添加SNMP協議時是,沒有SNMP server 選項
你好: 在開始菜單中選擇管理工具>伺服器管理器 在伺服器管理器中選擇功能摘要標簽的添加功能 選擇添加SNMP服務 打開開始菜單>管理工具>服務 在服務中選擇SNMPServer的屬性選項 在安裝選項卡中添加SNMP 讀寫字元串和允許訪問的主機地址
『拾』 SNMP-SERVER是什麼東西,大神能給解釋下嗎
snmp是一種硬體管理的協議,配置了snmp伺服器,通過snmp協議,可以遠程管理伺服器或交換機路由器等硬體設備。