找回密码
 注册
查看: 4520|回复: 0

openstack ocata部署ceilometer+gnocchi

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2018-12-5 22:46:56 | 显示全部楼层 |阅读模式
安装Gnocchi先决条件1. 完成以下步骤,创建数据库
  • 使用 root 用户登录数据库
    复制
    $ mysql -u root -p3 {; y7 }/ y' Y# k$ @4 [+ F
    % X( M0 S" h. ]( d) Y9 j$ a' k" T
  • 创建 gnocchi 数据库
    复制
    > CREATE DATABASE gnocchi;
    2 @4 p. ]6 m5 B  l2 z
    $ p7 h3 ?0 e; E1 {
  • 配置 gnocchi 数据库权限(这里密码为 GNOCCHI_DBPASS,按需修改)
    复制
    > GRANT ALL PRIVILEGES ON gnocchi.* TO 'gnocchi'@'localhost' IDENTIFIED BY 'GNOCCHI_DBPASS';
    $ f) B/ }4 e+ J: Y; Q> GRANT ALL PRIVILEGES ON gnocchi.* TO 'gnocchi'@'%' IDENTIFIED BY 'GNOCCHI_DBPASS';  ]& k4 U: s5 t

    / e, y3 z* [2 Q9 F, k
  • 退出数据库
    + Q7 d7 e' Q! W6 B- l
2. 加载 admin 用户认证文件复制
$ . admin-openrc+ j. K) Q+ Z$ I' w
% ^6 }( }9 m9 g+ g) O7 A
3. 完成以下步骤创建服务认证
  • 创建 gnocchi 用户(用户密码为 GNOCCHI_PASS)
    复制
    $ openstack user create --domain default --password-prompt gnocchi
    - H) p! V: n6 y9 p
    . l, A7 e: o! a$ k" [6 B) i
  • 为 gnocchi 用户增加 admin 的角色
    复制
    $ openstack role add --project service --user gnocchi admin
    - p, Q+ S& A, ]$ U

    1 G5 T: i6 p; c" Z0 D5 v( u7 v
  • 创建 gnocchi 服务实体
    复制
    $ openstack service create --name gnocchi --description "Metric Service" metric
    % K5 ?4 w  E8 _
    ; l; @& d1 e; r) O
      k9 J% \) {2 o! C: X
  • 创建 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. 完成以下步骤,创建数据库
  • 使用 root 用户登录数据库
    复制
    $ mysql -u root -p
    4 W& M$ K/ {2 p" ?2 V5 J

    ; J- O* D1 U  T  H5 \
  • 创建 aodh 数据库
    复制
    > CREATE DATABASE aodh;6 ]5 i' J) ]7 x8 {8 [) S1 g! {+ D# m# L

      ^3 _7 C+ N# i
  • 配置 aodh 数据库权限(这里密码为 AODH_DBPASSWORD,按需修改)
    复制
    > GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'localhost' IDENTIFIED BY 'AODH_DBPASSWORD';9 e; R) p5 L, q, L
    > GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'%' IDENTIFIED BY 'AODH_DBPASSWORD';
    4 s6 ]2 g$ D8 j% P3 ]

    ' c! \! E- Z  Y% ?* J
  • 退出数据库
    * _. _6 l) f! Q: f# x
