forked from ganglia/monitor-core
-
Notifications
You must be signed in to change notification settings - Fork 1
/
README.AIX
126 lines (100 loc) · 5 KB
/
README.AIX
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
Using Ganglia on AIX
~~~~~~~~~~~~~~~~~~~~
This version has been tested on the following AIX levels:
- AIX5L V5.1 ML 04
- AIX5L V5.2 ML 01
- AIX5L V5.3 ML 01
- AIX5L V5.3 TL 07
- AIX V6.1 TL 00
- AIX V6.1 TL 03
Installation
~~~~~~~~~~~~
1. You can compile Ganglia on AIX either with the IBM XLC/C++ or GNU GCC.
2. Ganglia should be compiled with shared libraries to enable DSOs.
For DSOs to work you need to set the "-Wl,-brtl" flag to $LDFLAGS.
3. To compile Ganglia you will need some additional tools, all of which
you can obtain from http://www.perzl.org/aix/
As a minimum the following additional tools are required to compile:
- gmond only
* apr
* expat
* libconfuse
* pcre (can be disabled with "--with-libpcre=no")
- gmetad
* requirements of gmond
* rrdtool
Please note that no package of the IBM AIX Toolbox for Linux Applications
currently provides the required functionality to compile Ganglia.
4. In order to speed up the configure process under AIX you should install
bash and use the following environment settings:
export CONFIG_SHELL=/opt/freeware/bin/bash
export CONFIG_ENV_ARGS=/opt/freeware/bin/bash
Recommended settings for IBM XLC/C++ (tested with V7 and V9):
-------------------------------------------------------------
export CC=xlc_r
export CFLAGS="-qmaxmem=16384 -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_ALL_SOURCE -DFUNCPROTO=15 -O -I/opt/freeware/include"
export LD=ld
export LDFLAGS="-L/opt/freeware/lib -Wl,-bmaxdata:0x80000000 -Wl,-brtl"
Recommended settings for GNU GCC (tested with V4.2.3):
------------------------------------------------------
export CC=gcc
export CFLAGS="-DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_ALL_SOURCE -DFUNCPROTO=15 -O -I/opt/freeware/include"
export LD=ld
export LDFLAGS="-L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000 -Wl,-brtl"
In case you are running a higher AIX level then V5.1 you should add the following
defines to $CFLAGS depending on your AIX level:
-D_AIX52 -D_AIX53 -D_AIX61
For example, for AIX V6.1 you would set $CFLAGS for XLC/C++ as follows:
export CFLAGS="-qmaxmem=16384 -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_AIX52 -D_AIX53 -D_AIX61 -D_ALL_SOURCE -DFUNCPROTO=15 -O -I/opt/freeware/include"
Known problems and Limitations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- No IBM Power metrics are included.
If you want those you can get them from http://www.perzl.org/ganglia/
- Python support was not tested up to now, therefore you should use the
"--disable-python" configure flag.
- When compiling a new version of Ganglia please make sure no earlier
versions are installed in the default paths (-I/opt/freeware/include,
-L/opt/freeware/lib).
- On AIX V6.1 TL 03 using GNU GCC the compilation of gmond runs into an
error with the system include file /usr/include/netinet/in6_var.h
The only solution at the moment is to comment out the offending line
in /usr/include/netinet/in6_var.h
Compilation with IBM XLC/C++ is fine though.
Recommended configure setup:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Using the environment settings above depending whether you are using
IBM XLC/C++ or GNU GCC you should use the following "./configure" command
to set up and compile Ganglia on AIX:
./configure \
--prefix=<PREFIX> \
--sysconfdir=<SYSCONFDIR> \
--enable-shared --enable-static \
--with-gmetad \
--disable-python
where <PREFIX> is your preferred prefix, the default is "/usr/local" whereas
you *have* to set the value for <SYSCONFDIR> (recommended "/etc/ganglia/").
Upgrading to 3.1 from 3.0
~~~~~~~~~~~~~~~~~~~~~~~~~
Starting with 3.1, the disk metrics units had changed from MB to GB for
consistency with other platforms, therefore when upgrading a system you
should expect to see a step function in the graphs from the time that the
new version starts reporting.
If you would rather avoid that jump, you could then prepare before upgrading
to normalize your disk metrics rrd to store instead values in the new units
which are 1/1000th smaller (ex: 1.5660300000e+05 to 1.5660300000e+02) for all
stored values, using rrdtool's dump/restore functionality :
1) stop gmond in the node to upgrade (ex: aix.example.com)
2) locate the directory in the gmetad server where the metrics for that node
are being stored (ex: /var/lib/ganglia/rrds/unspecified/aix.example.com)
3) locate the rrd metric files for the disk metrics that will be affected
(ex: disk_free.rrd and disk_total.rrd)
4) stop gmetad
5) dump the data to an XML file that can then be edited
(ex: rrdtool dump disk_free.rrd > disk_free.xml)
6) edit all values to reflect the new metric unit
(ex: perl -pi -e "s/e\+05/e+02/g" disk_total.xml)
7) restore the "normalized" data back into the RRD
(ex: rm -f disk_free.rrd && rrdtool restore -f disk_free.xml disk_free.rrd)
8) remove the temporary files and be sure that permissions are correct and
start gmetad (ex: rm -f disk_free.xml && chown nobody disk_free.rrd)
9) upgrade ganglia and start gmond in the node that was going to be updated