Help Docs ~ Server Monititor

Troubleshooting

Don't see what you need here? Email us.

Email Support

We're developers ourselves and take pride in providing great support. If you are having issues, don't hesitate to contact us at support.server@pingdom.com.

We usually respond within a couple of hours during the business day. Please provide your operating system, account name and any error messages you received.

If the Pingdom server monitor agent installed successfully, please run the following command. It sends us additional debugging info:

scout troubleshoot --post

Logging

The agent stores the log output from the most recent run in /var/lib/scoutd/latest_run.log

To enable debug logging, edit /etc/scout/scoutd.yml and set log_level: debug. Restart scoutd with scoutctl restart

'Permission denied' error

Pingdom server monitor (PSM) probably doesn't have access to the data file it needs to store information locally. The user running PSM may not be able to write to the data file.

You can get around this by specifying a path to a data file (doesn't matter if it exists yet) that the scoutd user has access to. Edit /etc/scout/scoutd.yml and set agent_data_file to the full path to the file, e.g. agent_data_file: /path/to/my/file.

'ruby: command not found' error

PSM can't find the Ruby executable. Set the ruby_path variable in /etc/scout/scoutd.yml.

For example, if Ruby is installed in /usr/local/bin, your ruby_path value would look like:

/usr/local/bin/ruby

You can find the full path to Ruby by typing the following at your command prompt:

$ which ruby
/usr/bin/ruby

Using RVM and/or Bundler? See the Specifying an alternate ruby section here.

'no such file to load -- net/https' error

This happens most often on Debian installs, because Debian does not install LibOpenSSL by default with Ruby. To fix:

aptitude install libopenssl-ruby

Or, if you are running Ruby 1.9:

aptitude install libopenssl-ruby1.9

Advanced: if you are compiling Ruby from scratch, make sure you install (through aptitude) openssl libssl libssl-dev before compiling Ruby.

'no such file to load -- openssl' error

We've seen this issue on Centos installs. To fix:

sudo yum install openssl-devel

Then, find your original ruby source code, and:

cd [RUBY_SOURCE_DIR]/ext/openssl 
ruby extconf.rb 
make 
make install

Updating rubygems

There are variety of issues that are resolved by upgrading the latest version of Rubygems. These issues can arise as:

  • When attempting to install a gem:
    • ERROR: While executing gem ... (Gem::GemNotFoundException)
    • ERROR: Could not find elif (> 0) in any repository
  • When running the Rails Analyzer plugin: Could not find RubyGem rspec (>= 1.2.4) (Gem::LoadError)

To fix, first try:

sudo gem update --system gem --version

The gem --version command should return at least 1.3.4. If this doesn't succeed, try the following:

sudo gem uninstall rubygems-update 
sudo gem install -v 1.3.4 rubygems-update 
sudo update_rubgems 
sudo gem update --system

if your current version of Rubygems is very old, this approach may not work either. Ubuntu 8 (Hardy) in particular gives you an ancient version of rubygems through apt-get. So, first, uninstall any existing rubygems installation:

sudo apt-get purge rubygems 
sudo apt-get purge libgems-ruby1.8

Next, install Rubygems from source:

cd ~ 
mkdir src; cd src 
wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz 
tar xzf rubygems-1.3.5.tgz 
cd rubygems-1.3.5 
sudo ruby setup.rb 
sudo ln -s /usr/bin/gem1.8 /usr/bin/gem 
sudo gem update --system

Check the gem version with gem -v. It should return 1.3.5.

Common ruby ubuntu problems

Ruby on Ubuntu can present missing library errors. The blog post Troubleshooting common Ruby Ubuntu problems solves a number of these problems.

zlib(finalizer): Zlib::GzipWriter object must be closed explicitly

If you see the following error when running the Pingdom server Monitor agent:

zlib(finalizer): Zlib::GzipWriter object must be closed explicitly.
zlib(finalizer): the stream was freed prematurely.

Enable debug logging, edit /etc/scout/scoutd.yml and set log_level: debug. Restart scoutd with scoutctl restart.

Check /var/lib/scoutd/latest_run.log. If you see the following error message:

uninitialized constant JSON::SAFE_STATE_PROTOTYPE

There is likely a conflict between the json and json_pure gems. Install json_pure and json so that both versions are in sync:

gem install json
gem install json_pure

My hostname changed and PSM thinks it is a new server

Pingdom server monitor identifies servers by their hostnames. When an agent reports a hostname Pingdom server monitor has never seen before, Pingdom server monitor assumes it's a brand new server and creates a new instance for the reported metrics.

You can override your hostname by editing /etc/scout/scoutd.yml and setting a hostname value, e.g. hostname: myserver. Restart scoutd with scoutctl restart. If a hostname has changed, you can set the hostname to the old hostname value, so metrics will continue to be reported to the old Pingdom server monitor instance.

Inaccurate disk space reporting on Linode with Debian 8

Linode uses a non-standard volume configuration with Debian 8 (Jesse). df shows /dev/root as the device for '/', but /dev/root does not even exist by default. Because of this, Pingdom server monitor will report Disk Space of 0. To fix this, create a symlink, either via udev or manually with ln -s /dev/sda /dev/root

Troubleshooting

Don't see what you need here? Email us.