brockp
2011-11-11 02:59:31 UTC
brockp [http://community.zenoss.org/people/brockp] created the discussion
"3.2.X Process monitoring bugs"
To view the discussion, visit: http://community.zenoss.org/message/62576#62576
--------------------------------------------------------------
Starting with 3.2.0 and continues in 3.2.1 there is a bug where processes that are found by the modler are 'not found' by zenprocess and showup as down even thought the processes are running.
This is easy to reproduce, the error manifests its self if you have two mysqld's running (like your normal system mysql and zenoss's mysqld.bin).
Use a regex of 'mysqld' for the process and say to ignore command line parameters, in my case an ubuntu machines with zenoss 3.2.1 and the stock ubuntu mysql you zenoss will find 3 mysqld's from modler:
2011-11-10 21:42:33,647 DEBUG zen.ZenModeler: snmpidx: 1070 process: {'procName': 'mysqld', 'parameters': '', '_procPath': '/usr/sbin/mysqld'}
2011-11-10 21:42:33,651 DEBUG zen.ZenModeler: snmpidx: 15432Â Â Â process: {'procName': 'mysqld_safe', 'parameters': '/usr/local/zenoss/mysql/bin/mysqld_safe --defaults-file=/usr/local/zenoss/mysql/my.cnf --port=3307 --socket=/usr/local/zenoss/my', '_procPath': '/bin/sh'}
2011-11-10 21:42:33,651 DEBUG zen.ZenModeler: snmpidx: 15491Â Â Â process: {'procName': 'mysqld.bin', 'parameters': '--defaults-file=/usr/local/zenoss/mysql/my.cnf --basedir=/usr/local/zenoss/mysql --datadir=/usr/local/zenoss/mysql/data --user=m', '_procPath': '/usr/local/zenoss/mysql/bin/mysqld.bin'}
Zen process on the other hand will only fine one of them:
2011-11-10 21:47:45,814 DEBUG zen.zenprocess: Found process 1070 on usr_local_zenoss_mysql_bin_mysqld.bin
2011-11-10 21:47:45,817 DEBUG zen.zenprocess: Found process 15491 on usr_local_zenoss_mysql_bin_mysqld.bin
2011-11-10 21:47:45,842 DEBUG zen.zenprocess: Queueing event {'monitor': 'localhost', 'component': '/usr/sbin/mysqld', 'agent': 'zenprocess', 'summary': 'Process not running: /usr/sbin/mysqld', 'manager': 'localhost6.localdomain6', 'eventGroup': 'Process', 'eventKey': '/Processes/MySQL/osProcessClasses/mysqld', 'device': 'myth', 'eventClass': '/Status/OSProcess', 'message': "Process not running: /usr/sbin/mysqld\n Using regex 'mysqld' \nAll Processes have stopped since the last model occurred. Last Modification time (2011/11/10 21:42:39)", 'severity': 4}
2011-11-10 21:47:45,843 DEBUG zen.zenprocess: Queueing event {'monitor': 'localhost', 'component': '/bin/sh', 'agent': 'zenprocess', 'summary': 'Process not running: /bin/sh', 'manager': 'localhost6.localdomain6', 'eventGroup': 'Process', 'eventKey': '/Processes/MySQL/osProcessClasses/mysqld', 'device': 'myth', 'eventClass': '/Status/OSProcess', 'message': "Process not running: /bin/sh\n Using regex 'mysqld' \nAll Processes have stopped since the last model occurred. Last Modification time (2011/11/10 21:42:39)", 'severity': 4}
Anoying thing is they are still running:
ps aux | grep mysqld
mysql    1070 0.1 0.5 848600 11732 ?       Ssl 10:24  0:52 /usr/sbin/mysqld
root    15432 0.0 0.0  4220  620 pts/0   S   20:50  0:00 /bin/sh /usr/local/zenoss/mysql/bin/mysqld_safe --defaults-file=/usr/local/zenoss/mysql/my.cnf --port=3307 --socket=/usr/local/zenoss/mysql/tmp/mysql.sock --old-passwords --datadir=/usr/local/zenoss/mysql/data --log-error=/usr/local/zenoss/mysql/data/mysqld.log --pid-file=/usr/local/zenoss/mysql/data/myth.pid --lower-case-table-names=1 --default-table-type=InnoDB
mysql   15491 0.1 1.2 196468 25552 pts/0   Sl  20:50  0:04 /usr/local/zenoss/mysql/bin/mysqld.bin --defaults-file=/usr/local/zenoss/mysql/my.cnf --basedir=/usr/local/zenoss/mysql --datadir=/usr/local/zenoss/mysql/data --user=mysql --pid-file=/usr/local/zenoss/mysql/data/myth.pid --skip-external-locking --port=3307 --socket=/usr/local/zenoss/mysql/tmp/mysql.sock --old-passwords --lower-case-table-names=1 --default-table-type=InnoDB
zenoss  18318 0.0 0.0  9140 1064 pts/0   S+  21:56  0:00 grep --color=auto mysqld
This used to work just fine in zenoss 3.1.x
If you massage the regex so to exclude the one it finds, example change 'mysqld' to 'mysqld$'Â the system will start showing /usr/bin/mysqld as up, won't find mysqld.bin (as expected)Â so zenoss should see the process just isn't displaying it correctly.
If you want my zenmodler or zenprocess log files let me know.
--------------------------------------------------------------
Reply to this message by replying to this email -or- go to the discussion on Zenoss Community
[http://community.zenoss.org/message/62576#62576]
Start a new discussion in zenoss-users by email
[discussions-community-forums-zenoss--***@community.zenoss.org] -or- at Zenoss Community
[http://community.zenoss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2003]
"3.2.X Process monitoring bugs"
To view the discussion, visit: http://community.zenoss.org/message/62576#62576
--------------------------------------------------------------
Starting with 3.2.0 and continues in 3.2.1 there is a bug where processes that are found by the modler are 'not found' by zenprocess and showup as down even thought the processes are running.
This is easy to reproduce, the error manifests its self if you have two mysqld's running (like your normal system mysql and zenoss's mysqld.bin).
Use a regex of 'mysqld' for the process and say to ignore command line parameters, in my case an ubuntu machines with zenoss 3.2.1 and the stock ubuntu mysql you zenoss will find 3 mysqld's from modler:
2011-11-10 21:42:33,647 DEBUG zen.ZenModeler: snmpidx: 1070 process: {'procName': 'mysqld', 'parameters': '', '_procPath': '/usr/sbin/mysqld'}
2011-11-10 21:42:33,651 DEBUG zen.ZenModeler: snmpidx: 15432Â Â Â process: {'procName': 'mysqld_safe', 'parameters': '/usr/local/zenoss/mysql/bin/mysqld_safe --defaults-file=/usr/local/zenoss/mysql/my.cnf --port=3307 --socket=/usr/local/zenoss/my', '_procPath': '/bin/sh'}
2011-11-10 21:42:33,651 DEBUG zen.ZenModeler: snmpidx: 15491Â Â Â process: {'procName': 'mysqld.bin', 'parameters': '--defaults-file=/usr/local/zenoss/mysql/my.cnf --basedir=/usr/local/zenoss/mysql --datadir=/usr/local/zenoss/mysql/data --user=m', '_procPath': '/usr/local/zenoss/mysql/bin/mysqld.bin'}
Zen process on the other hand will only fine one of them:
2011-11-10 21:47:45,814 DEBUG zen.zenprocess: Found process 1070 on usr_local_zenoss_mysql_bin_mysqld.bin
2011-11-10 21:47:45,817 DEBUG zen.zenprocess: Found process 15491 on usr_local_zenoss_mysql_bin_mysqld.bin
2011-11-10 21:47:45,842 DEBUG zen.zenprocess: Queueing event {'monitor': 'localhost', 'component': '/usr/sbin/mysqld', 'agent': 'zenprocess', 'summary': 'Process not running: /usr/sbin/mysqld', 'manager': 'localhost6.localdomain6', 'eventGroup': 'Process', 'eventKey': '/Processes/MySQL/osProcessClasses/mysqld', 'device': 'myth', 'eventClass': '/Status/OSProcess', 'message': "Process not running: /usr/sbin/mysqld\n Using regex 'mysqld' \nAll Processes have stopped since the last model occurred. Last Modification time (2011/11/10 21:42:39)", 'severity': 4}
2011-11-10 21:47:45,843 DEBUG zen.zenprocess: Queueing event {'monitor': 'localhost', 'component': '/bin/sh', 'agent': 'zenprocess', 'summary': 'Process not running: /bin/sh', 'manager': 'localhost6.localdomain6', 'eventGroup': 'Process', 'eventKey': '/Processes/MySQL/osProcessClasses/mysqld', 'device': 'myth', 'eventClass': '/Status/OSProcess', 'message': "Process not running: /bin/sh\n Using regex 'mysqld' \nAll Processes have stopped since the last model occurred. Last Modification time (2011/11/10 21:42:39)", 'severity': 4}
Anoying thing is they are still running:
ps aux | grep mysqld
mysql    1070 0.1 0.5 848600 11732 ?       Ssl 10:24  0:52 /usr/sbin/mysqld
root    15432 0.0 0.0  4220  620 pts/0   S   20:50  0:00 /bin/sh /usr/local/zenoss/mysql/bin/mysqld_safe --defaults-file=/usr/local/zenoss/mysql/my.cnf --port=3307 --socket=/usr/local/zenoss/mysql/tmp/mysql.sock --old-passwords --datadir=/usr/local/zenoss/mysql/data --log-error=/usr/local/zenoss/mysql/data/mysqld.log --pid-file=/usr/local/zenoss/mysql/data/myth.pid --lower-case-table-names=1 --default-table-type=InnoDB
mysql   15491 0.1 1.2 196468 25552 pts/0   Sl  20:50  0:04 /usr/local/zenoss/mysql/bin/mysqld.bin --defaults-file=/usr/local/zenoss/mysql/my.cnf --basedir=/usr/local/zenoss/mysql --datadir=/usr/local/zenoss/mysql/data --user=mysql --pid-file=/usr/local/zenoss/mysql/data/myth.pid --skip-external-locking --port=3307 --socket=/usr/local/zenoss/mysql/tmp/mysql.sock --old-passwords --lower-case-table-names=1 --default-table-type=InnoDB
zenoss  18318 0.0 0.0  9140 1064 pts/0   S+  21:56  0:00 grep --color=auto mysqld
This used to work just fine in zenoss 3.1.x
If you massage the regex so to exclude the one it finds, example change 'mysqld' to 'mysqld$'Â the system will start showing /usr/bin/mysqld as up, won't find mysqld.bin (as expected)Â so zenoss should see the process just isn't displaying it correctly.
If you want my zenmodler or zenprocess log files let me know.
--------------------------------------------------------------
Reply to this message by replying to this email -or- go to the discussion on Zenoss Community
[http://community.zenoss.org/message/62576#62576]
Start a new discussion in zenoss-users by email
[discussions-community-forums-zenoss--***@community.zenoss.org] -or- at Zenoss Community
[http://community.zenoss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2003]