Errata

Monitoring with Graphite

Errata for Monitoring with Graphite

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
PDF Page chapter 4
entire chapter

I think that the entire manual way of installation is errorneous. Instead of taking us through the way which does not work, its better to take us just through the install script in Synthesize, that way we will be able to better understand the components and what they do rather than just me spending around 6 hours figuring out what went wrong with errors like: "No module named six.moves.urllib.parse" in the apache logs.

Regards,
Gourav Sengupta

Gourav Sengupta  May 27, 2016 
ePub Page OR
example 4-18

( OR = O'Reilly Online )

I followed along in your book on a new Centos VM ( CentOS Linux release 7.3.1611 (Core) ) -- admittedly, after I had tried a number of tutorials on the web to install it on virtual metal after seeing quirky results when running a docker container from https://hub.docker.com/r/hopsoft/graphite-statsd/ .

I was happy to see that you endorsed a virtual environment. That was really how I had wanted to set graphite up in this VM.

I had a number of issues, many because I was trying to do this behind a corporate firewall.

But I had one issue pop up that took me a while to figure out .. as it was so subtle.

Example 4-18:
$ sudo -E carbon-cache.py --instance=1 start

When I ran this, I got this result:

ImportError: No module named twisted.python.util

Actually, what it really means is that it can't find any part of twisted in my environment, and that just happens to be the first time it tried. But I didn't know that at the time.

When I googled for this, I found instances where the same language had popped up, and I found "solutions" ranging from running Graphite in a docker container with a static version of carbon that didn't import twisted, using a lesser version of twisted (<13, I think it was), and someone even managed to get it working by installing the system version of twisted-core.

None of these are really the right answer. But the last one offers a clue. ( I didn't find it that way, though. ) -- I found it by running python directly in my virtual environment, and importing twisted.python.util. And then adding print statements to carbon-cache.py, where I noticed that the sys.path was the system path, and not the virtual env path.

head /opt/graphite/bin/carbon-cache.py
#!/usr/bin/python

I believe that line, along with running 'carbon-cache' is responsible for this behavior. carbon-cache.py is found in the usual spot, but the first line means that it uses the python interpreter that is at /usr/bin/python, rather than the python interpreter built into the virtual environment.

$ sudo -E python /opt/graphite/bin/carbon-cache.py --instance=1 stop

... works.

$ sudo -E /opt/graphite/bin/carbon-cache.py --instance=1 stop

... does not.

All of this seems consistent with the wrong python interpreter being invoked.

Thanks for writing this book. I look forward to going through your troubleshooting section and actually reading the first 2 chapters about how Graphite works. But for now, I'm off to figure out how to implement nginx instead of httpd. .. because httpd just isn't working. ( Even though run-graphite-devel-server.py does. ... something I haven't seen in your book yet. )

Hope you have a great day!

J. Norment  Mar 07, 2017 
Ch 1, para 1, sentence 2

"Climactic" should be "climatic" in: Weather forecasters use climactic data to predict changes in temperature, barometric pressure, and wind speed.

Ken Hommel  Aug 13, 2017 
PDF Page 1
90

/opt/graphite/storage/conf is not the location for conf

The location for conf is /opt/graphite/conf

Also there is no need to change the owner for running the scripts to a new user. Although, its advisable.

Regards,
Gourav

Gourav Sengupta  May 26, 2016 
PDF, ePub Page 10
Online resources section

Broken URL listed
"http://graphite.readthedocs.org/en/0.9.13/" is invalid

I suspect it is applicable to all product versions but I was only able to confirm on the two I selected.

Sevan  Oct 05, 2015 
PDF Page 24
1st Paragraph

First sentence of first paragraph does not make sense; seems like a sentence-fragment, missing the Subject. It reads as if it is the predicate, or perhaps was part of a bulleted list. Were I to guess, it should read "A composable monitoring system includes all of the features..."

H. "Waldo" Grunenwald  Feb 25, 2015 
ePub Page 24
Epoch Timestamps

Provide epoch time of valentines day in the subsequent year after the book is finally published.

Sevan  Oct 05, 2015 
PDF Page 24
Bottom at references

On clicking the URL for https://github.com/BrightcoveOS/Diamond the github page shows the project has moved to:
https://github.com/python-diamond/Diamond

Kris Zentner  Dec 17, 2015 
PDF Page 55
2nd paragraph

"existiing" is misspelt. "specced" looks weird.

H "Waldo" Grunenwald  Sep 21, 2015 
PDF Page 64
4th Paragraph

The command to intsall packages on Debian says to install virtualenv, the package is names python-virtualenv in both Debian 7 & Ubuntu 14.04 & 14.10. Thanks

Félim Whiteley  Mar 13, 2015 
ePub Page 66
debian/ubuntu part

For ubuntu/debian the package for virtualenv is named python-virtualenv, just as it is for redhat.

wederbrand  Jun 22, 2015 
PDF Page 66
5

Hi,

In the code block where you install graphite dependencies for debian/ubuntu distros. The virtualenv package doesn't exists, it is called python-virtualenv.

Regards

Alejandro

Alejandro Monedero  Sep 29, 2015 
ePub Page 68
second code block

Hi!

I'm reading the Early Release and I'm trying to install carbon from source. There doesn't seem to be any branch/tag named 0.9.13.

I find tags named 0.9.12 and 0.9.13-pre1. I also find a branch named 0.9.x

wederbrand  Jun 22, 2015 
PDF Page 73
1st Paragraph

The add carbon user and group uses /sbin/groupadd and useradd, this is incorrect for Debian/Ubntu it should be /usr/sbin/groupadd etc.

sudo /usr/sbin/groupadd carbon
sudo /usr/sbin/useradd -c "Carbon user" -g carbon -s /bin/false carbon

Félim Whiteley  Mar 13, 2015 
PDF Page 91
beginning

sudo -E carbon-cache.py --instance=1 start

causes the following warning in UBUNTU:
---------------------------------------------------------------------------------------
:0: UserWarning: You do not have a working installation of the service_identity module: 'No module named service_identity'. Please install it from <https://pypi.python.org/pypi/service_identity> and make sure all of its dependencies are satisfied. Without the service_identity module and a recent enough pyOpenSSL to support it, Twisted can perform only rudimentary TLS client hostname verification. Many valid certificate/hostname mappings may be rejected.
Starting carbon-cache (instance 1)
---------------------------------------------------------------------------------------


Regards,
Gourav



Gourav Sengupta  May 26, 2016 
ePub Page 211
Chapter 6 => "Configuration Settings" => "Carbon" => "Noisy Logging"

The mention of LOG_LISTENER_CONNECTIONS seems to be out of sync with what I found after reading the carbon source code on GitHub. Shouldn't this setting be LOG_LISTENER_CONN_SUCCESS?

I also tested this assertion by disabling LOG_LISTENER_CONNECTIONS in my carbon caches and relay, to no avail. Upon disabling LOG_LISTENER_CONN_SUCCESS for my carbon caches and relay, everything worked as expected.

By the way, thank you so much for writing this book Jason! Your hard work on Graphite and this book is truly appreciated.

John Claus  Dec 04, 2015