forked from mozilla/briar-patch
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
132 lines (87 loc) · 3.35 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
Briar Patch
-----------
Metrics, alerts and events framework
Using ZeroMQ on the inside, Briar Patch will be a way to allow multiple
incoming data streams all be handled/filtered/massaged and then consumed
by various workers as needed.
Yea, I don't know what it will be quite yet either...
Installation
------------
Not everything in Briar Patch requires all of the below - just is just a
"working notes" journal for the items I've had to install.
My primary dev environment is OS X, so I use Brew almost exclusively, so all
of the install notes below reference Brew.
Brew can be found at http://mxcl.github.com/homebrew/
Except for Python, which I kept at v2.7, everything else is as fresh as you
can stand.
brew install python
pip install pyzmq
pip install keyring
pip install requests
pip install dnspython
git clone http://github.com/andymccurdy/redis-py
cd redis-py
python setup.py install
cd ..
hg clone http://hg.mozilla.org/users/clegnitto_mozilla.com/mozillapulse
cd mozillapulse
python setup.py install
cd ..
pip install django
pip install django-tagging
pip install whisper
Carbon and Graphite-web place config files in /opt/graphite and we are going to
be running a lot of debug tests, so I ended up just chown'ing /opt/graphite to
allow me to control it - made all of the below steps sooo much saner.
Yes these two were installed with easy_install - for some crazy reason pip shoved
carbon and twisted into /opt/graphite/lib instead of in the shared lib path
*EVERYTHING ELSE* was placed ....... *sigh*
easy_install carbon
easy_install graphite-web
The following was crib'd from http://eternusuk.blogspot.com/2011/09/installing-graphite-on-osx-snow-leopard.html
brew install cairo --use-gcc
wget http://cairographics.org/releases/py2cairo-1.10.0.tar.bz2
tar xf py2cairo-1.10.0.tar.bz2
cd py2cairo-1.10.0
Adjust the following according to your local setup...
export CC=/usr/bin/gcc
export PKG_CONFIG_PATH=/usr/local/Cellar/cairo/1.10.2/lib/pkgconfig/
python waf configure
python waf build
python waf install
Configuring Graphite is almost an art form itself, for this initial testing I just stuck with
the configuration they provide as an example (edited appropriately) ...
cd /opt/graphite/conf
cp storage-schemas.conf.example storage-schemas.conf
cp carbon.conf.example carbon.conf
I set the following in carbon.conf:
STORAGE_DIR = /opt/graphite/storage
LOCAL_DATA_DIR = /opt/graphite/storage/whisper
LOG_DIR = /opt/graphite/log/
PID_DIR = /opt/graphite/
To start the carbon listener:
carbon-cache.py --debug --config=/opt/graphite/conf/carbon.conf start
To blow everything away and start collecting data fresh:
rm -rf /opt/graphite/storage/whisper/*
To run the graphite web frontend:
cd /opt/graphite/webapp
cp local_settings.py.example local_settings.py
The first time you run this, you will need to create an admin user:
python manage.py syncdb
run-graphite-devel-server.py /opt/graphite
Dependencies
------------
Redis
https://github.com/andymccurdy/redis-py
Mozilla Pulse
http://hg.mozilla.org/users/clegnitto_mozilla.com/mozillapulse/
ZeroMQ
http://zeromq.github.com/pyzmq/
Carrot
https://github.com/ask/carrot/
Graphite
Carbon, Whisper and Graphite-Web
http://graphite.wikidot.com/
releng
internal RelEng lib (currently no home)
Paramiko