【问题标题】:Configuring snmp on ESXi server using VI Java api使用 VI Java api 在 ESXi 服务器上配置 snmp
【发布时间】:2012-11-11 14:10:50
【问题描述】:

我正在尝试在 ESX-i 服务器上配置 snmp。 为此,我正在使用 VI Java api。为此,我正在使用最近的 vi jars。 这是代码。

import java.net.URL;

import com.vmware.vim25.HostSnmpConfigSpec;
import com.vmware.vim25.HostSnmpDestination;
import com.vmware.vim25.mo.Folder;
import com.vmware.vim25.mo.HostSnmpSystem;
import com.vmware.vim25.mo.HostSystem;
import com.vmware.vim25.mo.InventoryNavigator;
import com.vmware.vim25.mo.ServiceInstance;

public class ConfigureSnmpSystem
{

    private static final String URL_VCENTER = "https://10.118.67.36/sdk";
    private static final String username = "Admin";
    private static final String password = "passwd";
    public static void main(String[] args) throws Exception {

    ServiceInstance si = new ServiceInstance(new URL(URL_VCENTER), username,
            password, true);

    String hostname = "10.108.30.12"; // this is the ip address of esx-i server
    Folder rootFolder = si.getRootFolder();
    HostSystem host = null;
    host = (HostSystem) new InventoryNavigator(rootFolder)
            .searchManagedEntity("HostSystem", hostname);

    if (host == null) {
        System.out.println("Cannot find the host:" + hostname);
        si.getServerConnection().logout();
        return;
    }

    HostSnmpSystem hss = host.getHostSnmpSystem();

    HostSnmpConfigSpec spec = new HostSnmpConfigSpec();
    spec.setEnabled(true);
    spec.setReadOnlyCommunities(new String[] { "visdk" });
    HostSnmpDestination dest = new HostSnmpDestination();
    dest.setCommunity("visdk");
    dest.setHostName("10.108.67.46");
    dest.setPort(162);
    spec.setTrapTargets(new HostSnmpDestination[] { dest });

    hss.reconfigureSnmpAgent(spec);
    si.getServerConnection().logout();
}
}

错误来了HostSnmpSystem hss = host.getHostSnmpSystem(); hss 结果为空

无法猜测错误。

【问题讨论】:

    标签: java snmp esxi


    【解决方案1】:

    vCenter Server 尚不支持按 ESX (hostSystem) snmp 进行配置。 我认为这应该最终在 5.5 IIRC 中可用。

    另请注意,从 ESX 5.1 开始,现在支持 SNMPv3,尽管它已配置 使用 'esxcli system snmp set|get' cmds,VIM API 仅支持 SNMPv1。

    【讨论】:

      猜你喜欢
      • 2016-03-20
      • 2015-09-13
      • 2021-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-16
      • 1970-01-01
      相关资源
      最近更新 更多