安装Gnocchi先决条件1. 完成以下步骤,创建数据库2. 加载 admin 用户认证文件复制$ . admin-openrc5 C" X/ a+ k- w) }$ `, p1 V
| - `; o% P. x) `5 F5 d+ [' B2 [
3. 完成以下步骤创建服务认证- 创建 gnocchi 服务API endpoints复制
$ openstack endpoint create --region RegionOne metric public http://controller:8041
) f1 m* q/ H- A y3 h3 a/ h$ openstack endpoint create --region RegionOne metric internal http://controller:8041
7 q: _' q* ^) A: u$ P" \$ openstack endpoint create --region RegionOne metric admin http://controller:8041
9 j# S$ j* Z2 P/ O! w' S | , i1 j H; s, f9 L1 l
+ @4 V. b2 D* X" N. `- O8 ]
安装和配置组件1. 安装软件包复制# yum install openstack-gnocchi-api openstack-gnocchi-metricd python2-gnocchiclient -y- j3 }! D' c" ?$ |" B, [6 A
| + D# y* r% [! i% ^. y7 c6 y# I
2. 编辑 /etc/gnocchi/gnocchi.conf 文件加入以下内容复制# /etc/gnocchi/gnocchi.conf
& B- j, ? o1 P6 j$ t5 q; R& M
; V& a5 s s6 E7 C% k9 g' U3 i- x# I[DEFAULT]) U" a0 h; ?: }
log_dir = /var/log/gnocchi
: E9 j) `7 |3 U
4 @! I" c$ i6 t5 `0 Y& u' R[api]
9 {8 M5 I k. uauth_mode = keystone9 R M: u, e; s6 H$ z, P4 K
; {; C: N5 G n7 v[indexer]
: O8 H5 U# s; K& M6 Hurl = mysql+pymysql://gnocchi:GNOCCHI_DBPASS@controller/gnocchi* i0 e: S2 K+ |( Z* z
. E' v M, v2 V' z0 w1 p x[storage]# N5 |- c1 E5 K, Q; t8 |6 C
driver = file
9 A' B8 ]2 v6 `' ~% c: Efile_basepath = /var/lib/gnocchi3 Y: m" }, E) l% \3 l& c0 O, k
1 n k i9 F& _/ x[keystone_authtoken]
3 I: B* d7 D: _5 q8 iauth_uri = http://controller:5000
+ n5 [9 I; H6 cauth_url = http://controller:353571 T0 y, A8 _% w l
memcached_servers = controller:11211$ B5 y! T( y( d9 c+ S5 Z# X; {
auth_type = password
) x* w3 l5 ?8 P" I. r: iproject_domain_name = default0 w. Z! D; H1 j2 J- k
user_domain_name = default
% Q" B0 Z& `2 Q T" dproject_name = service
# q* w7 ]' R- V, q7 h# R) kusername = gnocchi l% x2 u! A9 |% c6 G2 o( d% q
password = GNOCCHI_PASS
4 V# M- j8 A% [9 Q5 b- B |
7 ~! `# \/ e9 H% P3. 新建 10-gnocchi_wsgi.conf 文件,加入以下内容复制# vim /etc/httpd/conf.d/10-gnocchi_wsgi.conf
e2 a% ^% J8 m% ~2 Q; G% V1 ?9 Y: ?- K; c
Listen 80418 c& b. v, Z9 r/ h+ s
) d0 R! b# j: X& ]+ \4 Y' j
<VirtualHost *:8041>
2 {- ]6 V( M# i, y, Y ServerName controller: L9 B& X9 [; |. L
4 V7 p5 ]5 b- x4 W6 o8 e5 [) h6 h
## Vhost docroot' h3 I/ b+ z% D' W
DocumentRoot "/var/www/cgi-bin/gnocchi"
; E- x; h' d, G! C; V
5 a# Q: ~ j' O ## Directories, there should at least be a declaration for /var/www/cgi-bin/gnocchi1 Z* L, H5 u v
- c7 o$ J/ _2 [
<Directory "/var/www/cgi-bin/gnocchi">( ]0 }) `! v" ~6 h3 h. e: S0 z
Options Indexes FollowSymLinks MultiViews
5 I( C4 ^5 r8 a- K. R/ J5 a: a AllowOverride None
U, z4 p+ K0 W: _& I( W Require all granted, m+ J# {- s5 {% V" [3 f
</Directory>- G- s {4 I5 @6 h& r* i
( n1 J8 A! ? i, W: V5 y, u, w1 ?
## Logging
# p/ X1 x8 ~8 `$ m2 N$ ?. w, h4 W ErrorLog "/var/log/httpd/gnocchi_wsgi_error.log". a8 k& C- l, ], @
ServerSignature Off
0 p u c8 n& e CustomLog "/var/log/httpd/gnocchi_wsgi_access.log" combined: v& S0 `" y, D- K; ~+ z
SetEnvIf X-Forwarded-Proto https HTTPS=1
) X$ R3 p) C1 E, K* ] WSGIApplicationGroup %{GLOBAL}
8 ~: G; z; s& k) n1 @, m WSGIDaemonProcess gnocchi display-name=gnocchi_wsgi group=gnocchi processes=8 threads=8 user=gnocchi( V6 @2 k$ u) }" {
WSGIProcessGroup gnocchi: G( F# P" G3 u* t
WSGIScriptAlias / "/var/www/cgi-bin/gnocchi/app", ^# S/ p3 w& Y& X& P: p. j
</VirtualHost>
Z) X' J. z5 l. c$ G |
7 P5 b3 l. v: C7 S4. 复制 app.wsgi复制# mkdir /var/www/cgi-bin/gnocchi/! ^* m: N' ?: F" P
# cp /usr/lib/python2.7/site-packages/gnocchi/rest/app.wsgi /var/www/cgi-bin/gnocchi/app
5 A3 D7 X( w* ?# chown -R gnocchi.gnocchi /var/www/cgi-bin/gnocchi
, D1 k6 \5 {& r* V |
P- ?% f& I! b) p- b5. 完成安装1. 初始化数据库复制# su -s /bin/bash gnocchi -c "gnocchi-upgrade"
) [, R1 M4 c# u1 [+ l) d | 4 e7 d v+ z: f/ Z( G L) n/ a3 v
2. 重启 httpd 以加载 gnocchi复制# systemctl restart httpd
6 Q( W+ c+ Y' _2 P1 f! v |
& @. Z' G0 i6 _5 c4 i' k3. 启动服务并设置开机自启复制# systemctl enable openstack-gnocchi-metricd
$ p9 ~( a6 H0 M+ ?# systemctl start openstack-gnocchi-metricd
8 K. z" q$ U8 r' e! \ |
% \" I- _5 V! j q5 jTelemetry 服务Aodh 服务 (ceilometer节点)先决条件1. 完成以下步骤,创建数据库2. 加载 admin 用户认证文件复制$ . admin-openrc) U5 ]: |% [( b8 ]( C/ x
|
$ p& z O* w1 R8 f3. 完成一下步骤创建服务认证- 创建告警服务API endpoints复制
$ openstack endpoint create --region RegionOne alarming public http://controller:8042' ^$ y/ ~3 |" z
$ openstack endpoint create --region RegionOne alarming internal http://controller:8042/ S! s( _, l5 Z+ X) G) ?' p
$ openstack endpoint create --region RegionOne alarming admin http://controller:80427 }& I. o2 ^8 B3 @) _% t, }
|
) P* Y5 ?1 ]- ]' ` c7 [( m% @6 ^8 b" u, ^5 F. H3 c/ ?% C
安装和配置组件1. 安装软件包复制# yum install openstack-aodh-api \1 J, p7 q, @, K0 V y4 B
openstack-aodh-evaluator openstack-aodh-notifier \8 D* f Y0 v( ` l4 ?5 \7 }. ]. w2 W
openstack-aodh-listener openstack-aodh-expirer \4 [% I; s1 L' [; s0 [5 u3 z/ p
python-aodhclient -y
. B/ K0 P5 k# |3 F' ? |
; N- Y y, K7 d' i; A2. 编辑 /etc/aodh/aodh.conf 文件加入以下内容复制# vim /etc/aodh/aodh.conf& n5 u# B5 X/ {' p( p6 i. C3 b
7 d$ [: z( {0 s+ Z1 m z- `! D$ M[DEFAULT]
: p/ n3 A, y3 C# M( G0 @" _transport_url = rabbit://openstack:root1234@controller
* N, U# g' v" X7 C4 `0 |) x" F8 yauth_strategy = keystone2 P5 m& F9 g P
: ~8 B ^0 }) `) d) H3 M
[database]
V9 @3 j) B& s7 o- h8 Pconnection = mysql+pymysql://aodh:AODH_DBPASSWORD@controller/aodh" x6 j: e9 A5 @$ b1 e6 N q
0 |$ ~. W7 L$ I! C$ t[keystone_authtoken] X$ J1 p; u- [
auth_uri = http://controller:50001 U# }9 a; F& {# C: k/ H- D: L! u' _
auth_url = http://controller:353577 e: u+ n4 S( X% @
memcached_servers = controller:11211. [1 N- Q: k; l5 s2 i
auth_type = password2 W6 B2 P2 F6 R. }7 j3 Y
project_domain_name = default
; B- I2 W V- k, suser_domain_name = default# o9 Y4 v6 P- Z/ f, L V
project_name = service2 }! q$ M+ m7 i+ N
username = aodh
; Q; ^" ]# M X7 ], A6 Q( Npassword = AODH_PASSWORD
1 h$ l) c1 }; H+ \4 ?8 C. s( O5 i7 i8 O) S
[service_credentials]
/ p/ ?2 c* e. X9 A1 {" {auth_type = password. i! C) f- I4 t. k- K
auth_url = http://controller:5000/v3: R0 i6 C! O( b8 _( G
project_domain_name = default3 |- m: J7 _. ]; q: A
user_domain_name = default
- w8 _+ l/ I* a" A ~project_name = service" B- R% D2 G# Y! _0 B
username = aodh
4 Y M7 J& @8 Tpassword = AODH_PASSWORD o* N. G' |/ N- P3 F5 }& {. u: v; n3 I
interface = internalURL
4 P. }5 j: y4 ?$ Jregion_name = RegionOne
9 _$ \- Y1 c. J, @8 i | 4 _+ I$ X6 g8 [/ }$ ~- x
3. 新建 /etc/httpd/conf.d/10-aodh_wsgi.conf 文件,加入以下内容复制# vim /etc/httpd/conf.d/10-aodh_wsgi.conf& f2 y/ J6 G2 d
; D( Y+ ~# U7 f
Listen 8042
1 F' ~; I4 {( B7 O3 d; w. p: w" N& S" y1 h. a- q7 t$ I8 |. \
<VirtualHost *:8042>, X- L! T( O' p& z
ServerName controller
' ` a, Z( |! L/ S7 s3 r& N$ F6 `6 j G) |. ~
## Vhost docroot
& ^/ i8 m. {. J, d) i0 i; ]6 c3 h DocumentRoot "/var/www/cgi-bin/aodh": q5 N' C3 E7 J- T
) g& E8 S7 i% h( Q$ ~8 {1 \ ## Directories, there should at least be a declaration for /var/www/cgi-bin/aodh
# T( J" N) a: ~* q: X6 k8 F! X$ ?. A p L8 w+ M& q" l
<Directory "/var/www/cgi-bin/aodh">" C6 t0 M1 q `. `8 |* a7 Q
Options Indexes FollowSymLinks MultiViews
( j' G' z- U4 G- R5 D- b5 p( a9 L AllowOverride None; v$ u" l0 o0 @ p) }
Require all granted
# I% _9 T2 U. _/ H# }) a </Directory>1 T! R1 P, ^/ _, i
# w4 e, }" j6 x8 B$ Q0 R0 Y
## Logging, O0 [4 n7 Y: }$ S
ErrorLog "/var/log/httpd/aodh_wsgi_error.log"& v( Y1 p: x) ]" U- {$ D( b
ServerSignature Off B- `% m2 R+ x- b1 C# u
CustomLog "/var/log/httpd/aodh_wsgi_access.log" combined
% J |0 f+ ~+ a- R Z1 S( \/ s6 O SetEnvIf X-Forwarded-Proto https HTTPS=12 q; X' A/ R- Q. _, D& R4 P
WSGIApplicationGroup %{GLOBAL}2 t/ o; ^8 ^; V
WSGIDaemonProcess aodh display-name=aodh_wsgi group=aodh processes=2 threads=2 user=aodh; W- ?) A# m! S" i
WSGIProcessGroup aodh1 \* i Z& q+ q6 U" b" E1 S- ^; Z
WSGIScriptAlias / "/var/www/cgi-bin/aodh/app"( J5 o0 F2 d- ?: F$ ?. Z
</VirtualHost>
7 ^- c4 E( E4 p- Y0 q1 ~ c |
c t5 M8 z7 r4. 复制 app.wsgi复制# mkdir /var/www/cgi-bin/aodh/
* f+ A( D! I% B7 d# cp /usr/lib/python2.7/site-packages/aodh/api/app.wsgi /var/www/cgi-bin/aodh/app
8 W3 Y' R3 N6 c& j7 h# chown -R aodh.aodh /var/www/cgi-bin/aodh3 b" t2 N! @' Z( y) k9 i+ \
| + v: t& ^ U8 u2 [- }" u
完成安装1. 初始化数据库(仅当使用 SQL 数据库的时候才需要初始化)复制# aodh-dbsync- u% ^: m6 ]; Y
| 8 E) c M& x+ z7 W+ m
2. 重启 httpd 以加载 aodh复制# systemctl restart httpd
" w. I2 Q/ R. n7 e3 C8 y) q |
3 i, w! @. d* q% m9 I4 K2 D$ a! W3. 启动服务并设置开机自启(任一控制节点执行)复制# systemctl enable openstack-aodh-evaluator.service openstack-aodh-notifier.service openstack-aodh-listener.service9 Y2 I; _) ?, R
# systemctl start openstack-aodh-evaluator.service openstack-aodh-notifier.service openstack-aodh-listener.service* }- g m2 |' m5 O, c
|
4 z$ a: ?7 ], |8 hPanko 服务 (ceilometer节点)先决条件1. 完成以下步骤,创建数据库2. 加载 admin 用户认证文件复制$ . admin-openrc6 t2 H' n& u) g3 O, v; }9 g
| & Y6 q' s9 F g7 t
3. 完成一下步骤创建服务认证4. 创建Event服务API endpoints复制$ openstack endpoint create --region RegionOne event public http://controller:8779; r6 I# N1 O: I
$ openstack endpoint create --region RegionOne event internal http://controller:8779
7 X; K1 ]5 j5 ?* Y$ openstack endpoint create --region RegionOne event admin http://controller:87793 @3 S$ S( x9 W/ ^8 \' ]# z
|
4 s5 p- J% ]4 Q3 r+ ]+ G, k0 u( h安装和配置组件1. 安装软件包复制# yum install openstack-panko-api openstack-panko-common -y6 `8 X; |+ q: E# r+ Q5 o9 t
| / v0 P1 V& w4 l5 Z- @9 z
2. 编辑 /etc/panko/panko.conf 文件加入以下内容复制# vim /etc/panko/panko.conf
5 p/ \7 h, m; B8 B. [" p) H
/ N" e% u$ q/ S" D[DEFAULT]9 X+ p8 P5 a7 x" S
auth_strategy = keystone. N8 ]7 F- i$ G S3 J/ B
log_file = /var/log/panko/panko.log- O. ]* V; v% M& p4 o2 e
log_dir = /var/log/panko
* g, j) v$ D+ f ?/ d; a+ e: E
) V5 S& o2 t7 S, f3 G" R[api]
- I- f" x3 w I' n } m6 bhost=0.0.0.0: ^7 j" B7 d3 L/ [
port=8779# U' _6 z' a, i, p7 h
workers=2+ V% A+ e% L2 g' [, `, W3 j
max_limit=1000$ ` A: a. d- `3 c
" f* k8 O1 E7 T8 `: J$ H& P
[database]
% d6 v; {/ I) X- I* I" Rconnection = mysql+pymysql://panko:PANKO_DBPASSWORD@controller/panko
+ v7 ?6 u) l7 }. H& p/ q- U8 ]3 `( v# @* i t) o+ X& S; }; {
[keystone_authtoken]8 g/ B q3 J+ ~ T) K
auth_uri = http://controller:5000! R& G3 P O4 n9 V/ p' D& O, `4 }: E5 w
auth_url = http://controller:35357. D' n1 D1 c1 F0 v% q0 Y
memcached_servers = controller! h, V/ g, C7 T. }3 \2 s1 h+ C
auth_type = password
: \0 q) `4 {4 s! w# s, r1 {project_domain_name = default( e; l* C3 |) U! E6 b0 X( f8 L ?
user_domain_name = default( v$ i; m9 Q! j" w# O
project_name = service' }! S5 \1 m0 e* [2 @" y
username = panko
5 [8 Y. x5 D+ Ipassword = PANKO_PASSWORD
5 x8 u% k) U5 M |
+ V* m( _. @; A$ {3. 新建 vim /etc/httpd/conf.d/10-panko_wsgi.conf 文件,加入以下内容复制Listen 8779
7 L+ v; ?' l' Z$ Q) o& n/ Q* x5 R! Q0 ]1 [/ j
<VirtualHost *:8779>3 n& J7 e3 N. j! L
ServerName controller
$ T2 _. P! P# c2 i ^$ j8 Y; F
* n5 q5 w5 @, E$ N; ~ Q @ ## Vhost docroot/ c/ V+ y- h) a; G* E
DocumentRoot "/var/www/cgi-bin/panko"
8 [3 I6 [( a" d5 u2 ^" w+ q' p2 V
## Directories, there should at least be a declaration for /var/www/cgi-bin/panko5 y' ?' M1 m' C* k- G
! P6 p2 w0 h* x* h <Directory "/var/www/cgi-bin/panko">. [9 l: N$ e3 r
Options Indexes FollowSymLinks MultiViews# C/ u% K! q# [* g5 o) |
AllowOverride None- |- |3 X% k0 z1 L+ n
Require all granted
7 ^& `& a8 b/ P8 c8 a7 K </Directory>
+ {9 I- _; `- t4 T' l3 l
" M: U# E I' Q- @" G* ?# T ## Logging
! F. o" x/ `/ j% m ErrorLog "/var/log/httpd/panko_wsgi_error.log"
/ n9 \2 [ g$ s. x$ o& C ServerSignature Off / {& L5 M$ j0 Y- A. c; I
CustomLog "/var/log/httpd/panko_wsgi_access.log" combined
6 l' @0 |3 v$ z2 F) D3 B L SetEnvIf X-Forwarded-Proto https HTTPS=1/ y8 S/ ~) t% H
WSGIApplicationGroup %{GLOBAL}
- o+ p$ i( O& K6 g' G( {( U7 M. ? WSGIDaemonProcess panko display-name=panko_wsgi group=panko processes=2 threads=2 user=panko
1 W6 V; p0 ]5 \2 c Z9 ~ WSGIProcessGroup panko
# ~; ]* \( ]( }2 n WSGIScriptAlias / "/var/www/cgi-bin/panko/app"
6 C, v- N% K& {! K</VirtualHost>
- f) C$ q8 z2 p4 v1 D- l | 3 V7 i& h$ b# c. J1 x( i
4. 复制 app.wsgi复制# mkdir /var/www/cgi-bin/panko/
# Q: U6 T6 l0 ^/ S# m# cp /usr/lib/python2.7/site-packages/panko/api/app.wsgi /var/www/cgi-bin/panko/app7 I7 ]7 p% i ^" A
# chown -R panko.panko /var/www/cgi-bin/panko/2 F5 Z# d# r% T6 h/ ]
|
6 i# V/ C% s/ q' `5. 初始化数据复制# /usr/bin/panko-dbsync6 f0 n/ c' G# ^ s4 N
|
/ Q' i" j4 q9 O" y2 Y% W* z* j B4 m完成安装重启 httpd 以加载 panko5 i! [& A4 m f! K, T+ F0 |
复制# systemctl restart httpd7 x8 r1 o2 O _! \
| . E4 U& w* ]/ Q% O3 |0 o1 M" {0 k
" _; P1 O0 K# T0 g* x8 o6 GCeilometer服务安装和配置控制节点 (ceilometer节点)Ceilometer先决条件1. 加载 admin 认证文件复制$ . admin-openrc
( k8 o& ^, D* k0 |5 d; m9 q+ g# X' H |
. B4 R. ?5 Z$ ^: J6 _% q, \2. 创建服务认证,完成以下步骤安装并配置组件1. 安装软件包复制# yum install openstack-ceilometer-api \
5 U- t, N6 {9 i- ^. I openstack-ceilometer-collector openstack-ceilometer-notification \5 U; I+ g: e" d4 {: Z, }
openstack-ceilometer-central python-ceilometerclient -y
1 J% ^5 G, g. O% G8 @+ f' { | : r8 o3 e4 H' |8 |
2. 编辑 /etc/ceilometer/ceilometer.conf 文件加入以下内容复制# vim /etc/ceilometer/ceilometer.conf( F3 D0 z; r+ z
[DEFAULT]/ J G2 k/ p! K/ M `
transport_url = rabbit://openstack:root1234@controller
2 D9 {6 W9 s- E& _9 q& Qauth_strategy = keystone, K1 Z6 c* V* Y e
meter_dispatchers=gnocchi
" C3 ^ o8 ~% V }8 {' R8 T+ c& gevent_dispatchers=gnocchi
( e8 o0 b. P4 L2 q0 g9 l8 v: t S* V8 ?7 w8 N# N; Q
[dispatcher_gnocchi]0 N( V- V/ J0 M% x" e
filter_service_activity = False
7 Y* q- ^5 }. m" `: T1 Karchive_policy = high
! p4 Y% A$ g. N8 p/ i6 b dresources_definition_file=gnocchi_resources.yaml8 q+ @0 ~+ c# S, ~
url=http://controller:8041+ K6 Q. s- F0 k0 o! o
7 l& ?8 F, e" o[keystone_authtoken], Q7 T' [" }9 V
auth_uri = http://controller:5000$ c0 j, Z9 ]& d: \9 m
auth_url = http://controller:35357
6 Y4 u6 p6 Y$ d' rmemcached_servers = controller
2 i1 j% ?4 k/ c. \auth_type = password
\* \) R( {/ X! Eproject_domain_name = default
! P5 I' ?3 c1 t, r4 ]) R: J8 duser_domain_name = default* B; R- U u9 c9 ?1 J# ^
project_name = service& ^: _, G0 ^! U# o" j# r0 @2 Z
username = ceilometer
6 v. J2 ?% i9 K, Rpassword = CEILOMETER_PASSWORD
& @$ J* a, i6 l6 ~7 t0 @( n7 i4 N* iservice_token_roles_required = True
. D1 l* ~6 u& i" i1 ^# K m. L* X8 Y( f, m& L7 y
[service_credentials]6 |& s4 ~- ^$ n/ k' y& A2 p
auth_type = password
7 R" s$ U' J9 e0 \auth_url = http://controller:5000/v3
1 G8 L2 O, U2 x, M4 p* I' w9 x4 B8 ~project_domain_name = default
0 u% d+ V8 L8 W( j3 [) O. q+ Iuser_domain_name = default
- t. g0 t p. }, [& [% l" Fproject_name = service
6 j6 M! I: y( ?% `username = ceilometer4 w- m; x( Z. L
password = CEILOMETER_PASSWORD( ^1 C4 ?, Z5 b& \ l2 y1 W6 A
interface = internalURL
9 P+ f& p) F2 Q @region_name = RegionOne
; P& g! M- {. k5 l: p | 1 y$ o6 F/ u: a c7 m1 W
3. 新建 /etc/httpd/conf.d/10-ceilometer_wsgi.conf 文件,加入以下内容复制# vim /etc/httpd/conf.d/10-ceilometer_wsgi.conf* C- I5 u$ [; K/ f
1 c9 I& W3 v6 ~$ @ i. H& tListen 8777
) } B! U9 z) n# e
; G% J3 ]% @2 n& m1 ?7 x# l<VirtualHost *:8777>
4 N1 N Y2 L" r0 g) R! U! [1 b ServerName controller: E- D: J& y* K. v1 f
7 o# M y" ]% I7 r; [ ## Vhost docroot4 ?+ |( L7 A/ |* |8 C g: Y
DocumentRoot "/var/www/cgi-bin/ceilometer"
+ ~* ]5 A2 y6 q, T, P4 e2 C/ k
3 d" E" h; C' O: m& s# H8 b- Z ## Directories, there should at least be a declaration for /var/www/cgi-bin/ceilometer. ~/ k4 N. }$ ^% P, l
4 b. f8 B. \" H! }
<Directory "/var/www/cgi-bin/ceilometer">
. }: f* A# }! Y( p: ? Options Indexes FollowSymLinks MultiViews& V7 n+ `1 [' _7 R; [' u; x
AllowOverride None2 H$ \: Y/ N/ N' Y% `
Require all granted; a+ i0 \7 @' [: B" F( I# _
</Directory>
; D" N7 w9 r7 Q M% \* W" {$ K/ h/ f& P- L( a4 R, t# S- E U
## Logging
9 s7 Q9 E4 G: R& k. o ErrorLog "/var/log/httpd/ceilometer_wsgi_error.log"
) T2 u9 p0 @+ T& I; b$ [1 o* C ServerSignature Off
* d3 I2 w B1 h7 r6 {1 f9 _ CustomLog "/var/log/httpd/ceilometer_wsgi_access.log" combined
- q m5 }) c& }- G2 W' o" i SetEnvIf X-Forwarded-Proto https HTTPS=1: G8 v- N% p1 R
WSGIApplicationGroup %{GLOBAL}
" Y3 K# z2 O- y* z4 p0 E WSGIDaemonProcess ceilometer display-name=ceilometer_wsgi group=ceilometer processes=1 threads=2 user=ceilometer8 j) k2 t& m2 O& _
WSGIProcessGroup ceilometer+ H* e2 w3 N0 G) w1 b5 N
WSGIScriptAlias / "/var/www/cgi-bin/ceilometer/app"7 {' P. }4 L0 Y0 |$ g
</VirtualHost>
" \# l+ j+ b N [ |
5 e% w; z$ k- F* V( |4. 复制 app.wsgi复制# mkdir /var/www/cgi-bin/ceilometer/- ~" |: l. s* Y' C* w$ l
# cp /usr/lib/python2.7/site-packages/ceilometer/api/app.wsgi /var/www/cgi-bin/ceilometer/app
, \1 x$ r Y& v3 W4 ~+ g/ ]" T# chown -R ceilometer.ceilometer /var/www/cgi-bin/ceilometer/
* Z, a) g& o$ U# a( q | 6 H9 d( W- r- f, y
- 运行一下命令在gnocchi中创建ceilometer的资源复制
# ceilometer-upgrade --skip-metering-database/ S/ \7 \/ {* w6 C
|
! H: M6 ]' [: Q6 Q/ ~4 Q8 t9 A; p e2 B$ B7 V7 q' D
完成安装1. 重启 httpd 以加载 ceilometer复制# systemctl restart httpd0 Y" b8 L0 ]+ k- P2 O' U& R9 c
| 3 i1 e9 Z p! {$ ]/ B3 h
2. 启动服务并设置开机自启复制# systemctl enable openstack-ceilometer-notification.service \4 a' s u r- ?) V
openstack-ceilometer-central.service \
2 j* H& k! q+ f* U openstack-ceilometer-collector.service
" }1 [9 x( B, Q! i! O# systemctl start openstack-ceilometer-notification.service \
- Q! z+ y1 c* U h' e openstack-ceilometer-central.service \
& {4 W- g5 c9 x/ O8 m- w openstack-ceilometer-collector.service
; i/ e6 s/ d6 i9 T: T" U | ' h/ p4 I) u1 J4 t' n' p' v
安装和配置计算节点 (计算节点)安装并配置组件1. 安装软件包复制# yum install openstack-ceilometer-compute python2-wsme: N1 @9 R4 B' T6 ~- P3 S
| - O7 O4 d- d" A3 {( V! r- r" J
2. 编辑 /etc/ceilometer/ceilometer.conf 文件加入已下内容复制# vim /etc/ceilometer/ceilometer.conf
3 B/ `& A$ t7 I9 i: ^2 d[DEFAULT]
9 k2 H4 M$ i* a7 Ktransport_url = rabbit://openstack:root1234@controller
" u. W% L1 ^; Oauth_strategy = keystone
. j1 z2 {9 l, u/ I' Q0 c- w' f* l( v: |4 H: q
[keystone_authtoken]
: l+ L/ @$ s0 w8 W! W, G- J+ Iauth_uri = http://controller:5000
6 n+ n) _; y9 P$ b9 Uauth_url = http://controller:353578 Z+ q. G c3 X3 S4 T
memcached_servers = controller01:11211,controller02:11211,controller03:11211
* x. ?, r1 H, q/ I; bauth_type = password& y& q% F3 [& o6 H2 d% N
project_domain_name = default
; ^. e* f) |) @- D/ n: t& S- z: puser_domain_name = default C' S8 O7 d W7 ~7 t
project_name = service
; q, t& L/ @/ a9 z# {, M8 {username = ceilometer8 Z- e2 U! v: c T
password = CEILOMETER_PASSWORD0 Q! R4 T8 [0 j$ k' }' t
! S6 p$ a; C/ K- `8 W
[service_credentials]5 I. e; [$ j: J' i6 O
auth_url = http://controller:5000+ }4 B2 v/ u- o( ~) ]
project_domain_id = default
0 o* p$ c7 ] p% u8 i8 d7 buser_domain_id = default8 z9 d+ ]9 q+ X* c' t
auth_type = password
! c @1 Q- \8 F1 A$ p( l* {1 Nusername = ceilometer2 A' D: D, ?0 f) q* y0 b1 M% `
project_name = service! N% P% I8 x( o5 Z% z) d7 ?
password = CEILOMETER_PASSWORD
4 D, x: M! h4 binterface = internalURL
- y3 B4 U2 P2 {3 Y- Oregion_name = RegionOne* x" k' o0 e/ Z
| 2 Z! n7 Z- u5 F. D8 [) b2 `; A
配置计算节点使用Telemetry编辑 /etc/nova/nova.conf 加入以下内容# v1 n, j% \+ D; d: o
复制# vim /etc/nova/nova.conf
! v; @7 M- l O8 k: t5 [% u6 \[DEFAULT]
6 [' |, z, v; e! {1 _) Uinstance_usage_audit = True" z* T6 h+ P+ ]! D- N
instance_usage_audit_period = hour$ s; a' B& H6 |5 V
notify_on_state_change = vm_and_task_state( A1 l8 }; Y, m8 K6 U9 T
, a- v0 Y3 H8 ^" l5 B; C0 b4 J
[oslo_messaging_notifications]5 B# s7 W, w3 i* k: y2 f
driver = messagingv26 C9 p) k9 |% G, Q) d& G
| 5 S! I8 W* C' a, c4 \& q
3 R/ @9 q+ t) j5 g
完成安装1. 启动agent并设置开机自启复制# systemctl enable openstack-ceilometer-compute.service' V( d$ F& k$ g& a3 I6 e
# systemctl start openstack-ceilometer-compute.service
% c4 X* _. m5 |* S6 b/ r7 P | 6 E3 J S; }: W5 c
2. 重启计算服务复制# systemctl restart openstack-nova-compute.service' N. G, k) D, K5 y( y( N
|
' |* B9 q0 P4 P* M& M; P配置 opesntack 服务以支持ceilometer (控制节点)Cinder1. 配置cinder使用telemetry编辑/etc/cinder/cinder.conf文件加入以下内容0 K4 l- R. G$ ]5 P, w* V2 d
复制[oslo_messaging_notifications]9 ]! L( V4 ^7 ?5 U$ d
driver = messagingv2
- C& s8 F2 a# D% o: T. o | # X( J6 j7 Q. l- b2 U
( F: O' F5 V# h& N' x5 f
2. 通过定时任务获取阶段性的通知,例如没5分钟执行一次复制# crontab -e
2 i, b- H6 }" H; X; T5 b1 f+ f/ U; Q/ M, c
*/5 * * * * /usr/bin/cinder-volume-usage-audit --send_actions
/ z+ q8 P! Y" J1 n" S7 l r |
5 W, z; o0 q* E) d3. 重启服务复制# systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service openstack-cinder-volume.service% M5 F/ I3 o" ~! E5 z( x
|
& W, R3 k( \ M8 }$ EGlance1. 配置镜像服务使用telemetry编辑/etc/glance/glance-api.conf 和 /etc/glance/glance-registry.conf; I v3 j8 x) x
复制[DEFAULT]
3 d d* U. b; M" o5 I( Atransport_url = rabbit://openstack:root1234@controller
9 g U- E( Y) h& J+ C4 R2 f4 D3 i, G! U7 Y
[oslo_messaging_notifications]% F! ^4 f7 G- @5 h9 ~
driver = messagingv23 w9 r8 z! Z# \* M* X
| 2 h0 m) c5 p/ Q" J0 \/ S
, @, o! t3 Y4 F
2. 重启服务复制# systemctl restart openstack-glance-api.service openstack-glance-registry.service Z n& k, d0 e! R9 R0 J4 W6 P P
| 7 Y! D- ~! x0 L" p( E9 @
Neutron1. 配置网络服务使用telemetry编辑 /etc/neutron/neutron.conf 文件加入以下内容
2 J0 H/ w3 M1 C4 |) R 复制[oslo_messaging_notifications]0 N4 w; r L# K. e& Y5 [" ]
driver = messagingv2
]; `1 `3 Q* a9 z4 G |
8 k! _- C! u6 I1 U7 j: q
8 H- E1 y# v; }! x2. 重启服务复制# systemctl restart neutron-server.service7 `4 }! @( z( h" r
|
- N! x$ k3 h7 p3 j# k+ U% g9 T( J1 B/ a3 L+ ], g) P" T2 [
|