Title: [opsview] [11414] Speed up of config generation for systems with lots of host attributes
Revision
11414
Author
tvoon
Date
2013-02-12 10:35:31 +0000 (Tue, 12 Feb 2013)

Log Message

Speed up of config generation for systems with lots of host attributes

Modified Paths

Modified: trunk/CHANGES
===================================================================
--- trunk/CHANGES	2013-02-12 10:35:18 UTC (rev 11413)
+++ trunk/CHANGES	2013-02-12 10:35:31 UTC (rev 11414)
@@ -4,7 +4,9 @@
     FEATURES:
     Upgraded to latest Nagios 4 pre-release version
     Replaced ndo2db with perl based importer
-    Improve configuration generation time by up to 30%, with a reduction of up to 35% of SQL calls
+    Improve configuration generation time by an average of 30% for systems with complex service dependencies, 
+      systems with complex parent/child relationships or systems with many host attributes. Includes a 
+      reduction in SQL calls by up to 35%
     PLATFORMS:
     IE10 on Windows 8 is now a supported browser
     IE7 is deprecated

Modified: trunk/opsview-core/bin/nagconfgen.pl
===================================================================
--- trunk/opsview-core/bin/nagconfgen.pl	2013-02-12 10:35:18 UTC (rev 11413)
+++ trunk/opsview-core/bin/nagconfgen.pl	2013-02-12 10:35:31 UTC (rev 11414)
@@ -122,6 +122,8 @@
 my $hostname_lookup          = {};
 my $configuration_cache_data = {};
 
+$Opsview::Schema::Hosts::CACHE_HOST_ATTRIBUTES = 1;
+
 # Lookup of hosts and services
 # Used by Interface Poller to verify if throughput/errors/discards enabled
 # Example:

Modified: trunk/opsview-core/lib/Opsview/Schema/Hosts.pm
===================================================================
--- trunk/opsview-core/lib/Opsview/Schema/Hosts.pm	2013-02-12 10:35:18 UTC (rev 11413)
+++ trunk/opsview-core/lib/Opsview/Schema/Hosts.pm	2013-02-12 10:35:31 UTC (rev 11414)
@@ -8,6 +8,13 @@
 
 use base "Opsview::DBIx::Class", "Opsview::HostBase";
 
+# Use this to control whether to use caching or not
+# We only cache the last host as nagconfgen will iterate through X services
+# on the same host, so we save further lookups
+our $CACHE_HOST_ATTRIBUTES = 0;
+my $cache_host_attributes_last_id         = 0;
+my $cache_host_attributes_last_attributes = {};
+
 __PACKAGE__->load_components(
     qw/+Opsview::DBIx::Class::Common Validation UTF8Columns Core/);
 __PACKAGE__->table( __PACKAGE__->opsviewdb . ".hosts" );
@@ -407,7 +414,7 @@
     { "foreign.host" => "self.id" },
     {
         join     => "attribute",
-        order_by => [ "attribute.name", "value" ]
+        order_by => [ "attribute.name", "me.value" ]
     }
 );
 
@@ -763,6 +770,43 @@
     $self->snmpinterfaces( { id => { "-not_in" => \@ids } } )->delete_all;
 }
 
+# This gets a list of the host's hostattributes for use in substitution
+# if desired in the servicecheck.args
+# We only cache when required (eg, from nagconfgen) because the web UI will
+# need this to dynamically change
+sub get_host_attributes {
+    my $self = shift;
+    if ($CACHE_HOST_ATTRIBUTES) {
+        if ( $self->id != $cache_host_attributes_last_id ) {
+            $cache_host_attributes_last_attributes =
+              $self->_get_host_attributes;
+        }
+        return $cache_host_attributes_last_attributes;
+    }
+    return $self->_get_host_attributes;
+}
+
+sub _get_host_attributes {
+    my $self    = shift;
+    my $lookups = {};
+
+    # Only need first host attribute of each value
+    foreach my $hvar (
+        $self->hostattributes(
+            {},
+            {
+                prefetch => "attribute",
+                group_by => [qw(attribute.name me.value)]
+            }
+        )
+      )
+    {
+        my $arg_lookup_hash = $hvar->arg_lookup_hash();
+        $lookups = { %$arg_lookup_hash, %$lookups };
+    }
+    return $lookups;
+}
+
 # Takes the commandline and substitutes host attributes with the appropriate value
 # Rules are:
 #  if listed in overrides, use that
