安装Gnocchi先决条件1. 完成以下步骤,创建数据库2. 加载 admin 用户认证文件复制$ . admin-openrc, P, ~) k: U! N9 }* k4 g
| b/ e1 b( l/ s% N% ]) h1 X) o
3. 完成以下步骤创建服务认证- 创建 gnocchi 服务API endpoints复制
$ openstack endpoint create --region RegionOne metric public http://controller:8041, u. y1 L( O8 q4 [3 b0 R" o+ c" m
$ openstack endpoint create --region RegionOne metric internal http://controller:80412 s5 D. ]) w. x8 z! ?: @+ d3 k
$ openstack endpoint create --region RegionOne metric admin http://controller:80419 B* [& w, S$ u! v& J0 d
|
- \8 B1 M" g# T6 ]# B) _/ i) t
' i3 q, M! N# k% v 安装和配置组件1. 安装软件包复制# yum install openstack-gnocchi-api openstack-gnocchi-metricd python2-gnocchiclient -y6 n, }5 w; Z E w# t; y ~0 J
| ( }2 ]* N+ ]2 g0 Q- j( p4 d& A
2. 编辑 /etc/gnocchi/gnocchi.conf 文件加入以下内容复制# /etc/gnocchi/gnocchi.conf
, F6 w- G% ]5 _7 }
% F( J7 j- \0 X2 G- H[DEFAULT]2 V! |* X) q, q7 R/ }, } y3 Q
log_dir = /var/log/gnocchi) v1 M) N- ~. M; J/ D2 `. [+ r
5 |( C# z/ A9 R[api]2 ]" B* a& {6 K `4 [4 z
auth_mode = keystone
+ H* Q, h; W8 W# D+ t
. d7 ^* `/ @; f: }& Z' V[indexer]% o/ E; n9 U9 a% N' o+ n' |
url = mysql+pymysql://gnocchi:GNOCCHI_DBPASS@controller/gnocchi
# k4 _- u0 O: @! m0 b( E- f& }" J
3 s: L( E: D3 B[storage] b( Z5 e8 f/ Y- X
driver = file; ]. [! t3 ^" U7 D- h; h. _9 N
file_basepath = /var/lib/gnocchi
3 c1 W" L* }+ N' r
! U( n' I9 Z& f4 v% z' _% B4 j[keystone_authtoken]. x6 _8 s9 m( z1 o+ x
auth_uri = http://controller:5000
) B0 h/ c2 J) r4 rauth_url = http://controller:35357
$ S' w0 i- B; u- H2 d* R. K, e# {; }memcached_servers = controller:11211
3 m" P# \; p j5 E% wauth_type = password( o9 ~# e) N. d! r r$ F
project_domain_name = default- U/ w( C. v7 [7 |8 f0 ?
user_domain_name = default
/ R9 p4 O& G, u" Tproject_name = service
/ x2 ^5 g/ F" Z/ f+ Nusername = gnocchi/ ^9 n- E4 z. @$ f0 B; V
password = GNOCCHI_PASS
0 F( U4 F4 [( O+ Q, b6 R* ^ | * T) W$ N8 m' t: I
3. 新建 10-gnocchi_wsgi.conf 文件,加入以下内容复制# vim /etc/httpd/conf.d/10-gnocchi_wsgi.conf
5 M7 `- S; I9 Y( ^, _
, O# I9 `" \% r9 pListen 8041 N3 x4 k: q8 w- a; @; J/ z
( N# D+ s; E, b [& `( g& i<VirtualHost *:8041>
( X4 S, R! \' E" u ServerName controller
" p2 a; w# H7 l9 y
5 D! W& O$ [5 E% R# ?2 a: k ## Vhost docroot
6 H6 ^0 a2 M. f& u' [/ N5 O+ T& M+ u DocumentRoot "/var/www/cgi-bin/gnocchi"
& g1 A. }& ^; U4 @$ I+ W% q7 g1 Y8 m$ {, |$ f, u
## Directories, there should at least be a declaration for /var/www/cgi-bin/gnocchi9 g9 F( u3 w1 n3 N; c/ V4 N- u
! R( n; u8 P. a <Directory "/var/www/cgi-bin/gnocchi">$ |, b: {/ K% P6 h- e
Options Indexes FollowSymLinks MultiViews
* q7 J* z6 ~6 g4 O V+ n AllowOverride None
, I2 l, T. H5 {( s Require all granted! w6 Y; V1 e% d
</Directory>
+ H4 w$ `1 N: p6 X8 o6 A9 J* P9 x) L/ Q+ ?4 | y- A3 D
## Logging
; B6 T2 y w; e0 q$ X ErrorLog "/var/log/httpd/gnocchi_wsgi_error.log"
( l4 K' X1 g/ q ServerSignature Off' j9 e! {( g( y) l; W
CustomLog "/var/log/httpd/gnocchi_wsgi_access.log" combined
; X& {, P0 A% M8 n5 N1 R5 P( Z SetEnvIf X-Forwarded-Proto https HTTPS=1' a7 A' ]8 C. r2 w6 N
WSGIApplicationGroup %{GLOBAL}/ V9 ^/ c r. w
WSGIDaemonProcess gnocchi display-name=gnocchi_wsgi group=gnocchi processes=8 threads=8 user=gnocchi
+ @2 p3 Q; N8 i) ~# O WSGIProcessGroup gnocchi1 |0 R6 f' T* Q& L! n5 t
WSGIScriptAlias / "/var/www/cgi-bin/gnocchi/app"9 k" _/ A% I4 R4 ^, U! W4 ]6 I
</VirtualHost>6 Q% G) a2 r. x
| # L3 E8 d* s' B' R2 G' ?
4. 复制 app.wsgi复制# mkdir /var/www/cgi-bin/gnocchi/' p3 {0 u8 f5 r. R# X9 B
# cp /usr/lib/python2.7/site-packages/gnocchi/rest/app.wsgi /var/www/cgi-bin/gnocchi/app
n# x/ v/ _' B9 J9 M, J5 T, x# chown -R gnocchi.gnocchi /var/www/cgi-bin/gnocchi
" b* H$ {# G7 b! w5 T+ a" g |
) q2 Z/ P- c, z! _. K" q# p5. 完成安装1. 初始化数据库复制# su -s /bin/bash gnocchi -c "gnocchi-upgrade") T* J7 |, S% L3 m$ E3 T
| ! D& P4 B; l1 H( u8 X
2. 重启 httpd 以加载 gnocchi复制# systemctl restart httpd
$ g a# x: B! C, E/ h) q |
6 u: f9 L$ Y3 i3 m3 n3. 启动服务并设置开机自启复制# systemctl enable openstack-gnocchi-metricd 6 N$ W! j5 Q$ c9 e: o
# systemctl start openstack-gnocchi-metricd9 \" ~' B3 w+ ~4 q7 A
|
: o: s4 T# T, A7 R% Y# Z/ @0 ] ^Telemetry 服务Aodh 服务 (ceilometer节点)先决条件1. 完成以下步骤,创建数据库2. 加载 admin 用户认证文件复制$ . admin-openrc8 H6 [ {; u. t4 ~
|
2 ]" G/ R: \. j- Q. l( c2 W3. 完成一下步骤创建服务认证- 创建告警服务API endpoints复制
$ openstack endpoint create --region RegionOne alarming public http://controller:8042) k; k& d2 P- L# N
$ openstack endpoint create --region RegionOne alarming internal http://controller:8042
5 G3 e1 p; e7 _ u6 @$ openstack endpoint create --region RegionOne alarming admin http://controller:8042; m0 \4 @- G3 J5 z
| / A; t1 T- k6 E# ~3 ^
. A4 K6 g8 h, v2 V- D4 D. J, c
安装和配置组件1. 安装软件包复制# yum install openstack-aodh-api \! ^! u5 H- B" F! m$ d
openstack-aodh-evaluator openstack-aodh-notifier \( G1 f9 J8 Q4 P4 m, j6 {
openstack-aodh-listener openstack-aodh-expirer \6 d+ A4 u2 G6 A3 P- r. w
python-aodhclient -y
( m( n0 z/ ~+ p3 a. A |
! j$ z3 o& g: O6 x3 t! l) w& m2. 编辑 /etc/aodh/aodh.conf 文件加入以下内容复制# vim /etc/aodh/aodh.conf7 ]0 m( z1 ^9 e9 e1 @" i. E6 D1 I
. j7 |. s3 \! L. A5 l4 n[DEFAULT]8 I; T$ E; s1 q) D9 S. T
transport_url = rabbit://openstack:root1234@controller! d. ?/ C, ^1 W! T3 {* ]
auth_strategy = keystone% P1 {+ d! s$ l
2 ]" U% o8 O4 f4 E& W" x* V[database]5 W" Q6 t; Z8 O6 z0 g6 `
connection = mysql+pymysql://aodh:AODH_DBPASSWORD@controller/aodh. W$ M! j$ N! o- k% P* g$ P
' C' `2 G1 G& W4 \" p M
[keystone_authtoken]
2 f; L$ j4 c+ l- Y, m; \& q6 ]auth_uri = http://controller:50008 ~- Z/ x0 \& E& r6 L' I1 U
auth_url = http://controller:353571 X# }) v9 G: e' ~
memcached_servers = controller:112117 T) D: U" E/ ]# @! K
auth_type = password7 z& ]1 N y& N6 a1 K4 G; b1 i# p
project_domain_name = default
0 D) n3 [. z, u8 ]$ Juser_domain_name = default
, J( V: Z9 |- f" s5 s6 w- o7 N3 ^; nproject_name = service6 ]# P9 {' N0 Q& F
username = aodh+ H9 a' Y" v8 ~& H, i/ ^1 M9 h$ u
password = AODH_PASSWORD6 X% {' n8 W* z1 C
0 T+ ?1 ]0 z+ m# } H& U( m5 ~0 }+ S[service_credentials]
3 l' y& g5 {. qauth_type = password
- T& Y- O: V4 s1 U0 q' Cauth_url = http://controller:5000/v37 W4 q# D( d! c- X1 ~3 {
project_domain_name = default
) e* |( H7 t |% T! q0 Nuser_domain_name = default3 Q/ H4 m6 B: N% H
project_name = service
% H0 t0 s5 i" c. }) e% Kusername = aodh) U$ |9 j" F( s* c( W; g& F+ d
password = AODH_PASSWORD2 ?$ K& A1 j0 T5 y; `; L
interface = internalURL
$ A, Q$ a2 C3 K O! G5 zregion_name = RegionOne* t4 I: l; m- o
| ) R, R+ n5 ? W- J9 B& v
3. 新建 /etc/httpd/conf.d/10-aodh_wsgi.conf 文件,加入以下内容复制# vim /etc/httpd/conf.d/10-aodh_wsgi.conf
M: X: S# W8 h& V5 W6 V. i
, m ]2 B, z$ P+ f# @Listen 8042$ {( b+ d" j9 A9 f
- F2 d9 H4 D8 V' _" N+ y+ P& m8 U e<VirtualHost *:8042>) \& m U! Q9 ]3 Z$ a7 Z$ G. K# k; E7 g
ServerName controller; y* S' v+ I# A- g, c
2 k, }, R/ m* R2 b2 g2 d. S- E3 e+ U( Y ## Vhost docroot$ l7 E( N- b" f4 g" i0 d$ i: o( w
DocumentRoot "/var/www/cgi-bin/aodh"' H+ b0 y3 A2 ^: [. w$ j5 A
* c# u9 s6 K- i8 g2 c; ]# ^ ## Directories, there should at least be a declaration for /var/www/cgi-bin/aodh" e& E b, e8 J0 M6 b3 _
& A2 d, g1 Q- G <Directory "/var/www/cgi-bin/aodh">
' o E2 S, t& }6 B Options Indexes FollowSymLinks MultiViews
$ Q" c3 |9 B: G1 @' }: W' o2 y AllowOverride None I" u2 Y) S0 ?7 G+ F
Require all granted
' i8 W% N D1 @ </Directory>+ m: v# L0 F' ^/ m3 v. U) f
( ?/ _. b6 E0 v7 r% D7 Q
## Logging6 v0 \: b1 a7 V- J, G
ErrorLog "/var/log/httpd/aodh_wsgi_error.log"
, n$ V3 |% v# Q4 m- w; Z$ S ServerSignature Off
9 @' }) h* T3 [* _ CustomLog "/var/log/httpd/aodh_wsgi_access.log" combined 5 s% O. a! T7 _8 [- [
SetEnvIf X-Forwarded-Proto https HTTPS=1
; U* I) y8 ]: n" r9 m9 C WSGIApplicationGroup %{GLOBAL}
+ i3 F0 }9 S: s2 h WSGIDaemonProcess aodh display-name=aodh_wsgi group=aodh processes=2 threads=2 user=aodh
1 u+ Y( K1 L- |: d2 F L1 @) d WSGIProcessGroup aodh
: K3 ~% n( S. f# c4 B WSGIScriptAlias / "/var/www/cgi-bin/aodh/app"
, j/ X8 ~" b4 e8 V! A" f</VirtualHost>& p2 V; t8 j8 A; y
| & f2 J, G$ m. E5 g
4. 复制 app.wsgi复制# mkdir /var/www/cgi-bin/aodh/
$ F l" k; \5 o+ b# cp /usr/lib/python2.7/site-packages/aodh/api/app.wsgi /var/www/cgi-bin/aodh/app i# @, L# _ ~0 e# m- R
# chown -R aodh.aodh /var/www/cgi-bin/aodh
( ?$ I' p2 y# s* C | ' C7 H0 v8 U' j+ H/ |- D! U
完成安装1. 初始化数据库(仅当使用 SQL 数据库的时候才需要初始化)复制# aodh-dbsync( O' ^5 T, ^; w2 f
|
. B5 r' z# Z% d5 R; d! i2. 重启 httpd 以加载 aodh复制# systemctl restart httpd2 g y6 }3 x O/ Y8 A! \6 m; M
|
: j* t4 B, W# f6 }, r5 n4 y3. 启动服务并设置开机自启(任一控制节点执行)复制# systemctl enable openstack-aodh-evaluator.service openstack-aodh-notifier.service openstack-aodh-listener.service B7 e- k2 a( E5 q& `$ t% w
# systemctl start openstack-aodh-evaluator.service openstack-aodh-notifier.service openstack-aodh-listener.service- @) m# A# k9 M" i. |% P) w
|
1 f- a. ?2 y; FPanko 服务 (ceilometer节点)先决条件1. 完成以下步骤,创建数据库2. 加载 admin 用户认证文件复制$ . admin-openrc
$ N- D C' n# T+ V+ m, x L0 ? |
7 O$ U& @+ W+ ^( e7 {3. 完成一下步骤创建服务认证4. 创建Event服务API endpoints复制$ openstack endpoint create --region RegionOne event public http://controller:8779+ E5 k8 u/ q5 t5 C7 ^8 P& ^4 \
$ openstack endpoint create --region RegionOne event internal http://controller:8779% g+ q: l* _4 U4 v$ k! {
$ openstack endpoint create --region RegionOne event admin http://controller:8779
% h: F" \, R1 l3 U& d |
! m5 d- o5 S9 q3 W; V安装和配置组件1. 安装软件包复制# yum install openstack-panko-api openstack-panko-common -y
. m6 s- k8 y! t6 D# ] | 1 W/ U7 Q. {0 s
2. 编辑 /etc/panko/panko.conf 文件加入以下内容复制# vim /etc/panko/panko.conf% M( e% h- ?# E
/ i8 Y% a( m: U s3 E7 i
[DEFAULT]
! I9 t ^( n$ T1 Z# R% n2 {& h/ tauth_strategy = keystone v9 w) M2 I( l7 e1 c8 g& k
log_file = /var/log/panko/panko.log8 c0 w$ [5 L1 R/ g/ m8 g9 b! d
log_dir = /var/log/panko5 m3 Z+ z( [/ M. c% \, J
. n8 e% T$ N) |0 @3 u
[api], @' T) @) B, y8 y; [* K) |0 x" V
host=0.0.0.02 s. C* q9 d% g2 v! S
port=8779' v& @( G( {9 A7 K
workers=2
8 k1 e5 u$ m" ]' g4 W: }max_limit=1000
) B' m; s" G" n) k
/ A1 A& H0 F8 r7 |0 q Y2 r* q[database]) u* n+ @1 c) Q! m% y+ e8 b# N3 |2 b
connection = mysql+pymysql://panko:PANKO_DBPASSWORD@controller/panko, b5 W1 F. g0 X* l5 k; Z
" g0 d" h$ D9 T. z) d* h
[keystone_authtoken]
( H2 V) D; w& ?8 t% y8 Lauth_uri = http://controller:5000
; t( o0 U) t9 l" @auth_url = http://controller:353570 j/ S- n' c/ @ e
memcached_servers = controller% c! i& m! |! `5 x4 K3 e1 ^
auth_type = password% K3 j; v0 |+ B" ^" _% M
project_domain_name = default" M/ M) _# R' P+ u; p$ h g
user_domain_name = default1 p: {- y1 J* B. j, Y
project_name = service
/ S$ m$ y' u( yusername = panko5 K1 |, q0 C6 q J1 G8 u7 }' `
password = PANKO_PASSWORD
& i' ^* s$ f! Z1 I/ U | m* ~' C& z! w. ~
3. 新建 vim /etc/httpd/conf.d/10-panko_wsgi.conf 文件,加入以下内容复制Listen 8779
|. T# }- K7 u6 L! B3 U" d8 D; ]( }/ o" j
<VirtualHost *:8779>
3 A; p" [8 a: t2 K$ \& P ServerName controller" W9 v( } `7 G* p0 R* `. Y1 z
0 _- k4 e3 L; ~& V- b9 C ## Vhost docroot3 s8 o! t! i) Q6 P
DocumentRoot "/var/www/cgi-bin/panko"8 w1 c- O+ D* s: h
% `6 Y* r( R2 B4 x) f ## Directories, there should at least be a declaration for /var/www/cgi-bin/panko. [" Y' H# C( C9 N/ B1 M+ l; w
0 ?/ `' ^9 L8 l1 G
<Directory "/var/www/cgi-bin/panko">1 B+ _+ p2 }# t$ g5 k8 k# G
Options Indexes FollowSymLinks MultiViews
% e3 {. b V# a( b3 u AllowOverride None
6 t& L7 M7 k* d) m! l Require all granted, b) \2 m: N7 w3 F$ F
</Directory>
2 }' i% x/ g- O/ ?! }. L7 b) {
$ i! ~9 @2 F4 l ## Logging& T7 Z, s; e( f: a
ErrorLog "/var/log/httpd/panko_wsgi_error.log"
/ @& a. O1 K6 ^ ServerSignature Off 4 }' H6 ^1 V5 z
CustomLog "/var/log/httpd/panko_wsgi_access.log" combined 4 J+ a$ _( e$ ?0 l: |7 }( O
SetEnvIf X-Forwarded-Proto https HTTPS=1; R* H$ _3 X2 z. F
WSGIApplicationGroup %{GLOBAL}
4 H1 ]% j3 \% m( w- B" F% l5 L* l WSGIDaemonProcess panko display-name=panko_wsgi group=panko processes=2 threads=2 user=panko
+ D! U1 T4 Y& w4 S6 f WSGIProcessGroup panko8 o/ a+ C/ n$ U* _
WSGIScriptAlias / "/var/www/cgi-bin/panko/app"# R. y. }3 h/ L; Y5 c: `! a6 W2 I
</VirtualHost>
8 q) U. u8 n4 S, l, b |
) d% P) M# X1 }7 _4 s4. 复制 app.wsgi复制# mkdir /var/www/cgi-bin/panko/
" [: x2 E6 k6 c; f: g# cp /usr/lib/python2.7/site-packages/panko/api/app.wsgi /var/www/cgi-bin/panko/app
% v4 w* E& U9 T: \; u* y# chown -R panko.panko /var/www/cgi-bin/panko/
7 I+ T$ V! E( h | 3 t! x, O$ V- t* c2 @
5. 初始化数据复制# /usr/bin/panko-dbsync* s: V* U! |: y
| p" ~# b" z9 y" k9 N" _7 _ f
完成安装重启 httpd 以加载 panko
; K m; f7 B7 g) d+ u/ V' r( |+ b 复制# systemctl restart httpd
+ m1 q/ Y: m& a1 Y2 o |
( m7 T0 [; P! C3 D1 n
* M3 T/ G% M/ g, R. c9 }3 G; hCeilometer服务安装和配置控制节点 (ceilometer节点)Ceilometer先决条件1. 加载 admin 认证文件复制$ . admin-openrc" i$ ~7 s u' n
| # J& H( E6 R6 V) f l) v0 g* o# @
2. 创建服务认证,完成以下步骤安装并配置组件1. 安装软件包复制# yum install openstack-ceilometer-api \/ X; h' Q4 Z/ P2 r
openstack-ceilometer-collector openstack-ceilometer-notification \ t" ?' X( I, F" x
openstack-ceilometer-central python-ceilometerclient -y* C) {4 |+ G* C; i( h
|
9 m% A1 O, T$ o. W$ z2. 编辑 /etc/ceilometer/ceilometer.conf 文件加入以下内容复制# vim /etc/ceilometer/ceilometer.conf/ {7 h: V8 Z s
[DEFAULT]8 K. X; S6 O) x* v0 C
transport_url = rabbit://openstack:root1234@controller; Q6 P' {0 c5 ?1 ] @) O5 X4 A
auth_strategy = keystone
5 N; t4 a# `7 f% s5 Vmeter_dispatchers=gnocchi4 ~$ P: j3 a6 p8 }- ? B) p! I
event_dispatchers=gnocchi1 H8 v/ a A: \. `' m
- R! A5 C+ f& c; a' p1 g
[dispatcher_gnocchi]+ T, {- S6 v. w( L/ b- r. H
filter_service_activity = False
$ i6 q5 d& X3 J9 Varchive_policy = high9 U2 x9 {. W1 B
resources_definition_file=gnocchi_resources.yaml: Q7 o, _, J4 `7 K* ~2 E8 |
url=http://controller:8041. W& s: ]# Q2 h# A1 e
+ H" I: Z! t. e4 g" @/ D[keystone_authtoken]& c! c9 y$ }( A. a! J* I
auth_uri = http://controller:50006 z" V& L' V% \0 q$ D# u1 w/ j% X
auth_url = http://controller:35357, M1 c6 L/ h' u p+ B
memcached_servers = controller5 ]( o' c0 c7 d' X# ^7 k
auth_type = password. G( Z0 [' o/ T. E" [
project_domain_name = default+ `2 r. J8 G- X5 R) a4 C
user_domain_name = default J* U' n( O+ f" {, r( O
project_name = service+ {, V" T: G; j0 k
username = ceilometer
, T, A+ n# s% x" F! ppassword = CEILOMETER_PASSWORD! [8 j$ y6 x4 c$ \
service_token_roles_required = True% q3 ]8 l) q. S* A9 z( T7 s
6 ^' g8 I1 k+ }4 E9 x
[service_credentials]
- U d: S( c+ i/ h4 _, t0 ]auth_type = password
$ r9 }0 ]" y! {9 i) o5 P$ vauth_url = http://controller:5000/v3
E& X/ f. {/ F; |. a( Lproject_domain_name = default% i! {+ M, i8 C& G+ G7 x+ m/ j! D
user_domain_name = default# a% E* i% i3 c! a
project_name = service
% l. |) M% K$ ~6 i1 ]3 wusername = ceilometer) w2 f" c# U( S/ y% i& X2 a
password = CEILOMETER_PASSWORD
: L5 o# I8 I8 z2 b o. xinterface = internalURL1 v: ]3 p8 ]" H$ E$ L: W6 e) S
region_name = RegionOne$ `. N; h7 m$ L Q
|
, q. @) c2 N6 @' T0 K N8 d" ]3. 新建 /etc/httpd/conf.d/10-ceilometer_wsgi.conf 文件,加入以下内容复制# vim /etc/httpd/conf.d/10-ceilometer_wsgi.conf& E" u* z9 F- r
( ?& x2 H: Q0 ]; K$ D7 q
Listen 8777( z3 p' \: L1 i8 T
. [# W) p& x6 R# T. O5 F$ S5 s<VirtualHost *:8777>
' e0 S2 B: k! x. ]1 b ServerName controller
3 o( ~3 N5 S' V8 N& W7 K) V6 G4 t$ S1 _: ?
## Vhost docroot
- L! y0 S! Z: V DocumentRoot "/var/www/cgi-bin/ceilometer"
! m+ `& t2 @: i4 O5 M9 K1 [" T' b! j9 z; ~& |& e8 y1 R/ Y# ?
## Directories, there should at least be a declaration for /var/www/cgi-bin/ceilometer* ^2 p. \" u5 ?! Z5 m/ c
: R* Q* [9 ^' ^" P" f
<Directory "/var/www/cgi-bin/ceilometer">; h _! d" {% A9 V# @
Options Indexes FollowSymLinks MultiViews
' ^0 I: A+ N5 h" F AllowOverride None! }# W7 j; t: Z4 e4 g9 b6 Q
Require all granted, ^6 a+ [% z5 ^0 L# U B0 \
</Directory>3 o- ], U, a$ Q! E9 q9 K6 R/ d4 m
. ^5 M. D3 D3 X8 ~+ _( ]: ~% w
## Logging
3 L1 g; b" Y+ B$ G9 k* T4 i ErrorLog "/var/log/httpd/ceilometer_wsgi_error.log"" Y8 _+ U2 b7 O3 L2 J. ]' j+ T8 g
ServerSignature Off
4 j- p5 m" ]$ r! {! n CustomLog "/var/log/httpd/ceilometer_wsgi_access.log" combined
1 N5 J% v* E7 Q( e; ~ SetEnvIf X-Forwarded-Proto https HTTPS=1
; J! ^8 ]' A" h0 O8 U% } |4 m3 A WSGIApplicationGroup %{GLOBAL}
: D3 |% Y1 o) [! \ WSGIDaemonProcess ceilometer display-name=ceilometer_wsgi group=ceilometer processes=1 threads=2 user=ceilometer
( F b2 [- } N# Z7 s WSGIProcessGroup ceilometer
+ E" | t/ ^; E( Y WSGIScriptAlias / "/var/www/cgi-bin/ceilometer/app": z2 u% }8 p% g; U4 X/ w0 ]6 M
</VirtualHost>
( ?; s7 n: C3 E }1 N6 G | / W' f# z3 t X4 D1 j
4. 复制 app.wsgi复制# mkdir /var/www/cgi-bin/ceilometer/% s1 X; i- L& m) e6 I( D+ I
# cp /usr/lib/python2.7/site-packages/ceilometer/api/app.wsgi /var/www/cgi-bin/ceilometer/app
3 H+ l/ h4 D7 F% g9 i# u9 {( X# chown -R ceilometer.ceilometer /var/www/cgi-bin/ceilometer/( C( t- z- o P$ _
|
- ~, M5 f4 Q9 b# k- X- 运行一下命令在gnocchi中创建ceilometer的资源复制
# ceilometer-upgrade --skip-metering-database1 C4 {9 R* V0 e$ J
| T$ v! v' Y% @0 t' m% @% ^& [! N+ \
- F- R% p7 [( E7 f5 `, `) G+ X
完成安装1. 重启 httpd 以加载 ceilometer复制# systemctl restart httpd
; j6 V9 k; \, P, n. n, Q |
+ @ }* @4 N9 \2. 启动服务并设置开机自启复制# systemctl enable openstack-ceilometer-notification.service \
& [9 ]5 c1 R# h! y& @! k1 Z openstack-ceilometer-central.service \
# T# ^0 P+ R" U6 t openstack-ceilometer-collector.service# S' W2 m8 r: @; y2 d
# systemctl start openstack-ceilometer-notification.service \3 P8 ~4 u7 } P2 }0 i/ }
openstack-ceilometer-central.service \
) t) M( q1 s- ?1 x openstack-ceilometer-collector.service
0 b$ ?- e# |; `- F | ) f# E: y8 ?7 Z" B3 a+ |* y
安装和配置计算节点 (计算节点)安装并配置组件1. 安装软件包复制# yum install openstack-ceilometer-compute python2-wsme
' v$ b* A2 ~; z, A# s |
4 R/ S- C# X' z I0 {8 q' @2. 编辑 /etc/ceilometer/ceilometer.conf 文件加入已下内容复制# vim /etc/ceilometer/ceilometer.conf
0 v# Y8 \" o- X% U% `[DEFAULT]
1 D' Q: ?3 Z4 X2 a l0 k F' A$ Wtransport_url = rabbit://openstack:root1234@controller
0 Z- o( h! j; P9 u2 ?4 W0 T0 y& hauth_strategy = keystone
% K# N. B0 T$ J3 c) x; y3 {
. l( T* [* O# O[keystone_authtoken]
5 y7 T [7 z$ [5 hauth_uri = http://controller:5000
& F9 |6 g; S( }8 O& g# j+ dauth_url = http://controller:353579 c! G1 O2 K% A$ ^7 i
memcached_servers = controller01:11211,controller02:11211,controller03:112119 E0 q6 B9 l; e8 T3 h, h s
auth_type = password
4 P, `" K% V( b3 L. Z5 jproject_domain_name = default2 b0 z. }3 f& L. }# J# |+ V
user_domain_name = default
3 U! C( o& ~+ e( C) e3 Gproject_name = service
& E% L% C% J, K" s6 P: lusername = ceilometer
& a1 J$ T8 {# wpassword = CEILOMETER_PASSWORD7 s% t/ [& o" a! @( o2 x
7 W7 }2 S: }* o* L[service_credentials]: H+ m. H" X, M5 }5 c; C5 m0 C
auth_url = http://controller:5000
y) o7 C J+ D" Q$ c/ [5 Sproject_domain_id = default
: C# q1 w- h- M/ A' a- ?0 I+ M) [ Tuser_domain_id = default9 i, Z5 W. m. y- @2 h7 J- y
auth_type = password
$ b" N) R) m9 f, W/ zusername = ceilometer
& s3 h1 {6 Z, j& j. lproject_name = service
. ~1 Q8 H+ U* \2 Npassword = CEILOMETER_PASSWORD9 @' I0 z, E" Z( c
interface = internalURL% z5 J* W& _4 P& N) s1 Q( o2 g
region_name = RegionOne8 M8 E4 M' f# ?& z5 ]. q
| 5 x8 x9 q4 m1 U- r0 b, ~
配置计算节点使用Telemetry编辑 /etc/nova/nova.conf 加入以下内容
1 h4 \# } a0 \* N" k$ L& F 复制# vim /etc/nova/nova.conf# ~/ O6 ^$ Q4 U& ?& W4 v" i
[DEFAULT]4 f& z% X; X0 D3 Y8 u3 c1 \) G8 d
instance_usage_audit = True
: H8 g$ x c2 w9 @ d9 D, r7 @instance_usage_audit_period = hour
+ }# A3 i5 x6 E6 k' D/ G5 \8 \notify_on_state_change = vm_and_task_state
! O8 i* V: T, I1 G
, N+ H$ i3 E8 B0 R* l' z. e[oslo_messaging_notifications]
# I+ L1 I; S0 p% Qdriver = messagingv28 S6 _2 x. n% h, o4 o
|
2 i# ?7 X" M5 E
e6 Q* I3 J! T, f, |3 t完成安装1. 启动agent并设置开机自启复制# systemctl enable openstack-ceilometer-compute.service! I" e6 ?) k8 o: s0 K d( p) [
# systemctl start openstack-ceilometer-compute.service
# P8 w9 I! G4 x) c* F | . H9 ^5 u' H4 R! B9 f; n
2. 重启计算服务复制# systemctl restart openstack-nova-compute.service% v- G1 |6 o, M! n, T2 V
|
7 j4 D- M" _! b+ b0 L配置 opesntack 服务以支持ceilometer (控制节点)Cinder1. 配置cinder使用telemetry编辑/etc/cinder/cinder.conf文件加入以下内容: ]4 K& u: M2 z4 J4 q6 m- k' z# u8 B/ a
复制[oslo_messaging_notifications]
5 e; Q1 E. Z3 jdriver = messagingv2! J' W1 w% j, ?( w+ |6 K
|
8 M+ `; B2 e* |+ a( z+ c9 E' j
8 j }% r& X# r0 e% ]/ X2. 通过定时任务获取阶段性的通知,例如没5分钟执行一次复制# crontab -e
: |, {3 z0 b ~8 E9 V# z
4 u( ]( O8 r: t& {/ c* Z*/5 * * * * /usr/bin/cinder-volume-usage-audit --send_actions2 ^5 }7 i: e0 o% W
|
/ E- Q2 A- P$ m+ q. z* H3 j6 N' S3. 重启服务复制# systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service openstack-cinder-volume.service
1 X' r. a, h6 _5 X7 u% H | , E; R. M- n( U4 M% L' A1 }! E& T# z
Glance1. 配置镜像服务使用telemetry编辑/etc/glance/glance-api.conf 和 /etc/glance/glance-registry.conf( g8 B# F: F7 c+ a
复制[DEFAULT]( H9 z. T9 l3 G4 T
transport_url = rabbit://openstack:root1234@controller
( A4 i, L; K/ G
* k# R4 t# A1 W5 e1 B- i7 E+ x, b[oslo_messaging_notifications]" ?2 z' y* F; X$ D
driver = messagingv2
! @5 R t/ V7 |) | C1 N) u |
2 S6 C7 d6 ^ h2 C& I2 n7 }) n4 `# `7 G+ G# r* E1 O5 n. C3 l+ T
2. 重启服务复制# systemctl restart openstack-glance-api.service openstack-glance-registry.service4 U( `7 @; I( y' Y" D% s" ^ ^0 B
| # r) A! [) j* e/ N1 ?$ N7 ]
Neutron1. 配置网络服务使用telemetry编辑 /etc/neutron/neutron.conf 文件加入以下内容) x* u) l* m& L4 R: G
复制[oslo_messaging_notifications]
! |4 O+ H) r6 ^/ o3 A4 I- T- K$ Vdriver = messagingv2
4 w8 L* v8 Y. r+ V$ i | , t9 y0 e7 z# j& G4 p1 h
, h# F' Z' C3 C
2. 重启服务复制# systemctl restart neutron-server.service! j8 A6 S; p* p# C3 r
| ! ]' X j4 x8 r( }6 v
; Y+ U4 g" {2 _. {! L" O5 f H( }) P |