mirror of
https://github.com/stylersnico/librenms.git
synced 2026-08-02 00:32:09 +02:00
Merge pull request #1447 from spinza/fixunixprocesspolling
Processes get added to db in one big query instead of individual inserts.
This commit is contained in:
@@ -112,14 +112,21 @@ if ($device['os_group'] == 'unix') {
|
|||||||
if (!empty($agent_data['ps'])) {
|
if (!empty($agent_data['ps'])) {
|
||||||
echo 'Processes: ';
|
echo 'Processes: ';
|
||||||
dbDelete('processes', 'device_id = ?', array($device['device_id']));
|
dbDelete('processes', 'device_id = ?', array($device['device_id']));
|
||||||
|
$query = "INSERT INTO `processes` (`device_id`,`pid`,`user`,`vsz`,`rss`,`cputime`,`command`) VALUES ";
|
||||||
|
$values = "";
|
||||||
foreach (explode("\n", $agent_data['ps']) as $process) {
|
foreach (explode("\n", $agent_data['ps']) as $process) {
|
||||||
$process = preg_replace('/\((.*),([0-9]*),([0-9]*),([0-9\:]*),([0-9]*)\)\ (.*)/', '\\1|\\2|\\3|\\4|\\5|\\6', $process);
|
$process = preg_replace('/\((.*),([0-9]*),([0-9]*),([0-9\:]*),([0-9]*)\)\ (.*)/', '\\1|\\2|\\3|\\4|\\5|\\6', $process);
|
||||||
list($user, $vsz, $rss, $cputime, $pid, $command) = explode('|', $process, 6);
|
list($user, $vsz, $rss, $cputime, $pid, $command) = explode('|', $process, 6);
|
||||||
if (!empty($command)) {
|
if (!empty($command)) {
|
||||||
dbInsert(array('device_id' => $device['device_id'], 'pid' => $pid, 'user' => $user, 'vsz' => $vsz, 'rss' => $rss, 'cputime' => $cputime, 'command' => $command), 'processes');
|
if ($values != "") {
|
||||||
|
$values .= ",";
|
||||||
|
}
|
||||||
|
$values .= "('".mres($device['device_id'])."','".mres($pid)."','".mres($user)."','".mres($vsz)."','".mres($rss)."','".mres($cputime)."','".mres($command)."')";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if ($values != "") {
|
||||||
|
dbQuery($query.$values);
|
||||||
|
}
|
||||||
echo "\n";
|
echo "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user