@@ -775,7 +819,7 @@
     # Copy overrides
     my $lookups = { %{ $overrides || {} } };
 
-    # Capture the whole host attribute, and the split into components
+    # Capture the whole host attribute and split into components
     my $hostvar_regexp = Opsview::Config->parse_attributes_regexp;
     my ( $key, $attribute_name, $argX );
 
@@ -789,36 +833,35 @@
         my $newval = "";
         if ( not exists $lookups->{$key} ) {
 
-            # Find default value for this key (which could be an arg)
-            if ( my $attribute =
-                $self->result_source->schema->resultset("Attributes")
-                ->find( { name => $attribute_name } ) )
-            {
+            # Load values from each host attribute
+            my $host_attributes = $self->get_host_attributes();
+            $lookups = { %$host_attributes, %$lookups };
 
-                # Get the default value from the attribute, if the host attribute is not set
-                if ($argX) {
-                    $_      = "arg$argX";
-                    $newval = $attribute->$_;
+            if ( not exists $lookups->{$key} ) {
+
+                # Find default value for this attribute
+                if ( my $attribute =
+                    $self->result_source->schema->resultset("Attributes")
+                    ->find( { name => $attribute_name } ) )
+                {
+
+                    if ($argX) {
+                        $_      = "arg$argX";
+                        $newval = $attribute->$_;
+                    }
+                    else {
+                        $newval = $attribute->value;
+                    }
+
                 }
                 else {
-                    $newval = $attribute->value;
-                }
 
-                # Otherwise load values from each host attribute, using current values preferred
-                foreach my $hvar ( $self->hostattributes ) {
-                    my $arg_lookup_hash = $hvar->arg_lookup_hash();
-                    $lookups = { %$arg_lookup_hash, %$lookups };
-                }
-            }
-            else {
+                    # If it doesnt exist, put the attribute name back in to the
+                    # the command as it might be a date format specifier or
+                    # similar that should be passed on
 
-                # If it doesnt exist, put the attribute name back in to the
-                # the command as it might be a date format specifier or
-                # similar that should be passed on
-                if ( not exists $lookups->{$key} ) {
-
-                    # NOTE don't use % here but something unique that will be
-                    # changed later, else get into loop from the above while
+                    # NOTE: don't use % here but something unique that will be
+                    # changed later, else get into loop from the above while()
                     $lookups->{$key} = chr(0x1A) . ${key} . chr(0x1A);
                 }
             }

Modified: trunk/opsview-core/t/var/configs/dbic_trace
===================================================================
--- trunk/opsview-core/t/var/configs/dbic_trace	2013-02-12 10:35:18 UTC (rev 11413)
+++ trunk/opsview-core/t/var/configs/dbic_trace	2013-02-12 10:35:31 UTC (rev 11414)
@@ -93,70 +93,51 @@
 SELECT COUNT( * ) FROM opsview.hostsnmpinterfaces me WHERE ( ( active = ? AND me.hostid = ? ) ): '1', '13'
 SELECT me.id, me.name, me.host, me.role, me.activated, me.passive, me.uncommitted FROM opsview.monitoringservers me WHERE ( me.id = ? ): '1'
 SELECT me.id, me.parentid, me.name, me.uncommitted, me.lft, me.rgt, me.matpath, me.matpathid FROM opsview.hostgroups me WHERE ( me.id = ? ) ORDER BY name, id: '2'
+SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, attribute.id, attribute.name, attribute.value, attribute.arg1, attribute.arg2, attribute.arg3, attribute.arg4, attribute.arg5, attribute.arg6, attribute.arg7, attribute.arg8, attribute.arg9, attribute.internally_generated, attribute.label1, attribute.label2, attribute.label3, attribute.label4, attribute.label5, attribute.label6, attribute.label7, attribute.label8, attribute.label9, attribute.uncommitted FROM (SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) GROUP BY attribute.name, me.value ORDER BY attribute.name, me.value) me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) ORDER BY attribute.name, me.value: '1', '1'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.name = ? ) ORDER BY internally_generated, name: 'MYSQL_CREDENTIALS'
-SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) ORDER BY attribute.name, value: '1'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '7'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '6'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '6'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '5'
+SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, attribute.id, attribute.name, attribute.value, attribute.arg1, attribute.arg2, attribute.arg3, attribute.arg4, attribute.arg5, attribute.arg6, attribute.arg7, attribute.arg8, attribute.arg9, attribute.internally_generated, attribute.label1, attribute.label2, attribute.label3, attribute.label4, attribute.label5, attribute.label6, attribute.label7, attribute.label8, attribute.label9, attribute.uncommitted FROM (SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) GROUP BY attribute.name, me.value ORDER BY attribute.name, me.value) me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) ORDER BY attribute.name, me.value: '1', '1'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.name = ? ) ORDER BY internally_generated, name: 'MYSQL_CREDENTIALS'
-SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) ORDER BY attribute.name, value: '1'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '7'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '6'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '6'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '5'
 SELECT me.id, me.name, me.alias, me.sunday, me.monday, me.tuesday, me.wednesday, me.thursday, me.friday, me.saturday, me.uncommitted FROM opsview.timeperiods me WHERE ( me.id = ? ) ORDER BY name: '1'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '6'
-SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( ( attribute.name = ? AND me.host = ? ) ) ORDER BY attribute.name, value: 'PROCESS', '1'
+SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( ( attribute.name = ? AND me.host = ? ) ) ORDER BY attribute.name, me.value: 'PROCESS', '1'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '6'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '6'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '1'
 SELECT me.id, me.name, me.host, me.role, me.activated, me.passive, me.uncommitted FROM opsview.monitoringservers me WHERE ( me.id = ? ): '1'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
-SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( ( attribute.name = ? AND me.host = ? ) ) ORDER BY attribute.name, value: 'DISK', '2'
+SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( ( attribute.name = ? AND me.host = ? ) ) ORDER BY attribute.name, me.value: 'DISK', '2'
 SELECT me.id, me.parentid, me.name, me.uncommitted, me.lft, me.rgt, me.matpath, me.matpathid FROM opsview.hostgroups me WHERE ( me.id = ? ) ORDER BY name, id: '2'
 SELECT me.id, me.name, me.alias, me.sunday, me.monday, me.tuesday, me.wednesday, me.thursday, me.friday, me.saturday, me.uncommitted FROM opsview.timeperiods me WHERE ( me.id = ? ) ORDER BY name: '1'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
-SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( ( attribute.name = ? AND me.host = ? ) ) ORDER BY attribute.name, value: 'DISK', '2'
+SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( ( attribute.name = ? AND me.host = ? ) ) ORDER BY attribute.name, me.value: 'DISK', '2'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
 SELECT me.id, me.name, me.host, me.role, me.activated, me.passive, me.uncommitted FROM opsview.monitoringservers me WHERE ( me.id = ? ): '1'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
-SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( ( attribute.name = ? AND me.host = ? ) ) ORDER BY attribute.name, value: 'DISK', '18'
+SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( ( attribute.name = ? AND me.host = ? ) ) ORDER BY attribute.name, me.value: 'DISK', '18'
 SELECT me.id, me.parentid, me.name, me.uncommitted, me.lft, me.rgt, me.matpath, me.matpathid FROM opsview.hostgroups me WHERE ( me.id = ? ) ORDER BY name, id: '2'
 SELECT me.id, me.name, me.alias, me.sunday, me.monday, me.tuesday, me.wednesday, me.thursday, me.friday, me.saturday, me.uncommitted FROM opsview.timeperiods me WHERE ( me.id = ? ) ORDER BY name: '1'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
-SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( ( attribute.name = ? AND me.host = ? ) ) ORDER BY attribute.name, value: 'DISK', '18'
+SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( ( attribute.name = ? AND me.host = ? ) ) ORDER BY attribute.name, me.value: 'DISK', '18'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
-SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( ( attribute.name = ? AND me.host = ? ) ) ORDER BY attribute.name, value: 'DISK', '18'
+SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( ( attribute.name = ? AND me.host = ? ) ) ORDER BY attribute.name, me.value: 'DISK', '18'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
-SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( ( attribute.name = ? AND me.host = ? ) ) ORDER BY attribute.name, value: 'DISK', '18'
+SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( ( attribute.name = ? AND me.host = ? ) ) ORDER BY attribute.name, me.value: 'DISK', '18'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
 SELECT me.id, me.name, me.host, me.role, me.activated, me.passive, me.uncommitted FROM opsview.monitoringservers me WHERE ( me.id = ? ): '1'
 SELECT me.id, me.parentid, me.name, me.uncommitted, me.lft, me.rgt, me.matpath, me.matpathid FROM opsview.hostgroups me WHERE ( me.id = ? ) ORDER BY name, id: '5'
 SELECT me.id, me.name, me.alias, me.sunday, me.monday, me.tuesday, me.wednesday, me.thursday, me.friday, me.saturday, me.uncommitted FROM opsview.timeperiods me WHERE ( me.id = ? ) ORDER BY name: '1'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.name = ? ) ORDER BY internally_generated, name: 'NRPE_PORT'
-SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) ORDER BY attribute.name, value: '6'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '7'
+SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, attribute.id, attribute.name, attribute.value, attribute.arg1, attribute.arg2, attribute.arg3, attribute.arg4, attribute.arg5, attribute.arg6, attribute.arg7, attribute.arg8, attribute.arg9, attribute.internally_generated, attribute.label1, attribute.label2, attribute.label3, attribute.label4, attribute.label5, attribute.label6, attribute.label7, attribute.label8, attribute.label9, attribute.uncommitted FROM (SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) GROUP BY attribute.name, me.value ORDER BY attribute.name, me.value) me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) ORDER BY attribute.name, me.value: '6', '6'
+SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, attribute.id, attribute.name, attribute.value, attribute.arg1, attribute.arg2, attribute.arg3, attribute.arg4, attribute.arg5, attribute.arg6, attribute.arg7, attribute.arg8, attribute.arg9, attribute.internally_generated, attribute.label1, attribute.label2, attribute.label3, attribute.label4, attribute.label5, attribute.label6, attribute.label7, attribute.label8, attribute.label9, attribute.uncommitted FROM (SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) GROUP BY attribute.name, me.value ORDER BY attribute.name, me.value) me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) ORDER BY attribute.name, me.value: '6', '6'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.name = ? ) ORDER BY internally_generated, name: 'MYSQL_CREDENTIALS'
-SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) ORDER BY attribute.name, value: '6'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '7'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.name = ? ) ORDER BY internally_generated, name: 'NRPE_PORT'
-SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) ORDER BY attribute.name, value: '6'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '7'
+SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, attribute.id, attribute.name, attribute.value, attribute.arg1, attribute.arg2, attribute.arg3, attribute.arg4, attribute.arg5, attribute.arg6, attribute.arg7, attribute.arg8, attribute.arg9, attribute.internally_generated, attribute.label1, attribute.label2, attribute.label3, attribute.label4, attribute.label5, attribute.label6, attribute.label7, attribute.label8, attribute.label9, attribute.uncommitted FROM (SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) GROUP BY attribute.name, me.value ORDER BY attribute.name, me.value) me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) ORDER BY attribute.name, me.value: '6', '6'
 SELECT me.id, me.name, me.host, me.role, me.activated, me.passive, me.uncommitted FROM opsview.monitoringservers me WHERE ( me.id = ? ): '1'
 SELECT me.id, me.name, me.host, me.role, me.activated, me.passive, me.uncommitted FROM opsview.monitoringservers me WHERE ( me.id = ? ): '1'
 SELECT me.id, me.parentid, me.name, me.uncommitted, me.lft, me.rgt, me.matpath, me.matpathid FROM opsview.hostgroups me WHERE ( me.id = ? ) ORDER BY name, id: '5'
