安装Gnocchi先决条件1. 完成以下步骤,创建数据库2. 加载 admin 用户认证文件复制$ . admin-openrc+ j. K) Q+ Z$ I' w
| % ^6 }( }9 m9 g+ g) O7 A
3. 完成以下步骤创建服务认证- 创建 gnocchi 服务API endpoints复制
$ openstack endpoint create --region RegionOne metric public http://controller:80419 y3 G/ w5 Z" V. D; \/ X/ P8 y" m4 j% k
$ openstack endpoint create --region RegionOne metric internal http://controller:8041' R* ?' S* N( r5 ~
$ openstack endpoint create --region RegionOne metric admin http://controller:8041 C3 c( k9 J* D o/ O
| 8 ~# Y" t' t8 ]8 c8 ?+ r
3 v$ v6 H7 q& m; S6 ^. a 安装和配置组件1. 安装软件包复制# yum install openstack-gnocchi-api openstack-gnocchi-metricd python2-gnocchiclient -y
2 }3 C* c# ~: _2 i | * \. s+ W! w( T+ o
2. 编辑 /etc/gnocchi/gnocchi.conf 文件加入以下内容复制# /etc/gnocchi/gnocchi.conf# \0 s) A1 O4 k1 r+ a
1 c3 \) J) m* j3 `[DEFAULT]1 U. @$ n9 x, z* R
log_dir = /var/log/gnocchi
6 @$ V. N6 K8 d6 W; |5 l/ K3 q( U
D6 y6 W& G( j+ u[api]: m% l5 A4 |9 ?6 t6 u" L9 @3 I8 V% t
auth_mode = keystone/ r( ~" X, n% _
. t8 Q* o! Z) l$ p! O" ?! \[indexer]
& w" \& w4 a' v" O* @& o) vurl = mysql+pymysql://gnocchi:GNOCCHI_DBPASS@controller/gnocchi
. o0 k. E4 {* g6 @0 C
2 r* @2 b5 ~5 V. ]) P0 M[storage]) _; y3 b& U6 n) e7 L# Y1 J
driver = file
5 T9 T- [& W- B" z/ v# w" G% Dfile_basepath = /var/lib/gnocchi0 y, |' s# o+ o6 N: x
' ^8 N' H* W6 Q/ E' q5 j: Q
[keystone_authtoken]- k8 ^5 ]8 r$ R9 c3 l) Z" N* V
auth_uri = http://controller:50006 ~0 ~9 T' M+ r6 m7 x
auth_url = http://controller:35357; F4 B, z- N: s+ Y! F
memcached_servers = controller:11211
, x% D$ j8 l; e D2 ?8 d! Bauth_type = password
' _" U. P. L L* z/ [) \project_domain_name = default
7 d# j- y- {+ ~* I" g/ ruser_domain_name = default! J# O4 n/ y! p/ b9 s* M3 j
project_name = service& }7 J* Y c/ W$ z+ m7 \. Y3 N8 K
username = gnocchi
$ w, E2 Q5 b& q& d2 K5 B" gpassword = GNOCCHI_PASS4 M! M3 Z; I7 U8 g
|
" M! Z8 N ^7 ^' p) o' k. }3. 新建 10-gnocchi_wsgi.conf 文件,加入以下内容复制# vim /etc/httpd/conf.d/10-gnocchi_wsgi.conf# m. V! ]6 _+ ?" J8 M) C. R7 e
% ?2 I# P- Q% l! G' b
Listen 8041# _. |) V, w' j5 v! C4 V, ^* o
% z) [8 U2 U0 S: d) b1 g; o6 Y<VirtualHost *:8041>5 e* t( T$ _/ ]2 ~, {! E9 Z, i
ServerName controller3 K1 @& U! u! n+ ^+ d5 \
8 G% V; }1 L* Z, X ## Vhost docroot
6 |* J7 i; p- S DocumentRoot "/var/www/cgi-bin/gnocchi"0 [. ~( @1 C! H6 w
, ~: Q) B( S* E ## Directories, there should at least be a declaration for /var/www/cgi-bin/gnocchi/ r6 D- w9 O1 d0 t* A0 H! y2 B) e; Y
7 ?5 }2 z7 ^" Q$ v2 }) ]$ Z <Directory "/var/www/cgi-bin/gnocchi">
$ t+ l: f6 `4 N) T" j Options Indexes FollowSymLinks MultiViews; N" @( V0 q$ q$ [+ l3 P$ @
AllowOverride None$ c7 Z. G/ H$ a6 P/ f2 f a( ^
Require all granted* }9 z6 I3 j# R& c
</Directory># z! g9 [& {# z
/ f) g6 H. H; X+ n( F+ z ## Logging
' s+ w o) W% I8 U9 W, n ErrorLog "/var/log/httpd/gnocchi_wsgi_error.log"8 t7 c' w" _% x3 \- M# h* j, q
ServerSignature Off, u/ n& Y) j c5 {, [7 E
CustomLog "/var/log/httpd/gnocchi_wsgi_access.log" combined9 o: S* w" P7 F
SetEnvIf X-Forwarded-Proto https HTTPS=18 c$ v# y5 h, n/ m w+ e
WSGIApplicationGroup %{GLOBAL}0 V3 b- B) f: B" G. S. p% }
WSGIDaemonProcess gnocchi display-name=gnocchi_wsgi group=gnocchi processes=8 threads=8 user=gnocchi
+ A6 Q2 T2 c+ z2 _& X WSGIProcessGroup gnocchi
; W' e6 K) m( U$ m! e) m WSGIScriptAlias / "/var/www/cgi-bin/gnocchi/app"" V: u* ~, b1 t' U
</VirtualHost>
. D+ V6 \# c: W/ ?# { |
' z6 p+ A% `/ ?% @+ c4. 复制 app.wsgi复制# mkdir /var/www/cgi-bin/gnocchi/7 u# H* @7 }7 j' y" m1 A& Z8 r7 A
# cp /usr/lib/python2.7/site-packages/gnocchi/rest/app.wsgi /var/www/cgi-bin/gnocchi/app
, R/ J* m2 ]- P( d2 W5 v( p8 d% K/ g# chown -R gnocchi.gnocchi /var/www/cgi-bin/gnocchi
0 i/ {$ a' k @4 a. B/ c |
- e4 Z6 L, p% ^% G5. 完成安装1. 初始化数据库复制# su -s /bin/bash gnocchi -c "gnocchi-upgrade"
' T: A4 k# f2 U% Y | ; N, d, s; v k/ V+ K
2. 重启 httpd 以加载 gnocchi复制# systemctl restart httpd- o5 w8 {# N. s% M! W
|
! C) _4 [9 ^ E ^( W3. 启动服务并设置开机自启复制# systemctl enable openstack-gnocchi-metricd " h$ J& @4 _1 V6 S$ O) `
# systemctl start openstack-gnocchi-metricd
( ?* W; t. K$ n7 K4 Z: a- k9 ~ |
- I1 ?/ C# ^6 ?Telemetry 服务Aodh 服务 (ceilometer节点)先决条件1. 完成以下步骤,创建数据库2. 加载 admin 用户认证文件复制$ . admin-openrc
8 @0 [6 C5 ^3 X3 o% \ |
) c* J. }8 ?1 }% }1 F0 b3. 完成一下步骤创建服务认证- 创建告警服务API endpoints复制
$ openstack endpoint create --region RegionOne alarming public http://controller:8042
8 M6 ^; q l/ }. k$ openstack endpoint create --region RegionOne alarming internal http://controller:8042
3 y( ^% I8 v6 _$ openstack endpoint create --region RegionOne alarming admin http://controller:8042
3 [6 I& D" k2 M, ~; P8 d | 9 E. r8 j0 K+ T
( h# \, e- \8 _/ G* {
安装和配置组件1. 安装软件包复制# yum install openstack-aodh-api \
) }5 Y% M- ]& o) `# Q$ Q/ W4 z7 ?; m openstack-aodh-evaluator openstack-aodh-notifier \3 h5 |4 w7 n G9 o
openstack-aodh-listener openstack-aodh-expirer \
/ C& t5 k. X9 m, g python-aodhclient -y7 I: t0 c) U. z
| 4 e! H! c8 `+ r% l
2. 编辑 /etc/aodh/aodh.conf 文件加入以下内容复制# vim /etc/aodh/aodh.conf
8 y/ V' E1 z1 v# V. _- F) W4 W4 f0 t
[DEFAULT]5 `4 C9 p, a9 O8 e: X
transport_url = rabbit://openstack:root1234@controller7 Y; U* Q, L* K: S) p! s
auth_strategy = keystone- p% V! k! K; q, c: A) G
- P$ f( D9 n! I4 w[database]
$ F) O/ ]0 I5 b5 l: |% b0 iconnection = mysql+pymysql://aodh:AODH_DBPASSWORD@controller/aodh8 B# B. d: B- h9 R
2 I/ X" g5 z' \3 Y[keystone_authtoken]) ^% I a2 u( M F+ T6 Q
auth_uri = http://controller:50006 L/ U! n) y, f2 q6 s
auth_url = http://controller:35357; Z1 m) Q5 [7 W" h- y' M1 ?
memcached_servers = controller:11211
( g; h4 d$ {# X% w6 L7 |5 hauth_type = password
. g `+ h2 h/ v& A. aproject_domain_name = default
* G9 Q, O0 a% r# r6 ]user_domain_name = default
7 U( d5 k1 b7 l& r; W$ Mproject_name = service( ]2 B7 e1 j6 A
username = aodh/ ^' D2 Z# J% _6 `, |& q- G) U& q6 ]
password = AODH_PASSWORD
. w4 l r2 _$ s+ ?) @
- p" U. ^) U$ C& `- r) i[service_credentials]9 U7 x/ X. N& y0 \) X* I9 o
auth_type = password
8 M4 p) z i! G! N9 B' }5 iauth_url = http://controller:5000/v3
( M1 A0 y1 e1 |" dproject_domain_name = default
/ n% J6 v1 s- H: ~ Yuser_domain_name = default
3 s* a( T( l/ w; t# M- G) D9 _project_name = service
7 F8 q$ y' C4 {6 r" n1 C; T0 c) ?username = aodh, I) }& G& @) V; a
password = AODH_PASSWORD
* Y& O7 U0 `. q" Y, ?- Minterface = internalURL
, t2 |% t2 ^3 M( `4 U# [4 hregion_name = RegionOne
" }# o7 z0 x; s* G0 u | . `/ \, Q- k* N3 ?. s7 x3 U% [3 P
3. 新建 /etc/httpd/conf.d/10-aodh_wsgi.conf 文件,加入以下内容复制# vim /etc/httpd/conf.d/10-aodh_wsgi.conf
2 x# Q j$ E8 s) y5 z3 X9 T- u
Listen 8042" s0 _" [" X( A
& }! R- W' G) A<VirtualHost *:8042>
, b# O' |6 q+ y0 @- Z ServerName controller" I) k7 a& X4 @5 ~1 h" [
9 Y' v: d1 X8 @ ## Vhost docroot; c' t, d. a3 {7 \
DocumentRoot "/var/www/cgi-bin/aodh"
# V- p, c9 r0 E$ X# J
5 Q6 n* z3 J* t$ }" G Y5 x ## Directories, there should at least be a declaration for /var/www/cgi-bin/aodh F# Q# |' T* E( E
2 i! v5 q, ~+ ]! a* b9 P/ t9 F I# I
<Directory "/var/www/cgi-bin/aodh">
( p: g& k# D) P7 o% t5 t6 _ Options Indexes FollowSymLinks MultiViews
- Z2 {0 V. [# z AllowOverride None+ _3 ] B% E% Q) }# `( g/ t
Require all granted
8 }2 Q: }, e! x5 {- E/ D, d% ^0 F8 ? </Directory>
: S! C8 x( d. T: |+ z1 _# q6 ^6 K5 D$ T
## Logging
" I1 \/ i& P5 B ErrorLog "/var/log/httpd/aodh_wsgi_error.log"
H ~! B n2 Y5 Z& p: u ServerSignature Off
/ M7 f) U3 B5 Q CustomLog "/var/log/httpd/aodh_wsgi_access.log" combined
/ s- l1 ?6 V4 y) c3 ` { SetEnvIf X-Forwarded-Proto https HTTPS=1" R! w1 i5 d6 z! K8 W7 b4 @
WSGIApplicationGroup %{GLOBAL}
9 f3 O9 j" ]; J1 F5 t( U WSGIDaemonProcess aodh display-name=aodh_wsgi group=aodh processes=2 threads=2 user=aodh
0 _0 T4 ?* }& N) D WSGIProcessGroup aodh
, Z* B. g2 V m/ n WSGIScriptAlias / "/var/www/cgi-bin/aodh/app"8 m5 v; r3 n9 y4 D% w _; ~
</VirtualHost>- u7 d+ u1 X. ^- j1 R3 P
| / a0 L# d' r, U4 {. W$ n1 H% \
4. 复制 app.wsgi复制# mkdir /var/www/cgi-bin/aodh/
/ v+ C1 F- U2 I0 O3 `# cp /usr/lib/python2.7/site-packages/aodh/api/app.wsgi /var/www/cgi-bin/aodh/app$ ?' N. [2 s" F! s
# chown -R aodh.aodh /var/www/cgi-bin/aodh* r" t$ \4 M n/ W& y/ X" |: p
| : ]4 F, e" c+ G: A6 ~
完成安装1. 初始化数据库(仅当使用 SQL 数据库的时候才需要初始化)复制# aodh-dbsync8 R+ X) Z3 Z. D
| * P; z1 ^$ b( W# W
2. 重启 httpd 以加载 aodh复制# systemctl restart httpd* P, P) Z: g" a2 p- V; a [6 {
|
: N3 J9 S8 A; k" Q- e$ }: i3. 启动服务并设置开机自启(任一控制节点执行)复制# systemctl enable openstack-aodh-evaluator.service openstack-aodh-notifier.service openstack-aodh-listener.service1 X4 R! }" ], a4 I) M, l
# systemctl start openstack-aodh-evaluator.service openstack-aodh-notifier.service openstack-aodh-listener.service8 d- G0 D" D! V; X0 J8 T' v
|
* Z" A2 q3 Y8 uPanko 服务 (ceilometer节点)先决条件1. 完成以下步骤,创建数据库2. 加载 admin 用户认证文件复制$ . admin-openrc6 {, d- f) Z0 O* P4 A
| ) ^& c9 k9 }" h9 f1 J2 F8 x8 v
3. 完成一下步骤创建服务认证4. 创建Event服务API endpoints复制$ openstack endpoint create --region RegionOne event public http://controller:8779
, U# W9 n/ b' Q! t! m+ a5 w$ openstack endpoint create --region RegionOne event internal http://controller:8779
; D( H' T# |' e1 ?$ openstack endpoint create --region RegionOne event admin http://controller:8779 e& w0 |2 ?5 _$ A
| 0 C* L1 @9 x7 W- W) X$ T
安装和配置组件1. 安装软件包复制# yum install openstack-panko-api openstack-panko-common -y- {4 i" P+ S2 A. w- J; D& V
|
) e; O" l; @# Z! v+ }2. 编辑 /etc/panko/panko.conf 文件加入以下内容复制# vim /etc/panko/panko.conf$ t5 `6 S0 B6 O/ `7 n' z
" M4 A7 G3 t4 g) v) q0 y[DEFAULT]
/ P; h* V# o; L4 cauth_strategy = keystone
2 {' _. `) S+ v7 r+ glog_file = /var/log/panko/panko.log
! Q! D# L# Z% x; k ^log_dir = /var/log/panko
8 B7 {% Z6 p! e) n& h+ T4 b- S9 e
[api]: T. I$ D" ]6 w. H# X: M7 n
host=0.0.0.0
+ o0 U* q7 x& I4 }) ^* }port=8779
1 K; Q$ U; U7 ]: Cworkers=2* W1 J8 J- o- I% ~ O* L# H
max_limit=1000
1 S" }. }: M+ T
7 ^( Z! {5 z3 Z2 C* t7 F" T[database]- }; A2 K( ?& y. H$ d
connection = mysql+pymysql://panko:PANKO_DBPASSWORD@controller/panko
! l' d- @+ ^1 |+ g4 }: n3 M6 q9 d4 p0 |+ B2 l
[keystone_authtoken]
7 ~$ I" B. M" m4 G/ d& X; ]3 Rauth_uri = http://controller:5000
! T" p; ~5 A! {. W& |5 u" nauth_url = http://controller:35357
j8 l/ b1 U6 Y6 E, kmemcached_servers = controller
4 p; V/ {: H5 eauth_type = password. L4 \. j( v- s# L% z3 G/ ]
project_domain_name = default
+ g! d/ ]" W' P# J( t9 |6 Luser_domain_name = default5 V- m" d g( |4 O
project_name = service
# s" ~; s9 V8 y' Z8 w/ o8 ^: vusername = panko
8 e% q/ U% y2 t" n9 i, V$ P3 [: X- hpassword = PANKO_PASSWORD- }/ h3 I8 U/ M" t4 p: B
|
7 G% N' U6 c+ e0 d# g5 v. |$ a3. 新建 vim /etc/httpd/conf.d/10-panko_wsgi.conf 文件,加入以下内容复制Listen 87796 @8 C& b- H( W; H4 ~5 A0 m$ a
" t! P1 J( v. [! _! y# ?( g3 B( u<VirtualHost *:8779>5 A8 n5 t. S0 _. S9 y' n
ServerName controller
) r j) K$ W, e" r' Y W/ X1 m/ r8 ]6 M9 |, h7 ]
## Vhost docroot
9 P( C0 j f4 j DocumentRoot "/var/www/cgi-bin/panko" c( R" z3 I7 }, ?0 C
0 E) _( O0 w6 ~; v4 \6 T5 q6 R9 J0 j
## Directories, there should at least be a declaration for /var/www/cgi-bin/panko \2 b8 y% m6 E, q4 k6 ?: D- @
" l2 _* H; K) W+ s* d { <Directory "/var/www/cgi-bin/panko">' i2 y7 N! r- T% X4 [
Options Indexes FollowSymLinks MultiViews
H) T4 Y6 e1 t+ N( g AllowOverride None
4 s* U6 a- {0 w: L3 X" n+ x1 K Require all granted0 h8 R# N1 o9 ? t3 {' x
</Directory>$ k/ F/ l! z+ r
m( M/ u6 b3 _; V+ m1 @; q
## Logging; j/ L' Z0 j) Y
ErrorLog "/var/log/httpd/panko_wsgi_error.log"
8 f- N9 q4 N# d h ServerSignature Off ) u) b( U8 R* w5 {5 f+ |8 f
CustomLog "/var/log/httpd/panko_wsgi_access.log" combined
8 \9 T* Q* M( I+ t9 i SetEnvIf X-Forwarded-Proto https HTTPS=1
2 J* {2 E1 |& d WSGIApplicationGroup %{GLOBAL}
, X) ]4 u( l3 ]" z* i0 J: x WSGIDaemonProcess panko display-name=panko_wsgi group=panko processes=2 threads=2 user=panko
! ^. o' r$ { A6 w. s WSGIProcessGroup panko) h2 r" O; R$ H3 W+ q
WSGIScriptAlias / "/var/www/cgi-bin/panko/app"
9 F2 d2 o+ c6 e. {4 D y</VirtualHost>
8 c/ _2 d& C1 a. g& n& X. Z | 1 S8 D. ] m; m* I7 |
4. 复制 app.wsgi复制# mkdir /var/www/cgi-bin/panko/
( _) p+ ]( R7 ?! I# cp /usr/lib/python2.7/site-packages/panko/api/app.wsgi /var/www/cgi-bin/panko/app
, y8 j R" |1 X' K# chown -R panko.panko /var/www/cgi-bin/panko/
9 H' t. _5 d7 H9 @ |
' ~0 Y$ i' G4 H8 z, t5. 初始化数据复制# /usr/bin/panko-dbsync9 f: X4 J8 T1 N( |4 P, J) k8 I
| . E8 P- ?2 c3 c0 g3 ~
完成安装重启 httpd 以加载 panko
9 @% ^$ y3 p2 ]1 \ 复制# systemctl restart httpd9 l0 H% M1 F' Z; V0 D# A
| 3 s/ E \& T5 C
4 k5 U- i9 o* ?+ e2 x3 O
Ceilometer服务安装和配置控制节点 (ceilometer节点)Ceilometer先决条件1. 加载 admin 认证文件复制$ . admin-openrc
) {5 J5 a! J h5 c- x6 J |
7 J, E/ O, n- O7 w7 S1 h7 N" s; @3 G2. 创建服务认证,完成以下步骤安装并配置组件1. 安装软件包复制# yum install openstack-ceilometer-api \ W0 k+ I6 g! g: H; q9 v* k* {6 [- _
openstack-ceilometer-collector openstack-ceilometer-notification \# x+ B: ?. }2 V l" Q! s
openstack-ceilometer-central python-ceilometerclient -y
6 |+ _5 y1 h, H$ l l: \. r |
5 h9 ]3 {' I% p. n2. 编辑 /etc/ceilometer/ceilometer.conf 文件加入以下内容复制# vim /etc/ceilometer/ceilometer.conf
1 n. b# S! h0 G* {[DEFAULT]1 v2 J( M7 d% Q: C5 ~
transport_url = rabbit://openstack:root1234@controller. } t5 S7 c; ~: z4 N
auth_strategy = keystone
$ @1 v- O+ `- h, k- k3 i1 Gmeter_dispatchers=gnocchi
! K- j7 ?# k3 O- m ?, Aevent_dispatchers=gnocchi
9 c* Q/ ?/ G( e- _: G/ u
* o& y7 ^/ i0 u4 w[dispatcher_gnocchi] E$ a3 g+ K3 n7 h9 H" f( ?
filter_service_activity = False* H+ ^5 Z& M/ T! A( { p. D
archive_policy = high
6 @2 D1 x5 T6 w. ?resources_definition_file=gnocchi_resources.yaml
2 a) \" ]1 U. G$ X7 i/ gurl=http://controller:80410 m2 R: [2 ? J5 m( m1 K
8 ]% x/ U' V) Y[keystone_authtoken]( ~! s: l1 ]$ r: u) u
auth_uri = http://controller:50009 D5 V5 ~- ^& A9 k) h8 [$ K, X% [
auth_url = http://controller:35357
w. x4 x; h: B; W8 i6 k4 Jmemcached_servers = controller
3 p# v. H. O) s6 y) R# Dauth_type = password1 s3 O8 i: n m3 E, g
project_domain_name = default0 D2 o$ F- m/ {. k& n
user_domain_name = default9 j1 f. Z$ r5 ~
project_name = service( E4 k4 v1 _4 `1 r# h$ g& [5 b; z
username = ceilometer
; Z( ^" u4 R: N4 q3 R# Mpassword = CEILOMETER_PASSWORD0 k2 ~( K/ V9 ~; ^
service_token_roles_required = True
$ J- ?" | j* c* H e' D
9 @: n8 X" F: W3 O4 t[service_credentials]
6 W) d; y! F" T1 `! X: e8 Tauth_type = password1 _6 B1 O: \, ~' _0 K4 G
auth_url = http://controller:5000/v3" g1 R. J8 }; j& [8 |
project_domain_name = default# t* f9 \# f* y
user_domain_name = default
2 P4 d) R# O; H3 N7 I1 Q4 @2 t+ tproject_name = service
5 q3 ^% s- s) G# gusername = ceilometer+ e0 Y( S3 {- J
password = CEILOMETER_PASSWORD5 o6 \' w1 z/ C( F
interface = internalURL- {5 T) Y! n" X: ]2 @5 R9 m
region_name = RegionOne. X( s8 I y. ~+ d7 G7 u2 N" _
| - a& v2 O. X, w. F
3. 新建 /etc/httpd/conf.d/10-ceilometer_wsgi.conf 文件,加入以下内容复制# vim /etc/httpd/conf.d/10-ceilometer_wsgi.conf' B& |0 M+ g6 Q6 D, R! \ ]: J4 |
1 Z7 J% a. l0 x( u& l6 f8 v# U: T, C
Listen 8777
+ X1 Y6 ?1 M# C. M% `9 R, A# D: D) o K+ z( i: G4 `6 T
<VirtualHost *:8777>
) W# r6 @6 Z& ^ R8 ~* Q! \0 B ServerName controller
{+ a8 I3 y$ M' d! V( ^( n* x
* c6 z+ R4 `& q, t ## Vhost docroot
) i$ g8 \- H9 B! @; w6 E! T DocumentRoot "/var/www/cgi-bin/ceilometer"
) u5 i) R$ p ?0 }2 }8 N2 j4 e+ _3 ^4 g
## Directories, there should at least be a declaration for /var/www/cgi-bin/ceilometer
# j5 ^: u6 d7 o0 w4 M- r
7 p5 g6 u' h5 Z# g/ D$ d$ a, K <Directory "/var/www/cgi-bin/ceilometer">
6 g* |1 y% ^& e0 }2 ` Options Indexes FollowSymLinks MultiViews
, E, M7 E8 w* i) P) ^& z9 Q AllowOverride None
; k+ Q9 K, P# I+ Z3 R. J- W Require all granted' [+ y$ } |: e) Z6 Y
</Directory>& m. [) y2 V; x& I
; j9 A$ P! A( _7 m" G/ p. J' M k
## Logging
/ I9 A- a; t( D2 \ ErrorLog "/var/log/httpd/ceilometer_wsgi_error.log"7 S$ k/ s, M7 Z4 l' I7 {" \
ServerSignature Off / A. u4 x0 C4 q3 n2 K4 k
CustomLog "/var/log/httpd/ceilometer_wsgi_access.log" combined 2 E* C' K0 C& v. T* d2 C2 ]
SetEnvIf X-Forwarded-Proto https HTTPS=1
# i k, z. m% [0 f% v0 K* V WSGIApplicationGroup %{GLOBAL}/ X6 K' Q2 Y' {! N5 [
WSGIDaemonProcess ceilometer display-name=ceilometer_wsgi group=ceilometer processes=1 threads=2 user=ceilometer8 M4 f6 ^( D" I! u: d# f1 Q
WSGIProcessGroup ceilometer$ c: e& |% K" x6 n8 S" j
WSGIScriptAlias / "/var/www/cgi-bin/ceilometer/app": m6 Y2 M/ b8 g5 B9 [
</VirtualHost>
0 c/ |7 }& r3 O0 I, }) h k$ n | , O* A6 U5 o- m* x9 [
4. 复制 app.wsgi复制# mkdir /var/www/cgi-bin/ceilometer/2 `* z9 m' T7 B
# cp /usr/lib/python2.7/site-packages/ceilometer/api/app.wsgi /var/www/cgi-bin/ceilometer/app
( B) y' a2 {1 {+ }8 |# chown -R ceilometer.ceilometer /var/www/cgi-bin/ceilometer/
6 x9 c& E- n1 s* s& D5 X) h% E9 Q |
! ]1 P' E0 G' U/ @- 运行一下命令在gnocchi中创建ceilometer的资源复制
# ceilometer-upgrade --skip-metering-database' w/ }; g! ]0 T7 d& K, g$ f) O1 ~
| + k: N \- N% V7 m5 W
; c6 E9 e! r! |2 X 完成安装1. 重启 httpd 以加载 ceilometer复制# systemctl restart httpd
* J( Q/ I& ]0 g( N0 _ | 3 E9 L: C9 R: l4 @
2. 启动服务并设置开机自启复制# systemctl enable openstack-ceilometer-notification.service \
( l* m$ R; D# D* j u0 c openstack-ceilometer-central.service \3 d! {/ b% v7 S: l: K
openstack-ceilometer-collector.service- `) j$ e1 N6 E4 c
# systemctl start openstack-ceilometer-notification.service \
( g( T9 B: K4 A openstack-ceilometer-central.service \
Z( X( V+ P) a" e8 N3 ~; x# z* B4 j openstack-ceilometer-collector.service
' Q8 P; `" A- e5 p% V0 q | 6 R5 W& w- L" [ e1 p4 L
安装和配置计算节点 (计算节点)安装并配置组件1. 安装软件包复制# yum install openstack-ceilometer-compute python2-wsme2 J; J" \' A' ]6 I- k# F; u
|
* M; |$ Q6 K/ q5 a8 i; a2 s2. 编辑 /etc/ceilometer/ceilometer.conf 文件加入已下内容复制# vim /etc/ceilometer/ceilometer.conf
6 X2 L0 i _$ M* y5 n0 b `2 m[DEFAULT]6 ?( n3 }# `! s6 Y( S7 q
transport_url = rabbit://openstack:root1234@controller) {2 H2 N5 L5 @4 n* ?& u5 _
auth_strategy = keystone
7 }' d X2 p/ d1 _5 D# O
1 ^+ H# E$ p- [9 @) @[keystone_authtoken]; q1 h& m, ?- G8 H$ j4 l
auth_uri = http://controller:5000# K3 x$ i3 V3 S1 k" ^. r
auth_url = http://controller:35357
; v) I# G! A) E7 O7 W) a: Kmemcached_servers = controller01:11211,controller02:11211,controller03:11211 L! W1 s/ j& K. f) ]7 A
auth_type = password- {7 e+ I2 z* j* a' h( S
project_domain_name = default0 M1 k5 i) X6 W) a, @5 H. L
user_domain_name = default
, b) `% t7 w$ D* n6 l: X$ ?: T+ Uproject_name = service8 i. }& w' o$ j1 |
username = ceilometer- v4 c) T) L3 \4 N& ~/ i
password = CEILOMETER_PASSWORD% B) n- U' L9 f. j
( l* b1 R; z! {$ Q7 h[service_credentials]$ S0 `& e' r! F `4 K( J
auth_url = http://controller:5000# k/ n$ c0 G' t% v7 Z$ J6 j4 Z
project_domain_id = default
+ |0 k) e/ h* Y! zuser_domain_id = default
/ m; P7 y+ H" j7 Jauth_type = password$ [6 x' E6 E/ e% R# E$ T; d8 H
username = ceilometer8 z- c; f* ~: b5 q' Q; e, o
project_name = service
2 p, G Y2 ^9 j/ Tpassword = CEILOMETER_PASSWORD8 ?: O1 a. N; ^" G+ [) O& ~) Q
interface = internalURL
9 @8 e L+ C5 a- O' oregion_name = RegionOne
/ |, I4 Q& F2 L1 H, S( n |
6 H2 P" N/ H% t- Y1 M% `* o8 L配置计算节点使用Telemetry编辑 /etc/nova/nova.conf 加入以下内容, F1 B( B2 q" S6 T) e+ h+ ^5 Y7 J
复制# vim /etc/nova/nova.conf
2 D" I8 |% m s+ X! P1 M6 O[DEFAULT]
1 R! J1 ?# m3 S- Y1 L5 Kinstance_usage_audit = True) N- A- [# M. D/ O
instance_usage_audit_period = hour' N3 D% a' I/ Y
notify_on_state_change = vm_and_task_state
, n, v9 R2 Q! D! y% e0 z5 D) K% t3 f4 n2 [
[oslo_messaging_notifications]
" m- d: O* E6 r hdriver = messagingv27 j2 _$ m2 b7 r: ~9 {& N
| , j5 P: C D" I' a2 m
( o& D* ^# M2 ^" h7 f* M- {( r+ ]
完成安装1. 启动agent并设置开机自启复制# systemctl enable openstack-ceilometer-compute.service
+ k8 M1 k: R$ a* A; f# systemctl start openstack-ceilometer-compute.service' O5 _% l8 v" J
| ; u( ?4 I3 ?* W
2. 重启计算服务复制# systemctl restart openstack-nova-compute.service
* k- f5 Y0 k. v | 3 U, E8 Z* l+ w2 A4 I- H- p$ n( ~
配置 opesntack 服务以支持ceilometer (控制节点)Cinder1. 配置cinder使用telemetry编辑/etc/cinder/cinder.conf文件加入以下内容0 g4 b8 V/ V3 c5 u
复制[oslo_messaging_notifications]
* Z9 ?, q5 v9 u. j2 e' Vdriver = messagingv2
( I; s5 t. z# y$ s* O: y* J | 7 ?" x7 L/ r' z, f ~) C+ t4 p, A# g
" }) @. q) n) Y
2. 通过定时任务获取阶段性的通知,例如没5分钟执行一次复制# crontab -e
! c, `* E7 m m, b' G M: S' G- q# k7 s% w% W: G) X' x" r' e
*/5 * * * * /usr/bin/cinder-volume-usage-audit --send_actions
% R5 ^7 ^ \; K! E' p2 s2 _ |
! p5 o: p3 \3 V3. 重启服务复制# systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service openstack-cinder-volume.service
; `' S9 o, }2 T4 [8 n | 4 t+ \3 R& [: ^7 o, j6 o
Glance1. 配置镜像服务使用telemetry编辑/etc/glance/glance-api.conf 和 /etc/glance/glance-registry.conf" z1 M8 m% |- V
复制[DEFAULT]
; H; r# Y5 a" ?1 Utransport_url = rabbit://openstack:root1234@controller6 a2 c# W$ C. m3 j/ U7 J) \
4 l9 g/ e8 q+ x0 O[oslo_messaging_notifications]" ?! d/ h$ V1 H: s
driver = messagingv2; I8 ]5 k% Q0 A
| ! @/ z% z1 Q* n1 ]+ a, q+ u
) M% C; y9 ~6 J8 c
2. 重启服务复制# systemctl restart openstack-glance-api.service openstack-glance-registry.service7 H( V& y) x! Q1 J
| 2 l/ N% T: Z/ W6 Y7 D. |
Neutron1. 配置网络服务使用telemetry编辑 /etc/neutron/neutron.conf 文件加入以下内容
& `; P' @) i' I4 y; c% M 复制[oslo_messaging_notifications]
9 ?3 t, W% k2 V- g% W, V8 c7 ^driver = messagingv2) U7 m! d% m( t' }! X P1 O8 Z# G' \
| : n" V& R- v8 J% u" B
. Y; E# K% }$ S- a6 ]" ~2 [2. 重启服务复制# systemctl restart neutron-server.service
2 ?5 K. I- h+ U1 l7 Q" I, `3 [ | ! f5 k) V- d# {; r) _9 h s& F
3 M! Y, O0 h- A7 h0 k, S8 X& V+ Y8 o( s |