I got questions regarding Monitoring in Softlayer. How can I get IP Address List to add ? There are more IPs than primary ips. Is there API to get IPs for monitoring?
How can i get User List to notify ? The code I used brings no user.
List<Agent> agentList = guest.getMonitoringAgents();
for (Agent agent : agentList) {
List<Customer> custList = agent.asService(client).getEligibleAlarmSubscibers();
}
To get Ip Address list to add, you can try the following methods:
[Updated] Here an example to get ip addresses by hardware
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();
}
}
Regarding to: How can i get User List to notify ?
The following methods will help with that:
[Updated] Here an script using 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();
}
}
Here an script using 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();
}
}