@@ -208,16 +189,9 @@
 SELECT me.name, me.filename FROM opsview.icons me WHERE ( me.name = ? ): 'SYMBOL - VPN'
 SELECT me.id, me.name, me.alias, me.sunday, me.monday, me.tuesday, me.wednesday, me.thursday, me.friday, me.saturday, me.uncommitted FROM opsview.timeperiods me WHERE ( me.id = ? ) ORDER BY name: '1'
 SELECT me.id, me.name, me.plugin, me.args, me.priority, me.uncommitted FROM opsview.hostcheckcommands me WHERE ( me.id = ? ) ORDER BY priority, name: '18'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.name = ? ) ORDER BY internally_generated, name: 'DISK'
-SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) ORDER BY attribute.name, value: '18'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '5'
+SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, attribute.id, attribute.name, attribute.value, attribute.arg1, attribute.arg2, attribute.arg3, attribute.arg4, attribute.arg5, attribute.arg6, attribute.arg7, attribute.arg8, attribute.arg9, attribute.internally_generated, attribute.label1, attribute.label2, attribute.label3, attribute.label4, attribute.label5, attribute.label6, attribute.label7, attribute.label8, attribute.label9, attribute.uncommitted FROM (SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) GROUP BY attribute.name, me.value ORDER BY attribute.name, me.value) me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) ORDER BY attribute.name, me.value: '18', '18'
+SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, attribute.id, attribute.name, attribute.value, attribute.arg1, attribute.arg2, attribute.arg3, attribute.arg4, attribute.arg5, attribute.arg6, attribute.arg7, attribute.arg8, attribute.arg9, attribute.internally_generated, attribute.label1, attribute.label2, attribute.label3, attribute.label4, attribute.label5, attribute.label6, attribute.label7, attribute.label8, attribute.label9, attribute.uncommitted FROM (SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) GROUP BY attribute.name, me.value ORDER BY attribute.name, me.value) me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) ORDER BY attribute.name, me.value: '18', '18'
 SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.name = ? ) ORDER BY internally_generated, name: 'MYSQL_CREDENTIALS'
-SELECT me.host, me.attribute, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9 FROM opsview.host_attributes me  JOIN opsview.attributes attribute ON attribute.id = me.attribute WHERE ( me.host = ? ) ORDER BY attribute.name, value: '18'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '4'
-SELECT me.id, me.name, me.value, me.arg1, me.arg2, me.arg3, me.arg4, me.arg5, me.arg6, me.arg7, me.arg8, me.arg9, me.internally_generated, me.label1, me.label2, me.label3, me.label4, me.label5, me.label6, me.label7, me.label8, me.label9, me.uncommitted FROM opsview.attributes me WHERE ( me.id = ? ) ORDER BY internally_generated, name: '5'
 SELECT me.name, me.filename FROM opsview.icons me WHERE ( me.name = ? ): 'SYMBOL - Switch'
 SELECT me.id, me.name, me.alias, me.sunday, me.monday, me.tuesday, me.wednesday, me.thursday, me.friday, me.saturday, me.uncommitted FROM opsview.timeperiods me WHERE ( me.id = ? ) ORDER BY name: '1'
 SELECT me.id, me.name, me.plugin, me.args, me.priority, me.uncommitted FROM opsview.hostcheckcommands me WHERE ( me.id = ? ) ORDER BY priority, name: '7'

_______________________________________________
Opsview-checkins mailing list
Opsview-checkins@lists.opsview.org
http://lists.opsview.org/lists/listinfo/opsview-checkins

Reply via email to