易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 4518|回复: 0
收起左侧

openstack ocata部署ceilometer+gnocchi

[复制链接]
发表于 2018-12-5 22:46:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
安装Gnocchi先决条件1. 完成以下步骤,创建数据库
  • 使用 root 用户登录数据库
    复制
    $ mysql -u root -p& w. t! G" F5 N5 K
      V6 J7 W2 l/ R6 |: S9 O& g2 k
  • 创建 gnocchi 数据库
    复制
    > CREATE DATABASE gnocchi;
    1 j. S7 {4 t! b9 h: A, L* a

    8 O5 u4 u) ?! B7 d
  • 配置 gnocchi 数据库权限(这里密码为 GNOCCHI_DBPASS,按需修改)
    复制
    > GRANT ALL PRIVILEGES ON gnocchi.* TO 'gnocchi'@'localhost' IDENTIFIED BY 'GNOCCHI_DBPASS';- X. l5 A- h0 z: w, s
    > GRANT ALL PRIVILEGES ON gnocchi.* TO 'gnocchi'@'%' IDENTIFIED BY 'GNOCCHI_DBPASS';
    5 }3 H! B, A3 m8 |4 A) p9 l$ r8 i

    8 B7 H; ~, R7 Q/ E
  • 退出数据库

    : F' E! U. Y6 V6 q( X
2. 加载 admin 用户认证文件复制
$ . admin-openrc# N9 @- b  g: `1 N/ `

