Библиотека Java IPAddress сделает это. Javadoc доступен по ссылке. Отказ от ответственности: я руководитель проекта.
Эта библиотека поддерживает прозрачность IPv4 и IPv6, поэтому проверка либо работает так же, как и ниже, и также поддерживает подсерии CIDR.
Проверьте, адрес действителен
String str = "1.2.3.4";
IPAddressString addrString = new IPAddressString(str);
try {
IPAddress addr = addrString.toAddress();
...
} catch(AddressStringException e) {
//e.getMessage provides validation issue
}
Я бы рассмотрел использование Splunk HTTP Event Collector .
Вы можете использовать XSLT ou Gatewayscript в сочетании с функцией urlopen Datapower (доступной на обоих языках), чтобы сделать простой HTTP-вызов коллекционеру.
Я нашел здесь здесь ( код под лицензией Apache ), что вызов такой же простой, как вызов https: // SPLUNK_SVR: 8088 / services / collector / event / 1.0 со следующим телом:
{
"source": "chicken coop",
"sourcetype": "httpevent",
"index": "main",
"host": "farm.local",
"event": {
"message": {
"chickenCount": 500
"msg": "Chicken coup looks stable.",
"name": "my logger",
"put": 98884,
"temperature": "70F",
"v": 0
},
"severity": "info"
}
}
Я думаю, что он будет работать лучше на datapower, используя скрипт шлюза, Пример такого вызова можно найти здесь здесь . Посмотрите на первый пример. Вы найдете аналогичный код, в котором я изменил раздел «Данные»:
//Could be added to a library
var urlopen = require('urlopen');
var jsonData = '{
"source": "Datapower",
"sourcetype": "SOMETHING DYNAMIC",
"index": "main",
"host": "GET_THIS_FROM_DP_VARIABLES",
"event": {
"message": {
"SOMECOUNTER": 500
"msg": "SOME INTERESTING INFORMATION.",
"name": "GET_THIS_FROM_DP_VARIABLES",
"put": 3333,
"yadayada": "foo",
"bar": 0
},
"severity": "info"
}
}';
var options = {
target: 'https://SPLUNK_SVR:8088/services/collector/event/1.0',
method: 'POST',
headers: { },
contentType: 'text/plain',
timeout: 60,
sslClientProfile: 'AN_EXISTING_SSL_PROFILE_ON_DATAPOWER',
data: jsonData};
urlopen.open(options, function(error, response) {
if (error) {
// an error occurred during the request sending or response header parsing
console.error("Splunk Logging - urlopen error: "+JSON.stringify(error));
} else {
// get the response status code
var responseStatusCode = response.statusCode;
var responseReasonPhrase = response.reasonPhrase;
console.log("Splunk Logging - status code: " + responseStatusCode);
console.log("Splunk Logging - reason phrase: " + responseReasonPhrase);
// no need to read response data - This is just logging
}
});
Splunk имеет несколько интерфейсов, но XSLT не является одним из них. К счастью для вас, уже есть приложение Splunk, которое может собирать данные из Datapower и индексировать его. См. https://splunkbase.splunk.com/app/3517/ .