mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
refactor: Updated the oxidized script (#8572)
* refactor: Updated the oxidized script * Updated to use rmccue::Requests + Config::get()
This commit is contained in:
committed by
Tony Murray
parent
efe8b8858b
commit
d799600cab
@@ -1,28 +1,20 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
$init_modules = array();
|
||||
$init_modules = [];
|
||||
require __DIR__ . '/../includes/init.php';
|
||||
|
||||
function oxidized_node_update($hostname, $username, $msg)
|
||||
{
|
||||
global $config;
|
||||
use LibreNMS\Config;
|
||||
|
||||
function oxidized_node_update($hostname, $msg, $username = 'not_provided')
|
||||
{
|
||||
// Work around https://github.com/rack/rack/issues/337
|
||||
$msg = str_replace("%", "", $msg);
|
||||
$postdata = array("user" => $username, "msg" => $msg);
|
||||
|
||||
$version = `git rev-parse --short HEAD`;
|
||||
if ($version != "") {
|
||||
$version = "/".$version;
|
||||
$postdata = ["user" => $username, "msg" => $msg];
|
||||
$oxidized_url = Config::get('oxidized.url');
|
||||
if (!empty($oxidized_url)) {
|
||||
Requests::put("$oxidized_url/node/next/$hostname", [], json_encode($postdata), ['proxy' => get_proxy()]);
|
||||
}
|
||||
|
||||
$curl = curl_init();
|
||||
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
|
||||
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($postdata));
|
||||
curl_setopt($curl, CURLOPT_USERAGENT, "librenms".$version);
|
||||
curl_setopt($curl, CURLOPT_URL, $config['oxidized']['url'].'/node/next/'.$hostname);
|
||||
$result = curl_exec($curl);
|
||||
}//end oxidized_node_update()
|
||||
|
||||
$hostname = $argv[1];
|
||||
@@ -30,18 +22,13 @@ $os = $argv[2];
|
||||
$msg = $argv[3];
|
||||
|
||||
if (preg_match('/(SYS-(SW[0-9]+-)?5-CONFIG_I|VSHD-5-VSHD_SYSLOG_CONFIG_I): Configured from .+ by (?P<user>.+) on .*/', $msg, $matches)) {
|
||||
$username = $matches['user'];
|
||||
oxidized_node_update($hostname, $username, $msg);
|
||||
oxidized_node_update($hostname, $msg, $matches['user']);
|
||||
} elseif (preg_match('/GBL-CONFIG-6-DB_COMMIT : Configuration committed by user \\\\\'(?P<user>.+?)\\\\\'..*/', $msg, $matches)) {
|
||||
$username = $matches['user'];
|
||||
oxidized_node_update($hostname, $username, $msg);
|
||||
oxidized_node_update($hostname, $msg, $matches['user']);
|
||||
} elseif (preg_match('/ASA-(config-)?5-111005: (?P<user>.+) end configuration: OK/', $msg, $matches)) {
|
||||
$username = $matches['user'];
|
||||
oxidized_node_update($hostname, $username, $msg);
|
||||
oxidized_node_update($hostname, $msg, $matches['user']);
|
||||
} elseif (preg_match('/startup-config was changed by (?P<user>.+) from telnet client .*/', $msg, $matches)) {
|
||||
$username = $matches['user'];
|
||||
oxidized_node_update($hostname, $username, $msg);
|
||||
oxidized_node_update($hostname, $msg, $matches['user']);
|
||||
} elseif (preg_match('/HWCM\/4\/CFGCHANGE/', $msg, $matches)) { //Huawei VRP devices CFGCHANGE syslog
|
||||
$username = 'not_provided'; //Huawei VRP syslog does not provide username here.
|
||||
oxidized_node_update($hostname, $username, $msg);
|
||||
oxidized_node_update($hostname, $msg);
|
||||
}
|
||||
|
Reference in New Issue
Block a user