& i% a9 K/ l- {6 Q: f# C3. 完成以下步骤创建服务认证
  • 创建 gnocchi 用户(用户密码为 GNOCCHI_PASS)
    复制
    $ openstack user create --domain default --password-prompt gnocchi4 v. D  G4 q. ?

    . {+ ~# C# A! Y
  • 为 gnocchi 用户增加 admin 的角色
    复制
    $ openstack role add --project service --user gnocchi admin7 p# N1 a3 i* k
    0 e" u3 _6 ?0 v
  • 创建 gnocchi 服务实体
    复制
    $ openstack service create --name gnocchi --description "Metric Service" metric
      D) R4 u4 P- r7 j+ B. y" k% P' g
    * [6 G3 g2 y4 H# N
    7 d1 b* p* ^, S& a
  • 创建 gnocchi 服务API endpoints复制
    $ openstack endpoint create --region RegionOne metric public http://controller:8041
    ( T3 N* a( n0 W) t$ openstack endpoint create --region RegionOne metric internal http://controller:8041  b# ]$ i& Y; m' B; d+ z, F
    $ openstack endpoint create --region RegionOne metric admin http://controller:80411 H7 v# t" x- K! s3 q1 s3 q- ^
    ; _5 z2 y: Q7 h7 ]; |' V8 S* m% V
    8 l0 c6 V; ]8 n8 v& m9 U, x* t7 z9 D
安装和配置组件1. 安装软件包复制
# yum install openstack-gnocchi-api openstack-gnocchi-metricd python2-gnocchiclient -y; l& s# j4 t- u

1 c  ]9 v/ `+ m. d* H& i, C$ ^6 y( y2. 编辑 /etc/gnocchi/gnocchi.conf 文件加入以下内容复制
# /etc/gnocchi/gnocchi.conf
+ D3 Y* x9 g0 @
* n" n5 ]2 {* z& }! K4 C" d+ c[DEFAULT]
. {  {" H0 [) s1 H3 |log_dir = /var/log/gnocchi3 R6 ~; i$ B: a, \' Y$ }: ]

9 X! J3 p, @9 w0 k0 d" k5 d& W[api]: J' [4 q$ o2 D' L( q1 L' O" p( ]
auth_mode = keystone
3 W7 a: K# K; C" \6 v% A  g! T1 y4 r$ K0 G0 h( V5 l; y* I
[indexer]- x7 d8 L( Y( I% J3 F! I
url = mysql+pymysql://gnocchi:GNOCCHI_DBPASS@controller/gnocchi
+ |& x& n( D$ G, g/ Y3 E' t" ~1 Y
( `0 n4 F. y7 P3 O2 s[storage]
; C% N% R+ C! V) w2 o: q+ e! Y+ r+ qdriver = file3 S/ ~& ]8 D( T8 O* G
file_basepath = /var/lib/gnocchi
1 w# w( X6 {8 Y
7 L8 v% J+ B: D& O* X% Y6 w! W% R/ ^2 Q[keystone_authtoken]
2 [4 R% i+ F8 `9 J, Iauth_uri = http://controller:5000
) Z7 }0 v8 V: r: Bauth_url = http://controller:353573 G" x: C. {* }% D; |
memcached_servers = controller:11211: M5 Y' `8 n7 L$ B+ O
auth_type = password* |+ g( j% o! ?
project_domain_name = default
: }7 F/ J- C% G( \% q! ]& Buser_domain_name = default
/ \# K, I3 x% E* i. Z4 s" _project_name = service4 x7 M4 q/ M: B$ L
username = gnocchi1 ^3 p! P: t+ W1 B. c7 b% y
password = GNOCCHI_PASS8 o0 {" x% }. Q, y0 x" C
2 s- U  b' [. a
3. 新建 10-gnocchi_wsgi.conf 文件,加入以下内容复制
# vim /etc/httpd/conf.d/10-gnocchi_wsgi.conf) q8 h; j1 S1 e# p2 O/ Q

# Y8 n: L8 M3 F" G% AListen 8041
7 S9 ~. b$ z, @, `9 A% o: I$ m2 @- S1 ]3 g% c7 h: x8 G
<VirtualHost *:8041>  W: o7 e( Q9 f- z( @, d
  ServerName controller
! D1 h. [) Z4 M5 o' W0 W  M/ ~( @2 g) J8 V
  ## Vhost docroot) d6 f; H* W( b8 X  x$ _
  DocumentRoot "/var/www/cgi-bin/gnocchi"
2 M9 a5 W1 f; L  Q! H8 x9 Z
* Q& T7 b, O' A1 G- D& a1 a  ## Directories, there should at least be a declaration for /var/www/cgi-bin/gnocchi
0 q3 X2 C# p: Q& d. D( R
0 N; u5 M+ h$ P& [: V- k  <Directory "/var/www/cgi-bin/gnocchi">( I2 L& C( E$ e- l5 H
    Options Indexes FollowSymLinks MultiViews  Q% U4 N) I9 v2 A
    AllowOverride None+ ^4 }& [3 W, h0 K
    Require all granted
; l  w9 K. d6 ~: f+ z* W: u! W+ S  </Directory>4 q: c) v' z/ O3 Q, u
+ Y5 r/ s! d9 l' x9 M& W) X
  ## Logging
# f- }. E9 _7 N8 v/ S* ~% R  ErrorLog "/var/log/httpd/gnocchi_wsgi_error.log"& A$ i! e* W; b! \# }- ?/ Y
  ServerSignature Off
( D! ?; l; L: d9 X7 i7 g% K: A) j  CustomLog "/var/log/httpd/gnocchi_wsgi_access.log" combined3 w! t/ ]2 }' r4 S5 D
  SetEnvIf X-Forwarded-Proto https HTTPS=1
( z9 h- _+ E' s/ B' ?4 ^  WSGIApplicationGroup %{GLOBAL}
% U4 D  {! g6 G* J. X  WSGIDaemonProcess gnocchi display-name=gnocchi_wsgi group=gnocchi processes=8 threads=8 user=gnocchi
7 f; w; n+ {1 \! s& y8 [3 m3 A! Q6 s  WSGIProcessGroup gnocchi( n0 V. G& V1 v% {+ m- K
  WSGIScriptAlias / "/var/www/cgi-bin/gnocchi/app"* ]4 ?$ \1 s; R6 x, ^4 Y: G
</VirtualHost>
$ i$ R) z4 [' M$ I4 _9 f7 t' s

# |/ U5 r; F" R5 h. t% |4 g4. 复制 app.wsgi复制
# mkdir /var/www/cgi-bin/gnocchi/  B+ D' b5 G4 n" I  W' n4 T
# cp /usr/lib/python2.7/site-packages/gnocchi/rest/app.wsgi /var/www/cgi-bin/gnocchi/app
8 A: \4 e1 U$ d5 i1 F4 F# chown -R gnocchi.gnocchi /var/www/cgi-bin/gnocchi
5 |; U+ {7 p8 ]! }" u

1 z; f" G& Z" }$ t! N- i1 t) a5. 完成安装1. 初始化数据库复制
# su -s /bin/bash gnocchi -c "gnocchi-upgrade"
' J( o" }- \* M5 K. z3 q1 v, O
) c2 s0 P' L9 D' W9 O6 T- `
2. 重启 httpd 以加载 gnocchi复制
# systemctl restart httpd
" {7 n6 f0 _! y3 C6 ?6 u0 w

# M4 F  t; r3 A% z, _+ P3. 启动服务并设置开机自启复制
# systemctl enable openstack-gnocchi-metricd 9 A! S) A. U4 _1 t# G
# systemctl start openstack-gnocchi-metricd' s5 r4 }1 b7 B- A) |

) U; d4 I$ U* j0 N) G% C7 TTelemetry 服务Aodh 服务 (ceilometer节点)先决条件1. 完成以下步骤,创建数据库
  • 使用 root 用户登录数据库
    复制
    $ mysql -u root -p
      q5 O, E* G8 }& }
    $ X, i4 B: g) m, [5 R
  • 创建 aodh 数据库
    复制
    > CREATE DATABASE aodh;
    2 B" b$ p3 o, X  M/ r. p5 o( {6 x

    8 u% G8 E9 i$ d; T* w- d
  • 配置 aodh 数据库权限(这里密码为 AODH_DBPASSWORD,按需修改)
    复制
    > GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'localhost' IDENTIFIED BY 'AODH_DBPASSWORD';& M- _; }! ^! s" m- b( I
    > GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'%' IDENTIFIED BY 'AODH_DBPASSWORD';2 E% S7 D+ B' x+ ?' y, ^
    9 M) T* e, T2 ?
  • 退出数据库
    + N0 z6 Z% q! G7 k+ i/ F6 g2 S  x
