我对Softlayer中的监控有疑问。 如何获取要添加的IP地址列表? IP比主要IP更多。是否有API来获取用于监控的IP?
如何让用户列表通知?我使用的代码没有用户。
List<Agent> agentList = guest.getMonitoringAgents();
for (Agent agent : agentList) {
List<Customer> custList = agent.asService(client).getEligibleAlarmSubscibers();
}
答案 0 :(得分:0)
要获取要添加的IP地址列表,您可以尝试以下方法:
[已更新]这是一个通过硬件获取IP地址的示例
package com.softlayer.api.NetworkMonitor;
import com.softlayer.api.ApiClient;
import com.softlayer.api.RestApiClient;
import com.softlayer.api.service.Hardware;
import com.softlayer.api.service.network.Monitor;
import com.softlayer.api.service.network.subnet.IpAddress;
/**
* This script will return an arrayObject of objects containing the ipaddresses for hardware
*
* Important Manual Page:
* http://sldn.softlayer.com/reference/services/SoftLayer_Network_Monitor/getIpAddressesByHardware
* http://sldn.softlayer.com/reference/datatypes/SoftLayer_Network_Subnet_IpAddress
*
* @license <http://sldn.softlayer.com/article/License>
* @authon SoftLayer Technologies, Inc. <sldn@softlayer.com>
* @version 0.2.2
*/
public class GetIpAddressesByHardware {
/**
* This is the constructor, is used to Get Ip Addresses By Hardware
*/
public GetIpAddressesByHardware() {
// Declare your SoftLayer username and apiKey
String username = "set me";
String apiKey = "set me";
// Define Hardware identifier
Long hardwareId = new Long(92862);
// Create client
ApiClient client = new RestApiClient().withCredentials(username, apiKey);
Monitor.Service monitorService = Monitor.service(client);
Hardware hardware = new Hardware();
hardware.setId(hardwareId);
try {
for(IpAddress ipAddress : monitorService.getIpAddressesByHardware(hardware, ""))
{
System.out.println("Ip Address: " + ipAddress.getIpAddress());
}
} catch (Exception e) {
System.out.println("Error: " + e);
}
}
/**
* This is the main method which makes use of GetIpAddressesByHardware method.
*
* @param args
* @return Nothing
*/
public static void main(String[] args) {
new GetIpAddressesByHardware();
}
}
关于:如何让用户列表通知?
以下方法将有助于此:
[已更新]这是一个使用SoftLayer_Hardware_Server::getUsers
的脚本
package com.softlayer.api.HardwareServer;
import com.softlayer.api.ApiClient;
import com.softlayer.api.RestApiClient;
import com.softlayer.api.service.hardware.Server;
import com.softlayer.api.service.user.Customer;
/**
* This script retrieves a list of users that have access to this computing instance.
*
* Important Manual Page:
* http://sldn.softlayer.com/reference/services/SoftLayer_Hardware_Server/getUsers
* http://sldn.softlayer.com/reference/datatypes/SoftLayer_User_Customer
*
* @license <http://sldn.softlayer.com/article/License>
* @authon SoftLayer Technologies, Inc. <sldn@softlayer.com>
* @version 0.2.2
*/
public class GetUsers {
/**
* This is the constructor, is used to Get Users from hardware
*/
public GetUsers() {
// Declare your SoftLayer username and apiKey
String username = "set me";
String apiKey = "set me";
// Define Hardware identifier
Long hardwareId = new Long(92862);
// Create client
ApiClient client = new RestApiClient().withCredentials(username, apiKey);
Server.Service serverService = Server.service(client, hardwareId);
try {
for(Customer user : serverService.getUsers())
{
System.out.println("Id: " + user.getId());
System.out.println("User: " + user.getLastName() + ", " + user.getFirstName() + "(" + user.getUsername() + ")");
System.out.println("----------------------------");
}
} catch (Exception e) {
System.out.println("Error: " + e);
}
}
/**
* This is the main method which makes use of GetUsers method.
*
* @param args
* @return Nothing
*/
public static void main(String[] args) {
new GetUsers();
}
}
这是一个使用SoftLayer_Virtual_Guest::getUsers的脚本:
package Monitoring;
import com.softlayer.api.ApiClient;
import com.softlayer.api.RestApiClient;
import com.softlayer.api.service.user.Customer;
import com.softlayer.api.service.virtual.Guest;
/**
* This script retrieve a list of users that have access to this computing instance.
*
* Important Manual Page:
* http://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest/getUsers
* http://sldn.softlayer.com/reference/datatypes/SoftLayer_User_Customer
*
* @license <http://sldn.softlayer.com/article/License>
* @authon SoftLayer Technologies, Inc. <sldn@softlayer.com>
* @version 0.2.2
*/
public class GetUserList {
/**
* This is the constructor, is used to Add users to notify
*/
public GetUserList() {
// Declare your SoftLayer username and apiKey
String username = "set me";
String apiKey = "set me";
// Define the virtual guest id
Long guestId = new Long(18697221);
// Create client
ApiClient client = new RestApiClient().withCredentials(username, apiKey);
// Define SoftLayer_Virtual_Guest service
Guest.Service guestService = Guest.service(client, guestId);
try {
for(Customer user : guestService.getUsers())
{
System.out.println("Id: " + user.getId());
System.out.println("User: " + user.getLastName() + ", " + user.getFirstName() + "(" + user.getUsername() + ")");
System.out.println("----------------------------");
}
} catch (Exception e) {
System.out.println("Error: " + e);
}
}
/**
* This is the main method which makes use of GetUserList method.
*
* @param args
* @return Nothing
*/
public static void main(String[] args) {
new GetUserList();
}
}