2. 加载 admin 用户认证文件复制
$ . admin-openrc
8 @0 [6 C5 ^3 X3 o% \

) c* J. }8 ?1 }% }1 F0 b3. 完成一下步骤创建服务认证
  • 创建 aodh 用户(用户密码为 AODH_PASSWORD)
    复制
    $ openstack user create --domain default --password-prompt aodh
    & c: A, f; j5 {  H1 g

    1 z3 ?' h4 \1 ?5 j
  • 为 aodh 用户增加 admin 的角色
    复制
    $ openstack role add --project service --user aodh admin
    * E; h! ^  F# c$ F

    5 F2 U# K5 {6 v
  • 创建 aodh 服务实体
    复制
    $ openstack service create --name aodh --description "Telemetry" alarming# z% i. M, u0 i
    . z2 l  E5 C! }( F. I7 J; x, ]
      Y3 W7 t+ q! y$ F& r
  • 创建告警服务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. 完成以下步骤,创建数据库
  • 使用 root 用户登录数据库
    复制
    $ mysql -u root -p( X( U2 A: T" j7 V$ d2 c

    - k8 a4 q2 J/ Z- ~
  • 创建 panko 数据库
    复制
    > CREATE DATABASE panko;# F, C; j. R. ]1 R

    ' b7 a9 f" `2 d9 F6 [! u) P: Z
  • 配置 panko 数据库权限(数据库密码为 e0ee97b87b0be41b5ba0 )
    复制
    > GRANT ALL PRIVILEGES ON aodh.* TO 'panko'@'localhost' IDENTIFIED BY 'e0ee97b87b0be41b5ba0';$ ]2 C% Q5 x4 V0 y" E* @& `( Q' \5 c
    > GRANT ALL PRIVILEGES ON aodh.* TO 'panko'@'%' IDENTIFIED BY 'e0ee97b87b0be41b5ba0';
    , K: p2 v" z% [% [' A. O4 Y# v  L, O& h
    # S6 g! d. J) v! T' B; w
  • 退出数据库
    # {5 y, Y5 t) _4 y* _5 ?
2. 加载 admin 用户认证文件复制
$ . admin-openrc6 {, d- f) Z0 O* P4 A
) ^& c9 k9 }" h9 f1 J2 F8 x8 v
3. 完成一下步骤创建服务认证
  • 创建 panko 用户(用户密码为 PANKO_PASSWORD)
    复制
    $ openstack user create --domain default --password-prompt panko& F, \; i- @# n" r

    $ r6 B, C: f5 ]4 x. `0 @6 R# H: j
  • 为 panko 用户增加 admin 的角色
    复制
    $ openstack role add --project service --user panko admin) K6 S) Y/ R9 b5 @

    # y3 j) L, E9 P- ?
  • 创建 panko 服务实体
    复制
    $ openstack service create --name panko --description "OpenStack Event Service" event" d* L. {/ H5 A2 P/ w& K' u

    ! u2 M# Y$ h3 n) n) X
    : {8 j! o  R. T
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. 创建服务认证,完成以下步骤
  • 创建ceilemeter用户(用户密码为 CEILOMETER_PASSWORD)
    复制
    $ openstack user create --domain default --password-prompt ceilometer
    * S" y) _) n! b
    9 U* ?+ _) \/ M9 m3 Q  i
  • 给ceilometer用户增加admin的角色
    复制
    $ openstack role add --project service --user ceilometer admin
    + Q$ b+ \6 B' B1 l) G: W: P' S
    ' \  r6 b& X% ?6 B
  • 创建ceilometer服务实体
    复制
    $ openstack service create --name ceilometer --description "Telemetry" metering
    , ]+ A7 h9 O. ?* b2 K. I; J

    & s  o+ i% E4 R& D' E6 N6 J7 _
  • 创建 Telemetry 服务 API endpoint
    复制
    $ openstack endpoint create --region RegionOne metering public http://controller:8777
    ; T2 |" a6 u: `  u+ z& I$ openstack endpoint create --region RegionOne metering internal http://controller:8777( R1 ?5 F9 r' o; n5 U7 X0 w) P3 B
    $ openstack endpoint create --region RegionOne metering admin http://controller:8777
    1 r! d7 h! [. b9 q. `' a. ^& o# ^- Q7 @
    . J* w. K. l" F3 o9 ]  p3 }( U

    : n$ i, @9 h0 `' R6 U! f' G( C. d
安装并配置组件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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 02:27 , Processed in 0.020559 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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