2. 加载 admin 用户认证文件复制
$ . admin-openrc
7 ?$ X" ~. q5 y& ]0 h
9 y1 b$ o. ]3 d+ X
3. 完成一下步骤创建服务认证
  • 创建 aodh 用户(用户密码为 AODH_PASSWORD)
    复制
    $ openstack user create --domain default --password-prompt aodh( p7 r# J" M3 t6 J0 L
    / \+ [; ?! u3 U/ e9 i
  • 为 aodh 用户增加 admin 的角色
    复制
    $ openstack role add --project service --user aodh admin
    1 ]& Q' g" d: [; _4 Q8 t2 I

    $ E" y8 z& u* `0 g% L' v; K% s. i2 t
  • 创建 aodh 服务实体
    复制
    $ openstack service create --name aodh --description "Telemetry" alarming
    1 [2 u7 h5 Y% Y% q, ~# t
    % [1 T- L+ Q4 \5 @
    / n* A- W# |) u) E3 C( A
  • 创建告警服务API endpoints复制
    $ openstack endpoint create --region RegionOne alarming public http://controller:80420 U4 G- S, j+ R
    $ openstack endpoint create --region RegionOne alarming internal http://controller:8042* O7 ~( ~# E1 X2 Q# Z5 m
    $ openstack endpoint create --region RegionOne alarming admin http://controller:8042
    * ?. `+ w7 I4 O5 M

    * A( s0 Q6 s3 a4 S+ H$ s5 \2 D% O" P' d2 b+ w. k2 o" {' v: z0 G
安装和配置组件1. 安装软件包复制
# yum install openstack-aodh-api \
( ?& x3 L* I: B! h" [2 C( l8 ~  openstack-aodh-evaluator openstack-aodh-notifier \
3 s. S# |$ G" B7 N9 `& {  openstack-aodh-listener openstack-aodh-expirer \
  F! }- _7 L; Q7 P. T  python-aodhclient -y
/ h2 S, N9 q6 O7 B' I4 {. T* x: `, K

% T. ~' q; n7 K" r$ k2. 编辑 /etc/aodh/aodh.conf 文件加入以下内容复制
# vim /etc/aodh/aodh.conf
! |1 Z- y2 u' U" `' A; S, J9 m0 w/ s
[DEFAULT]! ]/ U. z5 R! P/ F* _, X/ r
transport_url = rabbit://openstack:root1234@controller2 ?$ P" L( _9 |0 J+ t
auth_strategy = keystone6 A$ S% G' `. z: o0 G: ~
5 t3 P8 B0 @$ P2 F* |
[database]
; z! y: F' b! H7 x; ^0 aconnection = mysql+pymysql://aodh:AODH_DBPASSWORD@controller/aodh5 o9 X' F+ n0 ^+ ^
9 }8 R& @7 Q1 b' N
[keystone_authtoken]0 d8 y1 d* ]* q. P) W' x# v. q- t
auth_uri = http://controller:5000
' ~. a" s6 x) Y$ w% E0 D, a( L& A# Eauth_url = http://controller:35357
5 a% F2 l$ ?( ]8 umemcached_servers = controller:11211. X2 Z* A7 m9 x
auth_type = password3 S. j# `8 B" F3 @
project_domain_name = default
% ?0 k" H+ W/ c. `6 R8 E1 z% @' o# Guser_domain_name = default
" h; u& L# \0 R6 U" m% L! \# oproject_name = service$ F% @% Q1 w/ i/ f  P" S' ?
username = aodh+ V2 P2 s% G) C4 m5 A  v
password = AODH_PASSWORD, k0 w$ M# J; {

/ L# U/ i' L' l% K# J8 n[service_credentials]
8 Q, m: |5 D5 dauth_type = password  |2 V# Q7 i6 `1 Z* Z
auth_url = http://controller:5000/v3
5 q" _/ A9 T3 ]( e) [# E' B6 gproject_domain_name = default
1 d! J3 u& s4 M8 k: b3 f0 N% Puser_domain_name = default7 l; t* V3 e. Z& m) v( |- q. X! N
project_name = service, n+ d! z$ |; K3 A/ o
username = aodh5 Z: b, I8 E5 h& c3 U) x
password = AODH_PASSWORD
: I' L, ?& ~+ |1 M' E' Y- [, iinterface = internalURL4 r# Q+ g: Y$ \9 \, ]: Y7 C9 G
region_name = RegionOne9 D3 P# \+ W- n$ G6 y( X( S& r
% L3 o, B8 g* S' G
3. 新建 /etc/httpd/conf.d/10-aodh_wsgi.conf 文件,加入以下内容复制
# vim /etc/httpd/conf.d/10-aodh_wsgi.conf- O4 E( v5 n) u8 O- a/ A/ f
, I% m2 C# m1 r9 s+ L0 y9 a
Listen 8042/ V; J, d: c% [) O* D% a
0 H9 J$ g5 }* |* w/ J* n  D
<VirtualHost *:8042>: l% u+ m/ e& u5 F1 L
  ServerName controller
3 l$ l7 k, p" ]- a! f, T3 }
, e& T8 B7 \3 u1 X$ V; `( D1 E, @- x7 A  ## Vhost docroot9 t! r8 Z, I; q) x$ ^
  DocumentRoot "/var/www/cgi-bin/aodh"
% I! a/ c3 e% i& ^) M  c- c6 N0 ], I* Q0 B9 F2 P4 ], U
  ## Directories, there should at least be a declaration for /var/www/cgi-bin/aodh
$ z& {' N+ O; n3 L* g0 Z7 z+ \( `) I# M: y  x# S" Y1 M& K2 x& {
  <Directory "/var/www/cgi-bin/aodh">4 {5 V1 {% D# q6 _' o% P, _
    Options Indexes FollowSymLinks MultiViews
& U8 x" z. T7 @4 N    AllowOverride None# w7 M# D; m5 p) a7 S; [
    Require all granted
( N. |( e% [+ [" c+ _+ U  ^  </Directory>
, X; L; I' s( J& g6 A: }3 N5 M5 c9 V- W8 S$ q
  ## Logging# `% d* v3 U* ~2 w
  ErrorLog "/var/log/httpd/aodh_wsgi_error.log"
5 |9 |3 V1 s: ~" c: z% \7 J  ServerSignature Off
- l+ @3 N, }7 j  CustomLog "/var/log/httpd/aodh_wsgi_access.log" combined
+ C/ ~& C6 ^" w1 X1 A  SetEnvIf X-Forwarded-Proto https HTTPS=18 k0 I( p: I: J. w% W" K) F0 r/ o
  WSGIApplicationGroup %{GLOBAL}. ]# R4 `  j$ Y) t
  WSGIDaemonProcess aodh display-name=aodh_wsgi group=aodh processes=2 threads=2 user=aodh+ ^: ?" k9 q6 }
  WSGIProcessGroup aodh( c9 |& n/ m4 Q
  WSGIScriptAlias / "/var/www/cgi-bin/aodh/app"
; [* B. y9 ?5 \</VirtualHost>) u3 p% H3 o: U" D$ ?9 Z
, A3 ~6 |/ f$ T/ M; b: k
4. 复制 app.wsgi复制
# mkdir /var/www/cgi-bin/aodh/, w" a+ q8 ?0 Q. Q2 x
# cp /usr/lib/python2.7/site-packages/aodh/api/app.wsgi /var/www/cgi-bin/aodh/app
6 T' ^1 D* A0 S& i# chown -R aodh.aodh /var/www/cgi-bin/aodh
* s1 N* w# q' M- I% _

6 T8 k, f+ h; a, B) T完成安装1. 初始化数据库(仅当使用 SQL 数据库的时候才需要初始化)复制
# aodh-dbsync. I/ _) L, M: V8 f$ |
. i0 e# W' g5 D6 w0 z4 c4 n" k
2. 重启 httpd 以加载 aodh复制
# systemctl restart httpd4 c5 Z. v% b) r$ |  n* ^$ m
/ X& M: V3 V6 z4 D
3. 启动服务并设置开机自启(任一控制节点执行)复制
# systemctl enable openstack-aodh-evaluator.service openstack-aodh-notifier.service openstack-aodh-listener.service
0 h$ ?* U0 K2 G% k( T. O# systemctl start openstack-aodh-evaluator.service openstack-aodh-notifier.service openstack-aodh-listener.service
3 ^- }1 b1 I3 `

' E0 z( ?* \. ^& a  [Panko 服务 (ceilometer节点)先决条件1. 完成以下步骤,创建数据库
  • 使用 root 用户登录数据库
    复制
    $ mysql -u root -p4 }7 |; Q" z* s5 P6 h. N+ w7 w

    : B1 S1 x  O6 a2 Y
  • 创建 panko 数据库
    复制
    > CREATE DATABASE panko;
    ! O) f. I  f9 f3 m8 ?

    & v' M* a" E) p) H
  • 配置 panko 数据库权限(数据库密码为 e0ee97b87b0be41b5ba0 )
    复制
    > GRANT ALL PRIVILEGES ON aodh.* TO 'panko'@'localhost' IDENTIFIED BY 'e0ee97b87b0be41b5ba0';9 }# g" r/ L( I$ \8 |; l1 t
    > GRANT ALL PRIVILEGES ON aodh.* TO 'panko'@'%' IDENTIFIED BY 'e0ee97b87b0be41b5ba0';
    7 R; _' l( M( `& |; c

    3 s$ k1 H" K3 G$ j# N( l
  • 退出数据库
    + V% p# F( W- M7 [5 J  G
2. 加载 admin 用户认证文件复制
$ . admin-openrc
' W, @% I) a/ s

3 g% ]' X* M: o3. 完成一下步骤创建服务认证
  • 创建 panko 用户(用户密码为 PANKO_PASSWORD)
    复制
    $ openstack user create --domain default --password-prompt panko
    0 e/ i! D7 {* p; Y3 }% B  v
    , G) r9 C0 _) n4 ~$ x, E6 Z
  • 为 panko 用户增加 admin 的角色
    复制
    $ openstack role add --project service --user panko admin
    & |+ C8 o' o( s
    ! i: c  c. u' M0 x/ S
  • 创建 panko 服务实体
    复制
    $ openstack service create --name panko --description "OpenStack Event Service" event
    / _# }% X2 y. i$ b- g

    " ]: o2 m' K. S1 c! f& F$ S0 P5 z9 b5 E; z
4. 创建Event服务API endpoints复制
$ openstack endpoint create --region RegionOne event public http://controller:87796 k# \' o; q$ @1 r
$ openstack endpoint create --region RegionOne event internal http://controller:8779. l9 y# ?  ]) }9 J+ Z
$ openstack endpoint create --region RegionOne event admin http://controller:8779
/ n/ B( m; X) i* q0 L& }

0 A  |" ?! w, Z! U- W! Q6 \安装和配置组件1. 安装软件包复制
# yum install openstack-panko-api openstack-panko-common -y/ |+ U5 e1 @! a* A  M3 Z7 V& d
* ]$ w' e+ |  R) v! D1 Q, h- Q! @2 l
2. 编辑 /etc/panko/panko.conf 文件加入以下内容复制
# vim /etc/panko/panko.conf
6 b1 G2 U. S$ Q  M& I6 X
, Y6 f! n" L. s* ?9 H& @% g[DEFAULT]
& n. R6 a! A) a! j7 B" c1 Fauth_strategy = keystone
9 X" j5 g$ r6 Clog_file = /var/log/panko/panko.log3 c8 }0 l" J0 o6 H
log_dir = /var/log/panko
! d+ d) G+ [; j" z4 w, `$ K- ~0 }6 J( g8 L6 J
[api]
! `0 ?* v3 D$ P7 H7 Y' ghost=0.0.0.0
( s$ _( D  O; U1 P" f0 ]0 dport=8779' ?( v  Y9 d6 G' \
workers=2* F- I& e+ T! F) b+ v" J; t
max_limit=1000/ O' V# T) C4 S) p( z

$ e0 C3 c1 n# z4 H8 V0 x[database]
2 S: N0 E3 |( d# K6 d% A0 iconnection = mysql+pymysql://panko:PANKO_DBPASSWORD@controller/panko
' K# i4 J6 a5 ]' o3 K* o6 P' |, ^1 r' l; e
[keystone_authtoken]5 K5 ]9 j$ T3 T1 \4 Q
auth_uri = http://controller:5000
- W2 r+ v+ l% aauth_url = http://controller:35357
9 q. x6 B1 a' a' G6 jmemcached_servers = controller
. V' Q  h% C0 K. Y3 U) ]auth_type = password
! G+ o( U) P0 s1 r) i8 ]" P! W, Jproject_domain_name = default# K+ U4 P7 ]3 M
user_domain_name = default
/ i* j- b3 o5 }project_name = service* ^* Y$ b. \+ E* M2 u3 t8 F7 e/ H
username = panko
" M& E6 I! ]% Q$ f1 U9 ypassword = PANKO_PASSWORD! k1 y6 c" N3 `3 [
1 m8 b* I5 c& P& H% U
3. 新建 vim /etc/httpd/conf.d/10-panko_wsgi.conf 文件,加入以下内容复制
Listen 8779
* a6 y- z- Q0 ]: Z8 o6 e& Y
0 W! y- Y* A# B8 J" y# S$ v, R' k' P<VirtualHost *:8779>
3 R. v$ B! _  F0 c4 O  ServerName controller
) m/ u6 K; ?) L  [) R
& E9 Y$ |  U) F  ## Vhost docroot; t% f' z( I* G7 Z$ a
  DocumentRoot "/var/www/cgi-bin/panko"# w6 ^6 I0 [; s  T9 W; f8 \
. o3 G6 |: R! N7 D- E6 A. ~  @+ Z
  ## Directories, there should at least be a declaration for /var/www/cgi-bin/panko
9 q2 i" v+ v4 o1 n8 c, `
- E. u+ Z4 D5 F1 q  <Directory "/var/www/cgi-bin/panko">
% r- z/ f' i* t# ^4 z    Options Indexes FollowSymLinks MultiViews
- I6 N+ v+ s# I' }) q; x    AllowOverride None
0 I& \2 \- W: p( a    Require all granted
2 ^& ^- w% S$ f6 f" _6 z: \+ T  </Directory>
" y8 t: J1 u" R/ Z" ]: z
+ e7 N( D' o+ z; q0 z  ## Logging$ l5 k. ~) y+ P' P5 C4 m, g
  ErrorLog "/var/log/httpd/panko_wsgi_error.log"2 A, [) W3 N5 `# R5 v
  ServerSignature Off
3 X% Z( b1 r8 m# G, y  CustomLog "/var/log/httpd/panko_wsgi_access.log" combined 7 V/ R4 w( T- q) [5 z3 i$ R
  SetEnvIf X-Forwarded-Proto https HTTPS=1
' I8 s! q. U9 |! Y+ t* r  WSGIApplicationGroup %{GLOBAL}2 u. \1 m) w( E; x
  WSGIDaemonProcess panko display-name=panko_wsgi group=panko processes=2 threads=2 user=panko
8 M" O2 n3 F+ h* B* b  WSGIProcessGroup panko
4 L( y' y. `' P& V$ y1 ~  WSGIScriptAlias / "/var/www/cgi-bin/panko/app") X( ~- X1 D+ z9 q
</VirtualHost>; ?0 R. O3 J# T4 q1 o' H+ g6 o
) d7 P& E% p- i1 Z) k4 i
4. 复制 app.wsgi复制
# mkdir /var/www/cgi-bin/panko/8 f: ]: E" m$ v4 ^
# cp /usr/lib/python2.7/site-packages/panko/api/app.wsgi /var/www/cgi-bin/panko/app
0 ?, Y1 X2 c: f! i* u- _# G3 ]# chown -R panko.panko /var/www/cgi-bin/panko/
. A$ M, f7 G' t! F) }* Y0 H0 e: L+ {

6 L% U/ t4 D8 J% K+ L% W  p; }5. 初始化数据复制
# /usr/bin/panko-dbsync
" t  F' \) v1 T( L
* j6 i1 J' B- c8 q6 J' S' I
完成安装
重启 httpd 以加载 panko
3 M! H" p: k* I$ R3 |: C0 j' L
复制
# systemctl restart httpd( ?* t+ J: r. w1 J
; U2 \2 R# j, ]  D8 j2 R* s# g+ {9 R
2 p5 F9 d5 f9 [3 o
Ceilometer服务安装和配置控制节点 (ceilometer节点)Ceilometer先决条件1. 加载 admin 认证文件复制
$ . admin-openrc
0 q8 g. A  _- I! ~& j" V: B! w

( ?, ^3 e6 R) q6 ?; i2. 创建服务认证,完成以下步骤
  • 创建ceilemeter用户(用户密码为 CEILOMETER_PASSWORD)
    复制
    $ openstack user create --domain default --password-prompt ceilometer
    - Z" y7 A0 v2 I& [

    ( F9 y8 o+ K7 }/ I6 v- C8 H
  • 给ceilometer用户增加admin的角色
    复制
    $ openstack role add --project service --user ceilometer admin
    6 W+ f- X% o$ E+ D! A# N* w' _

    4 w" d% {* @" @& f: v& e
  • 创建ceilometer服务实体
    复制
    $ openstack service create --name ceilometer --description "Telemetry" metering
    , g' i0 y* |& \! T% g9 Z
    / k$ [& W3 }: }" o" ?! i
  • 创建 Telemetry 服务 API endpoint
    复制
    $ openstack endpoint create --region RegionOne metering public http://controller:8777
    2 q( c: C6 `" i. ?$ openstack endpoint create --region RegionOne metering internal http://controller:87779 f! ]0 a5 p% {7 h* Q1 ]
    $ openstack endpoint create --region RegionOne metering admin http://controller:8777; W/ F. K! w6 ?  s/ L* C
    % ^6 u: c. c9 H7 \7 E

    ' Z9 m$ l% G6 F. a! {' j# g3 u9 v
安装并配置组件1. 安装软件包复制
# yum install openstack-ceilometer-api \9 S( \$ `7 i* k" P+ J  K" ^$ m) M
  openstack-ceilometer-collector openstack-ceilometer-notification \
3 N+ W4 y* S. A  openstack-ceilometer-central python-ceilometerclient  -y
# t2 h3 z: P5 m

( j1 n( ~4 Y+ m! w, f2. 编辑 /etc/ceilometer/ceilometer.conf 文件加入以下内容复制
# vim /etc/ceilometer/ceilometer.conf/ p" T8 v( r3 v* r: b2 X1 O
[DEFAULT]4 @& h# Z$ ^( ^; f
transport_url = rabbit://openstack:root1234@controller
0 l4 ]4 p" o- s( C) K* ]9 P3 c" {auth_strategy = keystone
" X8 {- o% g2 \. N2 ^+ Zmeter_dispatchers=gnocchi
; s) ^& H4 I9 F) R0 Revent_dispatchers=gnocchi- s6 M+ Z7 C3 `! H$ {# L# X

7 G! O$ G% z0 ?% l7 t' e[dispatcher_gnocchi]
! ?; j' ?6 x; f; Nfilter_service_activity = False! d1 P# {0 b+ `5 m* k- a
archive_policy = high2 K4 O2 V. K* E6 R4 o# q$ B
resources_definition_file=gnocchi_resources.yaml& V# Q# a. Y. `" b/ X& F! l
url=http://controller:8041
& _5 D0 ?5 g* |% ~0 l: y9 z6 j. A& u! r$ W3 m% E( s, M. E/ a9 r; \
[keystone_authtoken]
7 Z: |* L, |1 f1 o" ^auth_uri = http://controller:5000
+ o5 T$ u0 I, a1 ?& r- Iauth_url = http://controller:35357+ Q/ o1 K/ T$ z0 E) d+ i* r
memcached_servers = controller5 G/ j/ o/ ?5 J7 g& J7 z
auth_type = password
: O0 L" B1 G4 w# T: a1 V, U0 h- ?project_domain_name = default  \( \( m7 w7 m$ H6 [( i# y
user_domain_name = default; `3 o2 M2 X7 s& h8 f
project_name = service9 U! D, f8 d6 d& ?' o% g9 x
username = ceilometer
% l. W( V6 ~- [2 \& rpassword = CEILOMETER_PASSWORD4 f0 Z' `9 ?% u
service_token_roles_required = True
6 N. i* W0 h' a' C9 _: i5 |( Z1 t$ N/ W4 Z4 S- }! Y
[service_credentials]
5 j. m, |+ F+ R# n& Lauth_type = password% s& d* Y/ v  R
auth_url = http://controller:5000/v3
# y) I& s; r' I" R+ Kproject_domain_name = default' j8 a0 u, p5 s7 }
user_domain_name = default' g: o! h8 t9 q% R4 z% H! B
project_name = service' \" P" m' o0 e3 _$ b5 X7 E/ s
username = ceilometer& U! c# `, R+ V0 X: w
password = CEILOMETER_PASSWORD8 A6 a  y5 ]) i* s. }5 f* p& m: y
interface = internalURL) T# |8 j! v2 m
region_name = RegionOne
9 O7 _' C. f1 ?- @! _; B/ i$ S/ F7 G

& C- a2 q0 F% |: o9 j3. 新建 /etc/httpd/conf.d/10-ceilometer_wsgi.conf 文件,加入以下内容复制
# vim /etc/httpd/conf.d/10-ceilometer_wsgi.conf+ s( e( O( Q( ?- t0 F0 d" L

( j3 [: q% Z  Z$ j# H( J( K/ iListen 8777
8 F: Q$ d5 ?4 Q7 e
% d( b: |' ]8 X6 i" E4 W<VirtualHost *:8777>
% E% d* q4 W) D8 Z1 }: D8 E  ServerName controller
+ W+ I3 `0 ~. R: j* V0 h$ s! [
/ [$ ~1 ?# v( N% j9 O8 Z  ## Vhost docroot& f) _/ J  I9 o8 K  r6 C
  DocumentRoot "/var/www/cgi-bin/ceilometer". Y  Q7 J9 B  s4 g, A9 \

. W9 m7 b3 S" G5 H1 C7 }+ X  ## Directories, there should at least be a declaration for /var/www/cgi-bin/ceilometer9 u2 u; {5 D. S

" F0 y- {8 G, J+ a6 a, S# z! W  <Directory "/var/www/cgi-bin/ceilometer">- _7 q2 H$ `' H( E: y# J/ h, A
    Options Indexes FollowSymLinks MultiViews2 O  S6 @* p6 W" }4 Q( J( h
    AllowOverride None
9 X& k; x1 B6 X    Require all granted
8 l8 }) O+ ]+ N; ?1 _2 {& V7 o  </Directory>
6 A3 |& E) E0 _: q4 _! @+ V; O# h8 h- S# B5 c8 Z' B7 ^& |( n& W
  ## Logging' g% n! t7 i6 [7 v* _5 F5 l
  ErrorLog "/var/log/httpd/ceilometer_wsgi_error.log"' t% m0 E$ Q& g$ K( k# F
  ServerSignature Off
/ @: M' A6 }' Q, v  CustomLog "/var/log/httpd/ceilometer_wsgi_access.log" combined
! k# V8 e. W  S! S" A) L  SetEnvIf X-Forwarded-Proto https HTTPS=1
* X0 n3 Y9 ?+ c- p$ A+ c; K$ K  WSGIApplicationGroup %{GLOBAL}1 ^4 M; X4 M! S
  WSGIDaemonProcess ceilometer display-name=ceilometer_wsgi group=ceilometer processes=1 threads=2 user=ceilometer8 j- L) |% i1 A& d* A: M+ k
  WSGIProcessGroup ceilometer( o" z& B. U$ I  ]
  WSGIScriptAlias / "/var/www/cgi-bin/ceilometer/app") m; e" A% @; j8 ^+ A
</VirtualHost>, P  A, o& |: c- n3 }

) y6 _6 D8 }6 k7 X' Q6 @4. 复制 app.wsgi复制
# mkdir /var/www/cgi-bin/ceilometer/9 T' W7 u0 I' V8 G
# cp /usr/lib/python2.7/site-packages/ceilometer/api/app.wsgi /var/www/cgi-bin/ceilometer/app
+ D, K% U9 C/ v  D- o3 }# chown -R ceilometer.ceilometer /var/www/cgi-bin/ceilometer/
& ~6 P! B- R+ B& f8 z! ]4 a

7 R5 l# d) \0 I; F
  • 运行一下命令在gnocchi中创建ceilometer的资源复制
    # ceilometer-upgrade --skip-metering-database
    " z# I' G, @& j' ?

    - b/ M' h4 X1 }3 q+ Y$ Z
    # _$ _* j0 [0 U( y6 Y, {) p4 U
完成安装1. 重启 httpd 以加载 ceilometer复制
# systemctl restart httpd: S  K6 ]0 K9 ~2 |
$ e; O& M" ]( o& l) a8 I& H0 D
2. 启动服务并设置开机自启复制
# systemctl enable openstack-ceilometer-notification.service \
& X- C" l* h7 K' m5 Z/ `  openstack-ceilometer-central.service \
- t& X: x  F5 I. ~  openstack-ceilometer-collector.service0 K5 ]$ v/ S8 Q: G4 b+ J) X6 e5 ~
# systemctl start openstack-ceilometer-notification.service \- U2 L6 ^( c( j) m5 i+ ^# v( e$ p- @$ P
  openstack-ceilometer-central.service \4 l# J# Q" ~$ j, L, v
  openstack-ceilometer-collector.service
2 D5 k" x& t6 ^
5 d) Z) M& H# E- E- p
安装和配置计算节点 (计算节点)安装并配置组件1. 安装软件包复制
# yum install openstack-ceilometer-compute python2-wsme, B  n/ ^6 X$ X2 O  q2 m
7 N$ ^, b6 s! {: I( {0 m
2. 编辑 /etc/ceilometer/ceilometer.conf 文件加入已下内容复制
# vim /etc/ceilometer/ceilometer.conf7 R6 M/ X- x% ~0 D& {) I
[DEFAULT]
9 A1 `' b' F" Btransport_url = rabbit://openstack:root1234@controller1 K# o3 h6 v( T% o
auth_strategy = keystone
* ]0 z; O4 w* f/ g$ M2 L) Q- M+ w/ r( A1 `* ~8 g8 I8 g
[keystone_authtoken]( V! d- _" D( T- H8 v4 x
auth_uri = http://controller:5000
5 z* {+ L8 h! V4 p- b1 T9 _auth_url = http://controller:35357% s6 p+ j( P& R/ t# ~  i
memcached_servers = controller01:11211,controller02:11211,controller03:11211
' `. \9 W$ z- @  ^auth_type = password
  S8 X- c7 e' N( vproject_domain_name = default
8 O! r: W5 L- p/ R5 d9 a* A+ kuser_domain_name = default/ Q+ _( a& \1 t! G  G/ d1 D4 @+ k' {
project_name = service! i5 ~9 Q' R, A# @4 P. n- q
username = ceilometer- o2 _- h& ?. D3 g' r- e
password = CEILOMETER_PASSWORD
- m4 |+ @/ c4 L' g
# M& V  I5 j  |[service_credentials]
3 m/ ^, ~8 u6 B: Bauth_url = http://controller:5000
0 Y6 Q- {4 o0 X$ eproject_domain_id = default
4 ]" d$ t2 u" B* ?* muser_domain_id = default
% Q& L. c7 {% d  }( cauth_type = password
  ^( W, |. p# A0 c3 _& |username = ceilometer
+ Y6 C- `* w3 J. ]: c5 U5 o8 [project_name = service
  M6 f4 [& `7 ]3 A* P' X, W7 N6 [password = CEILOMETER_PASSWORD5 {+ U2 q7 ~8 ^4 x% F/ h
interface = internalURL
6 V! b' W' }6 \/ M7 r7 O% `0 yregion_name = RegionOne
# `+ k7 u9 J! ]+ g" A
8 V" t  x5 h; r
配置计算节点使用Telemetry
编辑 /etc/nova/nova.conf 加入以下内容! q% w- P7 C7 q0 D
复制
# vim /etc/nova/nova.conf
7 ~! k, p: ?' J; x7 B1 |[DEFAULT]
( `! Y: M. T, [instance_usage_audit = True; z5 x: ~# n6 ^( L  z" r: |+ F
instance_usage_audit_period = hour2 d& t- o' d6 w0 [+ k% y+ N
notify_on_state_change = vm_and_task_state
# y" D; F" Q- V  R) [4 z6 j+ ~; b4 B' }; {  ]# c7 _. X
[oslo_messaging_notifications]+ r( ?; E9 g# F$ B- R, U- ^
driver = messagingv2
* f. \, |. l+ ?% h/ ~( _

" q7 Z" j6 C9 \8 r
# N. V4 j' h* m4 y: W9 J: j完成安装1. 启动agent并设置开机自启复制
# systemctl enable openstack-ceilometer-compute.service9 C- G; K! P  n* C1 s( U4 X) Y
# systemctl start openstack-ceilometer-compute.service
( R* I7 y, x2 r: R
/ g' w5 v% V+ H% ~/ F$ T! d* ~
2. 重启计算服务复制
# systemctl restart openstack-nova-compute.service
/ A( S3 O% @) u: a7 k% i
( D, V! m- j' s0 n- z
配置 opesntack 服务以支持ceilometer (控制节点)Cinder1. 配置cinder使用telemetry
编辑/etc/cinder/cinder.conf文件加入以下内容
9 }! |1 U7 i6 z- H0 ]# L
复制
[oslo_messaging_notifications]
' r+ K9 Y2 u$ O" {5 w' kdriver = messagingv2
) q/ E: R1 m, X
) I6 f) a# ~* ~. D, v, Q* E* W

  N$ ?1 h; w0 k( j7 y2. 通过定时任务获取阶段性的通知,例如没5分钟执行一次复制
# crontab -e
) s; w9 L! t: ]' b: D9 k  |) Z: @$ _6 w7 b( W; a. H, R2 ~
*/5 * * * * /usr/bin/cinder-volume-usage-audit --send_actions
. G9 l( d% d) H; n

# y+ u" _7 `) f: {3 _3. 重启服务复制
# systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service openstack-cinder-volume.service
" @% X  w  _. E- S8 \7 I
/ X: i7 M+ O) R7 c
Glance1. 配置镜像服务使用telemetry
编辑/etc/glance/glance-api.conf 和 /etc/glance/glance-registry.conf+ C) u, I* U- |1 x, M. x/ T
复制
[DEFAULT]
3 [3 W( u4 U5 S  o6 M3 {. [transport_url = rabbit://openstack:root1234@controller
4 R2 G* M0 o3 c+ l# v, P$ N3 F% b+ n  b% m2 W1 A! D
[oslo_messaging_notifications]
5 I* D, n, `1 t! L2 \. [8 x$ Fdriver = messagingv2
9 t& Y; N1 ~! i2 ], A' G# v( C
& y8 A4 A3 w2 `" _5 r
6 C# S$ U) ~  |5 q% p
2. 重启服务复制
# systemctl restart openstack-glance-api.service openstack-glance-registry.service
  ^% o6 d* \6 |0 z5 W0 g2 l

# W' t; r; u0 w9 P) Q6 @) l( XNeutron1. 配置网络服务使用telemetry
编辑 /etc/neutron/neutron.conf 文件加入以下内容/ }) V% z! N& h" B5 N6 D: p
复制
[oslo_messaging_notifications]
$ U# G9 ?: N4 B* ?& Q: X! zdriver = messagingv2
3 l  V% H% L7 p( G% ?. ~
. B. B2 C  J9 a. R" z2 u
- P: S5 j( y( y$ |4 Y. M" Z
2. 重启服务复制
# systemctl restart neutron-server.service
% L+ g$ S5 s, V) r$ X
* ?; F! t7 {0 q5 h
! h7 |1 w. D1 e8 `
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-9 00:38 , Processed in 0.065728 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表