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

openstack ocata部署ceilometer+gnocchi

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2018-12-5 22:46:56 | 显示全部楼层 |阅读模式
安装Gnocchi先决条件1. 完成以下步骤,创建数据库
  • 使用 root 用户登录数据库
    复制
    $ mysql -u root -p; ^' V4 Z( f' ]4 A/ [: j9 |

    ; G0 e8 v6 a7 o2 K, H3 ~
  • 创建 gnocchi 数据库
    复制
    > CREATE DATABASE gnocchi;
    1 @) ?5 F: \9 a, H& M) v
    5 i. k, U# w  O3 w) t; e
  • 配置 gnocchi 数据库权限(这里密码为 GNOCCHI_DBPASS,按需修改)
    复制
    > GRANT ALL PRIVILEGES ON gnocchi.* TO 'gnocchi'@'localhost' IDENTIFIED BY 'GNOCCHI_DBPASS';3 m6 R3 v2 z' ~7 p, H
    > GRANT ALL PRIVILEGES ON gnocchi.* TO 'gnocchi'@'%' IDENTIFIED BY 'GNOCCHI_DBPASS';
    & k% w1 ]. c" y) R; i3 Y4 \# C# A
    6 H/ P. [* J, A/ x
  • 退出数据库

    4 K7 ]) P, P& l9 z0 Q' p
2. 加载 admin 用户认证文件复制
$ . admin-openrc, Q! x& q" S% m; y

) B$ Q, t% z& P- J) j% o3. 完成以下步骤创建服务认证
  • 创建 gnocchi 用户(用户密码为 GNOCCHI_PASS)
    复制
    $ openstack user create --domain default --password-prompt gnocchi
    * a6 ]& @, b) K- |+ D" N
    * P0 t& ?# f; p+ j. R  W7 q) b% D& {
  • 为 gnocchi 用户增加 admin 的角色
    复制
    $ openstack role add --project service --user gnocchi admin
    6 x! h' {& Q9 g/ V5 o/ O8 d1 H2 Q
    : z* c; L" r; V2 Y0 |
  • 创建 gnocchi 服务实体
    复制
    $ openstack service create --name gnocchi --description "Metric Service" metric
    ( B! H' o- s& x1 k4 c; M: L/ C

    . X3 W" ?' {4 M
    6 N  b7 }2 X2 `1 l5 q- t
  • 创建 gnocchi 服务API endpoints复制
    $ openstack endpoint create --region RegionOne metric public http://controller:8041$ t' f% R  Z3 V4 x
    $ openstack endpoint create --region RegionOne metric internal http://controller:80413 x" S5 h5 Y9 a
    $ openstack endpoint create --region RegionOne metric admin http://controller:80416 h$ L: l# m9 p% t4 W
    - [4 l; G! ^$ V  D% ]. G# O

    9 o& Q! R$ i; u8 r" t
安装和配置组件1. 安装软件包复制
# yum install openstack-gnocchi-api openstack-gnocchi-metricd python2-gnocchiclient -y' ?( D' V: C/ b

( X0 D: M: {. c! N2. 编辑 /etc/gnocchi/gnocchi.conf 文件加入以下内容复制
# /etc/gnocchi/gnocchi.conf
9 e  \3 A2 {$ h4 L( J8 {
+ e* S' M$ M. `' d  m& H, L[DEFAULT]1 Z4 T% F, J: A# O5 N" d
log_dir = /var/log/gnocchi/ i% {& l# R8 J" V% V
6 V$ E7 X7 ]0 i
[api]
( t6 c& ]& F" P" }auth_mode = keystone7 B& \4 w0 _" {6 \
8 }, @& J( g6 X/ g/ [/ ?
[indexer]7 g1 Z% C, J. g8 S3 ^
url = mysql+pymysql://gnocchi:GNOCCHI_DBPASS@controller/gnocchi
* T8 V! i7 i! C& J! }$ a. g
9 N) @. K5 V* d. {1 n[storage]- y: i0 g" _5 v  b
driver = file
+ L& w7 ]4 ~& V+ i* h6 u8 Afile_basepath = /var/lib/gnocchi1 E$ {+ ]5 b8 q
9 |# f  M, ^" V* t- }8 K
[keystone_authtoken]
4 ~: n1 `6 L. ~6 C8 H7 @. Uauth_uri = http://controller:5000  L8 e" \3 Y6 i. ~
auth_url = http://controller:35357
0 Y4 E, _, \/ a2 xmemcached_servers = controller:11211
) g! n2 |5 N( t: `2 Cauth_type = password
% L2 N* t, U3 F- x5 e" o4 Oproject_domain_name = default
5 D1 f( i* [/ k9 @user_domain_name = default
* c  i2 E& {9 L4 E0 mproject_name = service5 r. n6 c( J. w: A$ D" O9 z
username = gnocchi9 O% k( A; t8 C
password = GNOCCHI_PASS
) y& \. V( k3 z$ P; ^% Z8 g
7 y' v7 W/ e/ y# C) P
3. 新建 10-gnocchi_wsgi.conf 文件,加入以下内容复制
# vim /etc/httpd/conf.d/10-gnocchi_wsgi.conf
! P5 ?* j( z3 `  S2 t" u" w% E' B- T$ M
Listen 80412 U/ _) `# b4 D6 c$ P* S& H" u4 ^' ?

* r; }# j+ V. V& x$ s$ Y9 s) L2 Y<VirtualHost *:8041>' M- y% m4 T) q2 o
  ServerName controller
/ J# D* i8 F+ T: b1 c
: d) r9 ^5 N% X  ## Vhost docroot1 }. D! Z0 i, E( u5 R# U2 s
  DocumentRoot "/var/www/cgi-bin/gnocchi"! G$ D9 z7 k- L9 R, m- q% E
5 m8 ?( N2 p) K7 Q: f0 B1 T2 R
  ## Directories, there should at least be a declaration for /var/www/cgi-bin/gnocchi5 H  X. n) @/ m* T3 n

, _: R0 R0 r  ^4 u) z$ l" |  <Directory "/var/www/cgi-bin/gnocchi">
1 y$ c5 q1 O/ ^- L, s$ g7 b% b& N    Options Indexes FollowSymLinks MultiViews! ]% V% o7 V- B7 m& m
    AllowOverride None
% |2 }% ?) r! ^8 q* P2 `! @4 J    Require all granted
% {+ ^+ }  U+ I9 y5 f: R  </Directory># C* W; ~) C" U3 r( ]6 e
3 B: n# h: @& T4 j9 o/ `9 V% w+ h
  ## Logging3 ^3 F+ _2 u/ p: ]/ b% Y7 r6 V
  ErrorLog "/var/log/httpd/gnocchi_wsgi_error.log"
+ L7 m- E3 g( U4 u  ServerSignature Off5 a8 _- \( }) F3 x1 u4 `0 Z4 z& o9 p
  CustomLog "/var/log/httpd/gnocchi_wsgi_access.log" combined
" u- j. b, I6 ~, i( c7 O  SetEnvIf X-Forwarded-Proto https HTTPS=1& |1 i. H4 J* d/ N9 j
  WSGIApplicationGroup %{GLOBAL}% A- a, z+ s% K/ I1 ~, Q
  WSGIDaemonProcess gnocchi display-name=gnocchi_wsgi group=gnocchi processes=8 threads=8 user=gnocchi  M$ }, B6 V8 b; }. q0 N4 z3 C
  WSGIProcessGroup gnocchi
" {; ]/ [  Q; j* E( E; N! E  T  WSGIScriptAlias / "/var/www/cgi-bin/gnocchi/app"
' ?+ y* p2 }" u) ~; z</VirtualHost>
: b3 U" k/ w' C7 H$ W% H+ M
, _* \! k- v2 J8 z3 a  `
4. 复制 app.wsgi复制
# mkdir /var/www/cgi-bin/gnocchi/& k/ {9 @3 r/ z( f5 C6 n0 ~
# cp /usr/lib/python2.7/site-packages/gnocchi/rest/app.wsgi /var/www/cgi-bin/gnocchi/app
1 b- z+ K, w; N" K( o+ [0 ^2 E# chown -R gnocchi.gnocchi /var/www/cgi-bin/gnocchi
/ m& q& A5 u) ?7 n' }

) x4 a' N4 _" U7 p0 g8 y/ n5. 完成安装1. 初始化数据库复制
# su -s /bin/bash gnocchi -c "gnocchi-upgrade"( [8 a# e# b* \5 y6 J! `

8 \" Q* t/ C) a" i- P# c( [' C' K2. 重启 httpd 以加载 gnocchi复制
# systemctl restart httpd2 z% ^7 Z( r0 ~4 h& \/ A
) J' Q, S8 L% V3 ?6 [  h9 s
3. 启动服务并设置开机自启复制
# systemctl enable openstack-gnocchi-metricd
! d- |& q) J+ s! S# systemctl start openstack-gnocchi-metricd
0 U1 w" h  t/ H4 N5 }* W
  V- ]/ @: ^  l: E/ y
Telemetry 服务Aodh 服务 (ceilometer节点)先决条件1. 完成以下步骤,创建数据库
  • 使用 root 用户登录数据库
    复制
    $ mysql -u root -p
    . X" r- \2 }6 A8 X
    " I' n: n, c% c* D
  • 创建 aodh 数据库
    复制
    > CREATE DATABASE aodh;
    ( L; B8 ?' d# c$ Y/ Y

    : ?6 e8 V* ^6 Y) V
  • 配置 aodh 数据库权限(这里密码为 AODH_DBPASSWORD,按需修改)
    复制
    > GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'localhost' IDENTIFIED BY 'AODH_DBPASSWORD';
    6 h3 x2 k% H4 N( z9 u> GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'%' IDENTIFIED BY 'AODH_DBPASSWORD';  p& g$ \' X( k: R" F2 p) y

    8 |- u2 A/ u0 {2 t' I  g
  • 退出数据库

    5 n6 ~( D2 a8 v  v. F+ z/ V$ w
2. 加载 admin 用户认证文件复制
$ . admin-openrc; b0 H6 |3 u- z% x$ T& B: d  j
' g4 P6 l' R" E& _
3. 完成一下步骤创建服务认证
  • 创建 aodh 用户(用户密码为 AODH_PASSWORD)
    复制
    $ openstack user create --domain default --password-prompt aodh: T- V2 ?& \% R+ ?
    1 o' t3 s! \; E3 S: F& g3 M* L
  • 为 aodh 用户增加 admin 的角色
    复制
    $ openstack role add --project service --user aodh admin# V9 B4 _$ D" B8 g1 f+ l: k
    ; F4 K; @* z$ u& a* D6 I5 _5 S
  • 创建 aodh 服务实体
    复制
    $ openstack service create --name aodh --description "Telemetry" alarming' U/ Y6 O9 t" P8 }" s8 t
    4 U% v1 U% e, }" ~/ I
    : K/ G" M' Y7 Y' n8 u, [
  • 创建告警服务API endpoints复制
    $ openstack endpoint create --region RegionOne alarming public http://controller:8042
    9 @* e0 w8 E. ^2 e  C$ openstack endpoint create --region RegionOne alarming internal http://controller:8042
    ! j- z% x5 J- E  g0 t+ w( K" Q) }1 ?$ openstack endpoint create --region RegionOne alarming admin http://controller:80425 |& h- o  @" q7 v3 M  V

    0 l' E0 l/ A5 _  ]& N5 ?8 e/ {
    : b5 z& M2 Y- Z
安装和配置组件1. 安装软件包复制
# yum install openstack-aodh-api \/ @8 L9 f* J5 c& j; F
  openstack-aodh-evaluator openstack-aodh-notifier \
. X+ F& |- V7 V/ `/ P$ }  openstack-aodh-listener openstack-aodh-expirer \; v) N( t( A: w
  python-aodhclient -y# ?$ o! R9 j! l" m0 |! s
5 N# ^8 j6 R$ L$ {# a1 ?
2. 编辑 /etc/aodh/aodh.conf 文件加入以下内容复制
# vim /etc/aodh/aodh.conf) R% W( m; }$ A' D) i* _

5 {7 R$ I9 a0 x/ ~- B- o/ k[DEFAULT]
; E5 K. V+ V/ p" q' j- E* ktransport_url = rabbit://openstack:root1234@controller# O8 Z# i5 o% y2 K$ W0 m$ S# e
auth_strategy = keystone
; ?9 W" H! @+ @. q4 y/ _7 m% \' @: u2 [
[database]( A# i- Y  f; w
connection = mysql+pymysql://aodh:AODH_DBPASSWORD@controller/aodh
6 N7 x. s3 @0 K7 s1 a! g( G& o
% y  Z# t% G: l[keystone_authtoken]4 o0 i7 h8 S! M- H( ~: t: {
auth_uri = http://controller:5000
4 P1 j$ k: `3 i  x6 mauth_url = http://controller:353573 X8 L+ I- g, M8 A2 y' o
memcached_servers = controller:11211: h4 l, E3 Y3 s# ~4 K; c% X7 W
auth_type = password
9 e. Z% E" M+ m2 `+ h0 pproject_domain_name = default
/ `% A; P! Y" |user_domain_name = default
2 j* h0 [: L2 }7 D7 Y% D* e: Zproject_name = service
" Y; ^: N9 l) R& a! q( busername = aodh
& H% m* s4 W# b2 `7 ~& P$ |7 Ppassword = AODH_PASSWORD
, @( e, Y) K2 S1 `5 M2 k3 d1 g( |
[service_credentials]
  ~; k$ D) z# \5 f3 t8 yauth_type = password: Z( d/ S7 n; V* I4 k5 C
auth_url = http://controller:5000/v32 Q2 k9 N# [+ e) q
project_domain_name = default5 c8 Z  ~" N) G/ r, ]; W$ m
user_domain_name = default% x# q6 X; ~3 ]; ]* o
project_name = service8 g! g( B4 x7 G1 f, K
username = aodh
" |: L. Y8 {& p3 v& k; xpassword = AODH_PASSWORD' \% ^$ b2 L9 G/ Z! h2 x$ d2 ]7 \
interface = internalURL; U* r$ e7 o$ B* `+ x' r$ ?
region_name = RegionOne7 N& R- l4 S: Z. `% I$ }

% E0 b: J8 b0 K, I3. 新建 /etc/httpd/conf.d/10-aodh_wsgi.conf 文件,加入以下内容复制
# vim /etc/httpd/conf.d/10-aodh_wsgi.conf* U( d, D. e' n- l7 g( u" R3 k4 r

( h6 ^3 b; g+ z+ X, L' ~: cListen 8042
# g- M, j; c; c* E4 E$ {
1 V! {# Y, O5 D/ z4 K, Q<VirtualHost *:8042>$ u" c  d) k. y# G! z( j
  ServerName controller; @1 _- N1 k! q  H, Q

! O+ C4 ]% U0 ~$ t* J0 V0 `1 ?  ## Vhost docroot
, r! H% D: m- ?  DocumentRoot "/var/www/cgi-bin/aodh"
4 \# o% f* A" }
# y3 p0 Q' ~6 H  ## Directories, there should at least be a declaration for /var/www/cgi-bin/aodh
9 g  Z# B, N) P. i9 ^& ]( c1 Q
. O! O. e' |' o( w  u  <Directory "/var/www/cgi-bin/aodh">3 t; y6 |/ d5 ^' |
    Options Indexes FollowSymLinks MultiViews
! m: ]) q1 `$ b6 ~" D    AllowOverride None
" y  E' K( e7 h, L9 b2 m    Require all granted
! N; P& c1 r4 Z" d+ w* W2 [- e; u  </Directory>
1 r3 J) w% p$ E
# A8 J3 n0 U4 c7 O9 A! n( [  ## Logging/ _* O( ^4 z6 l  ~% m/ o
  ErrorLog "/var/log/httpd/aodh_wsgi_error.log"# {$ Y$ k: D$ p9 ^- H. S1 {+ M: L
  ServerSignature Off 2 M' C4 `, d& |9 Q+ v" k5 ?) E
  CustomLog "/var/log/httpd/aodh_wsgi_access.log" combined 7 @1 @3 y) W0 E. j+ K& C
  SetEnvIf X-Forwarded-Proto https HTTPS=1
% S* d, S/ X: H# Z) C; Y  WSGIApplicationGroup %{GLOBAL}$ D3 P% A. @7 \7 f) N! _
  WSGIDaemonProcess aodh display-name=aodh_wsgi group=aodh processes=2 threads=2 user=aodh: y4 @' s' ^5 f- R0 e# b8 B2 C
  WSGIProcessGroup aodh
% U# f7 u7 U9 M/ o4 }  WSGIScriptAlias / "/var/www/cgi-bin/aodh/app"1 \: h9 I" X7 K1 n* g8 Y; M9 d( y( f4 `- B
</VirtualHost>7 D- P7 r1 A; U; y

" [1 I& w( h% p( X; u2 _4. 复制 app.wsgi复制
# mkdir /var/www/cgi-bin/aodh// `9 k! D' r! n) x3 D9 V5 ^% V8 Y
# cp /usr/lib/python2.7/site-packages/aodh/api/app.wsgi /var/www/cgi-bin/aodh/app
. I2 V# d6 K* F# chown -R aodh.aodh /var/www/cgi-bin/aodh
) E& U; o; e" r3 P% T4 ^: n; H' u1 h

; q- [. ^5 J8 m; r% F3 ]9 W7 n完成安装1. 初始化数据库(仅当使用 SQL 数据库的时候才需要初始化)复制
# aodh-dbsync
3 f  P' ]7 d3 G6 n0 W4 I7 i

1 B( w7 z( b+ G9 v3 q4 u* L2. 重启 httpd 以加载 aodh复制
# systemctl restart httpd- Q  ?% V0 T, a1 c4 i1 q  v' M
4 {/ R, ^9 U& U: f4 V  w2 D; ^
3. 启动服务并设置开机自启(任一控制节点执行)复制
# systemctl enable openstack-aodh-evaluator.service openstack-aodh-notifier.service openstack-aodh-listener.service
, w3 E2 g- B) `& m# systemctl start openstack-aodh-evaluator.service openstack-aodh-notifier.service openstack-aodh-listener.service
. u( }% R  Y; g2 B* \) }- ~
1 X+ H3 T( a, g* U, W
Panko 服务 (ceilometer节点)先决条件1. 完成以下步骤,创建数据库
  • 使用 root 用户登录数据库
    复制
    $ mysql -u root -p
    8 K/ B5 m0 u5 D/ k1 w" ^

    , k: e" ^- \$ n( @4 M8 J
  • 创建 panko 数据库
    复制
    > CREATE DATABASE panko;3 @! I9 u' M' U& \$ r3 c* D: x( u
    8 I( }8 Y7 l( `
  • 配置 panko 数据库权限(数据库密码为 e0ee97b87b0be41b5ba0 )
    复制
    > GRANT ALL PRIVILEGES ON aodh.* TO 'panko'@'localhost' IDENTIFIED BY 'e0ee97b87b0be41b5ba0';/ ]( V6 g" \* c6 v4 T
    > GRANT ALL PRIVILEGES ON aodh.* TO 'panko'@'%' IDENTIFIED BY 'e0ee97b87b0be41b5ba0';
    - u) B( Q7 h, h' N3 O' O7 d2 D0 L
    2 e# l1 e, _* G9 \2 J# Q; @
  • 退出数据库
    0 [0 |/ R. V' B9 D8 b0 G
2. 加载 admin 用户认证文件复制
$ . admin-openrc
" \2 ]5 r! [, `

9 Y, I, r! z9 c) G. d9 |( D2 g3. 完成一下步骤创建服务认证
  • 创建 panko 用户(用户密码为 PANKO_PASSWORD)
    复制
    $ openstack user create --domain default --password-prompt panko
    / s, R0 _0 p) h; e! W
    $ A/ R- P" J  l, Z! S
  • 为 panko 用户增加 admin 的角色
    复制
    $ openstack role add --project service --user panko admin
    : ^3 Q# @+ A4 X  ]% I
    , t/ f' V/ W2 E+ k! w1 K5 e% t
  • 创建 panko 服务实体
    复制
    $ openstack service create --name panko --description "OpenStack Event Service" event; ^' C3 Z' b4 p- Q% L& F- p

    ( C% e  r8 c, ]6 w) `: i+ E9 b# X$ s
4. 创建Event服务API endpoints复制
$ openstack endpoint create --region RegionOne event public http://controller:8779
8 c0 c2 H- C- ^+ P+ G# Q9 L9 m3 ~; j0 L$ openstack endpoint create --region RegionOne event internal http://controller:8779
, G% z& W- `2 T. H$ openstack endpoint create --region RegionOne event admin http://controller:8779
' S1 g4 K0 P" j5 y  A

3 H" }' ^; B- V" `( X* _安装和配置组件1. 安装软件包复制
# yum install openstack-panko-api openstack-panko-common -y3 P; f, R$ m0 [0 P
$ Z; I# ^2 X" r8 F/ ~" H
2. 编辑 /etc/panko/panko.conf 文件加入以下内容复制
# vim /etc/panko/panko.conf
. l5 R$ v! @/ O6 E9 H: ]
) K  s7 d/ \+ K# d0 U; m* V4 y: p[DEFAULT]& z* M8 o7 }& B" A+ m
auth_strategy = keystone/ q1 j; m# ?. q0 r" i9 x
log_file = /var/log/panko/panko.log
. `7 @$ j8 O" alog_dir = /var/log/panko
" w7 _3 F7 ^# S- @6 w: @' h6 Z  A& U5 `5 F. n
[api]8 O, E2 {; C+ }6 b4 ]
host=0.0.0.08 ]* q7 ]2 ]: W" i1 Y
port=8779
# y! Y: h# f6 I" g* W% m- W5 Dworkers=29 c  r" s, ~/ F5 T; U
max_limit=1000
" [6 u6 U! F1 e6 {! ?; \5 H# `+ j) y- f8 S  S1 s) p
[database]! F. V; H! B0 v/ X. o1 v) h0 ?
connection = mysql+pymysql://panko:PANKO_DBPASSWORD@controller/panko0 {+ A/ W, M- a2 B
; Y- G; n( X% v! B
[keystone_authtoken]" o; h5 e: A. s
auth_uri = http://controller:5000* W  _. e7 t1 s" h$ D9 A: t  u
auth_url = http://controller:35357. y; S# h$ w+ p6 e' F
memcached_servers = controller
- {3 c& y4 \1 R$ B! U- d/ \+ Jauth_type = password# o9 u; e* U) T+ v( t" x
project_domain_name = default& r, _, N' J1 a
user_domain_name = default' d( G) L" P& G+ ]$ g$ A
project_name = service
! Y  ^3 J& l, Z8 T8 v8 Nusername = panko3 T& d0 }  f6 W9 ~. X3 B
password = PANKO_PASSWORD( v$ f/ C. }* L$ a7 }
: x  _6 c6 ^. Y3 b5 y9 [
3. 新建 vim /etc/httpd/conf.d/10-panko_wsgi.conf 文件,加入以下内容复制
Listen 8779
' ^( c( n( N7 L2 ?
1 d" {0 f; S1 A7 K6 K<VirtualHost *:8779>: L7 U; [% q* o
  ServerName controller
# V- Z/ a. {1 m9 Z; i- n/ i6 ^8 P! G- c. y( I  |# x
  ## Vhost docroot
# v3 N- ~$ H0 h3 |' X6 v  DocumentRoot "/var/www/cgi-bin/panko"! I" E$ R: ?- @( d& |: b

  n* s9 V% L7 e# _  B8 K1 `( h  ## Directories, there should at least be a declaration for /var/www/cgi-bin/panko, r$ ]1 b0 W* t4 t/ p* R3 b4 c

! \; L1 S, o6 ?% D- S1 U  <Directory "/var/www/cgi-bin/panko">
0 f4 T9 k# U4 y" }) Y2 m% h    Options Indexes FollowSymLinks MultiViews7 P: p8 V$ i" a
    AllowOverride None
$ M' b% d, |+ w    Require all granted
& g& k: u2 `6 Y( C  </Directory>
: s: Q' o. ]( n6 c2 }, X4 H
$ J! F, K+ X+ w2 B  ## Logging
% P6 R% ]" T* A$ Z  ErrorLog "/var/log/httpd/panko_wsgi_error.log"- m. j7 J8 J2 E& M" \/ o
  ServerSignature Off : ?& f, [. o8 D5 r  ]* u; `! U
  CustomLog "/var/log/httpd/panko_wsgi_access.log" combined
% D$ M0 w- R6 o7 a  SetEnvIf X-Forwarded-Proto https HTTPS=1
3 O" n/ ?& L9 K+ f& s# e% j. m5 _  WSGIApplicationGroup %{GLOBAL}. v5 k8 T7 A- o( S( D
  WSGIDaemonProcess panko display-name=panko_wsgi group=panko processes=2 threads=2 user=panko$ \- Z6 Z$ R9 M" W$ ^& {
  WSGIProcessGroup panko
: r3 w. H4 g7 r( s  WSGIScriptAlias / "/var/www/cgi-bin/panko/app"
9 |$ Y2 g  D- m6 }! x: _</VirtualHost>
9 u& M$ V# G- b9 i+ h
( q) f2 w& S' L) q; M% k# {
4. 复制 app.wsgi复制
# mkdir /var/www/cgi-bin/panko/- N+ w" [" \4 t1 `$ G, s  s( [
# cp /usr/lib/python2.7/site-packages/panko/api/app.wsgi /var/www/cgi-bin/panko/app$ a" a& B/ d! `" D
# chown -R panko.panko /var/www/cgi-bin/panko/% d8 g" ?+ b' I, u1 P

. p( H( s' P! Y% H' t" E5. 初始化数据复制
# /usr/bin/panko-dbsync. m1 ]6 c/ u9 E0 G+ Y2 K& n
4 ]& T5 {& w$ m. _; g! L
完成安装
重启 httpd 以加载 panko
6 p- C$ ~4 W$ \) J) h% e; g1 h7 ?
复制
# systemctl restart httpd
5 d- n% t( k, Y9 @9 b7 V
4 T" A% I  f/ ]1 `. K% K" Z: D
# l7 f! i) B5 \) N& t
Ceilometer服务安装和配置控制节点 (ceilometer节点)Ceilometer先决条件1. 加载 admin 认证文件复制
$ . admin-openrc
/ N& U: d: m7 J0 N

( y5 Q: q- r$ T* ^1 J! Z, Z/ j2. 创建服务认证,完成以下步骤
  • 创建ceilemeter用户(用户密码为 CEILOMETER_PASSWORD)
    复制
    $ openstack user create --domain default --password-prompt ceilometer4 M- A* J3 ^5 W3 b$ b
    3 v& x) _* U% j( U! Y6 B. p& n
  • 给ceilometer用户增加admin的角色
    复制
    $ openstack role add --project service --user ceilometer admin
    : ^: d5 I4 j5 r9 C( f% O6 G
    . R3 @0 `7 n- ?4 I( \  z2 x2 I; l
  • 创建ceilometer服务实体
    复制
    $ openstack service create --name ceilometer --description "Telemetry" metering4 u1 [, f$ z# J

    1 `; Y/ S" {) V6 ]9 Z0 _' x$ a8 I
  • 创建 Telemetry 服务 API endpoint
    复制
    $ openstack endpoint create --region RegionOne metering public http://controller:8777
    5 A+ U7 J- p6 \; t3 \6 s% X2 d$ openstack endpoint create --region RegionOne metering internal http://controller:8777
    ) c$ U4 |# {- S, O% m$ openstack endpoint create --region RegionOne metering admin http://controller:8777
    3 B& `+ X  m, y, }

    " `6 ^! V9 u% m: ?$ y; B+ ?' G/ o+ i
安装并配置组件1. 安装软件包复制
# yum install openstack-ceilometer-api \
/ S; C: h- X  T% N0 T  openstack-ceilometer-collector openstack-ceilometer-notification \/ ]$ @) q) j& i. ?
  openstack-ceilometer-central python-ceilometerclient  -y
9 Y2 s4 [  t( e% p' @  h' ?2 R
/ d" b1 \/ U1 k; c& k6 W
2. 编辑 /etc/ceilometer/ceilometer.conf 文件加入以下内容复制
# vim /etc/ceilometer/ceilometer.conf9 L% v9 J3 y  ~  a0 x0 a( L
[DEFAULT]" _9 `! z* a$ x; r5 D; V# r0 N
transport_url = rabbit://openstack:root1234@controller# q0 r- z6 U/ Q/ M9 F, j6 r
auth_strategy = keystone
4 N5 |2 }0 d, t) W2 vmeter_dispatchers=gnocchi' w/ i0 e: x/ G+ m4 L; x& j
event_dispatchers=gnocchi7 Q8 S. E4 x4 j

4 ]3 V! N# _7 J8 G! I5 b0 g[dispatcher_gnocchi]! l# z, O- g' P, o1 E  M+ p# n
filter_service_activity = False; g4 W+ v9 M7 v# U
archive_policy = high
& I/ H) K6 n- h/ f: H6 j( mresources_definition_file=gnocchi_resources.yaml
/ i# i8 T( ?9 _2 f; R/ u8 `url=http://controller:8041
4 b! n& n9 I5 M8 N0 u8 C
( C) t- g4 Z0 b2 E/ n$ Z/ @[keystone_authtoken]: ?3 }% y6 A8 c+ U2 E  f' ?
auth_uri = http://controller:5000: `# g9 Z5 S& |8 d
auth_url = http://controller:35357
( x  ^1 }; O$ a8 v* d2 bmemcached_servers = controller7 n# ?8 ~* Z! \5 `, o* `) N: |
auth_type = password1 L7 A7 R+ l8 h, M
project_domain_name = default
: }+ J* O: y* Uuser_domain_name = default1 w- P$ @0 \: e! I( _; \
project_name = service' s. G; G9 ~. b
username = ceilometer+ U* \/ M) l7 k9 z. S) r; _
password = CEILOMETER_PASSWORD/ K$ p4 _: }3 ]8 k2 k- U: D0 ^/ |
service_token_roles_required = True
& q, [3 B+ g; h0 A  z/ R
1 O/ x9 w/ N( j3 M" m/ x, L3 B: ?3 L[service_credentials]
3 p/ U/ S! u& L7 l0 W$ R2 |auth_type = password
" e) k; |; q0 W# L' Vauth_url = http://controller:5000/v3
( Y7 n. Y4 Z  z9 e/ M3 }project_domain_name = default
7 J1 z3 `; Y- M" Suser_domain_name = default
7 N) X# \) g7 L2 J# Iproject_name = service: C9 X7 h* ]1 s6 i& j
username = ceilometer( ?: N( n# P+ G" j' ~
password = CEILOMETER_PASSWORD1 ]/ W  n  a/ W+ W- c  Z' y
interface = internalURL1 Y* |+ |, n+ l2 M& S  N: q
region_name = RegionOne
5 Y2 f, z3 p+ A5 n
$ N1 A5 i. y, S! z% Y6 e! \4 G
3. 新建 /etc/httpd/conf.d/10-ceilometer_wsgi.conf 文件,加入以下内容复制
# vim /etc/httpd/conf.d/10-ceilometer_wsgi.conf
" f; U! C9 [) \$ P7 |
0 j3 c0 u( J4 B- t! n8 z# t' LListen 8777
$ ^$ x9 J2 j( k) _
# e6 O& g8 t  Z0 I2 I<VirtualHost *:8777>. e3 ]! B& k3 }$ s1 b9 f' F" q
  ServerName controller% ^$ s! f% |. S# d! O. {- s+ s

( Q# H- n  ]( U: W  ## Vhost docroot9 K( _& A! c' `6 t/ }* n% c
  DocumentRoot "/var/www/cgi-bin/ceilometer"( L2 _/ K3 k' F" e# s% z
( U5 X# }6 h. g2 s
  ## Directories, there should at least be a declaration for /var/www/cgi-bin/ceilometer
! z+ w& Z0 _2 a3 U. w- l. y: b% c' X3 G' Y) M! }8 i
  <Directory "/var/www/cgi-bin/ceilometer">0 `( |; d! t) J. o* u% i% O7 A
    Options Indexes FollowSymLinks MultiViews7 P: m) U* i3 J, H4 ]" Q
    AllowOverride None4 R3 r0 D3 h& [) i, {
    Require all granted( t  t& F( N* f& h
  </Directory>/ X; d2 Y/ o% p9 H8 d) a
# J4 C, k0 j2 W% U  q* j7 V
  ## Logging
% q& X+ |2 j& \! {2 L  ErrorLog "/var/log/httpd/ceilometer_wsgi_error.log"
3 b: `7 N6 O: H- k* U- x  |! W  ServerSignature Off
8 W9 ]. B5 n$ G8 C5 A  CustomLog "/var/log/httpd/ceilometer_wsgi_access.log" combined 1 ]- y7 f) S: u; \3 _
  SetEnvIf X-Forwarded-Proto https HTTPS=1
1 U+ {" z. D/ E2 t! h. [; P  WSGIApplicationGroup %{GLOBAL}
2 s5 S9 t' d, Q4 }8 d- Z' s, t  WSGIDaemonProcess ceilometer display-name=ceilometer_wsgi group=ceilometer processes=1 threads=2 user=ceilometer
8 p" N2 A5 O3 x3 O5 `  WSGIProcessGroup ceilometer5 H; u+ c3 y% `% Z3 ~
  WSGIScriptAlias / "/var/www/cgi-bin/ceilometer/app"+ Y6 z1 Y6 U% g$ ~0 H  f; O" \
</VirtualHost>8 ^! d, m6 a: J0 e& h

* }4 L& |% ~' F4. 复制 app.wsgi复制
# mkdir /var/www/cgi-bin/ceilometer/) a; m( m& Y5 P
# cp /usr/lib/python2.7/site-packages/ceilometer/api/app.wsgi /var/www/cgi-bin/ceilometer/app' i9 p) |4 U+ Z: P& \: j
# chown -R ceilometer.ceilometer /var/www/cgi-bin/ceilometer/9 a$ v- A* {9 n$ f8 h7 i8 H
# \- a. Z9 Q' V; T
  • 运行一下命令在gnocchi中创建ceilometer的资源复制
    # ceilometer-upgrade --skip-metering-database! Q4 }% f* u. V1 ~0 n
    6 n2 c; ~) d2 n

    3 Z$ f* Z$ _2 X0 x2 t4 [
完成安装1. 重启 httpd 以加载 ceilometer复制
# systemctl restart httpd$ K4 k" D, [# }4 K- D9 }5 D, b

7 p. I7 `" a0 h7 J) G2 |& R" [; J5 O  I2. 启动服务并设置开机自启复制
# systemctl enable openstack-ceilometer-notification.service \# U& v  e) y* \+ R" M
  openstack-ceilometer-central.service \$ t& b4 }) C' J% L, z
  openstack-ceilometer-collector.service
* M' N$ D1 ]# H+ Y, _, M6 \# systemctl start openstack-ceilometer-notification.service \
5 I! r- n2 K& a5 J  openstack-ceilometer-central.service \. l* y4 _. J2 `2 |
  openstack-ceilometer-collector.service7 _/ U- o6 x! b( i0 j8 V8 k

1 Q) O7 P9 t1 q' u' Q1 h4 L5 ^1 g安装和配置计算节点 (计算节点)安装并配置组件1. 安装软件包复制
# yum install openstack-ceilometer-compute python2-wsme# @) A. p' U  T, T

! W) I' D; B9 ]( j7 D2. 编辑 /etc/ceilometer/ceilometer.conf 文件加入已下内容复制
# vim /etc/ceilometer/ceilometer.conf7 N, H  T' y/ M% `3 @: {
[DEFAULT]
; X: H2 w# T2 q4 F0 l; V; Ptransport_url = rabbit://openstack:root1234@controller+ n$ p$ d. I- g7 z9 U3 Z; N& E
auth_strategy = keystone( {2 d) L7 q# u! L

; B" r& u7 S1 N& s4 ?7 C/ B[keystone_authtoken]
1 \* R3 W/ c2 }* X0 dauth_uri = http://controller:50003 ^# l4 F; X' A6 x2 Y! s
auth_url = http://controller:35357: R8 v/ i3 s1 u" v2 S" r9 i3 L
memcached_servers = controller01:11211,controller02:11211,controller03:11211- f# g% k* M0 d- s& Y. K
auth_type = password( u/ N+ K& a4 |9 g) `, r& s
project_domain_name = default# O: u' T& S' K" C# F9 q
user_domain_name = default' I0 g; g' t! N+ [- E9 [
project_name = service8 a2 w: k2 b) q+ ?2 D% A- o
username = ceilometer
; r" K: m6 r+ i* }2 W# x5 cpassword = CEILOMETER_PASSWORD3 O; I( f; \, V8 C; v! \. t

* A! Y0 z8 T+ x, O8 q% o1 W[service_credentials]6 I$ n) H5 A- `' j8 f6 N" D
auth_url = http://controller:5000" v9 z, G; X8 S; P4 [. ^/ {" {
project_domain_id = default
0 N7 M! k; q+ M5 R' ~1 Huser_domain_id = default
# z8 Y* G9 r9 ^1 mauth_type = password6 w8 L$ y$ Y2 b& k
username = ceilometer$ ~) j2 |/ p2 |4 l: Q9 ^$ |% [
project_name = service
5 l! S7 g9 B$ Q1 Q% S$ Jpassword = CEILOMETER_PASSWORD
& ?3 u! e( E8 U8 ointerface = internalURL$ P" N/ E7 u( c& ~( O  J
region_name = RegionOne
" M5 `- u* X2 l; B" b- z
- ?- ?6 I; h2 X1 {
配置计算节点使用Telemetry
编辑 /etc/nova/nova.conf 加入以下内容
) ^: ]5 J0 Y' m4 p+ i' b  z- _
复制
# vim /etc/nova/nova.conf; W: L5 i6 Q0 }7 a+ f+ R3 p/ k
[DEFAULT]
5 F' ^) p1 T  g, i3 _, Uinstance_usage_audit = True
: B4 ~3 _7 q4 U: B" m4 ]) ainstance_usage_audit_period = hour# o, h' @5 C$ C/ W8 B0 g
notify_on_state_change = vm_and_task_state, Q" y7 E, W3 _: i2 G9 t; ^

5 L: ?7 x8 k% [# F6 p2 \/ p[oslo_messaging_notifications]
8 C+ o4 C8 [- A' A7 _driver = messagingv2" u+ }0 y3 ^% n' c4 h! Q& v

: a1 h! J8 `% t& N4 U
% r6 N: o5 ~# r0 g$ R. c1 |- \" \/ q完成安装1. 启动agent并设置开机自启复制
# systemctl enable openstack-ceilometer-compute.service
) P6 x4 T6 S6 d4 v/ W9 @) [# systemctl start openstack-ceilometer-compute.service  N3 l' B8 ?+ ?/ d; B
( q# x, Y- d2 d2 @. ], t
2. 重启计算服务复制
# systemctl restart openstack-nova-compute.service
( M7 Z: e, `) y( }- z2 h

2 m: w* b  K. w, A配置 opesntack 服务以支持ceilometer (控制节点)Cinder1. 配置cinder使用telemetry
编辑/etc/cinder/cinder.conf文件加入以下内容
5 H$ |4 [( p( Z9 |% I5 W
复制
[oslo_messaging_notifications], `( v) C& v  K3 o8 l4 O8 _
driver = messagingv24 [, c$ S/ D( j0 ^$ b
2 V, b3 V, U3 `1 |  g6 x# A

. S: ^4 i4 z, c6 X4 F) T2. 通过定时任务获取阶段性的通知,例如没5分钟执行一次复制
# crontab -e
3 m  `6 @0 Q4 O: `; u8 m  s3 W* e1 f
*/5 * * * * /usr/bin/cinder-volume-usage-audit --send_actions
1 O# ^/ s! d9 l+ d3 q/ V. Y

8 w9 E% O' n4 t) u: e. e. {1 f3 ?3. 重启服务复制
# systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service openstack-cinder-volume.service, u+ f/ f  l! i# Z6 o
* g7 ~) l- F8 W; |; Y
Glance1. 配置镜像服务使用telemetry
编辑/etc/glance/glance-api.conf 和 /etc/glance/glance-registry.conf
4 ^& u% Y7 b" E! F. {  @- E
复制
[DEFAULT]' }, E7 T0 R: _6 a+ y( [1 b# q9 B
transport_url = rabbit://openstack:root1234@controller
3 C3 ?" H& {: D
3 N% X1 P9 F  q9 `) n7 x2 b[oslo_messaging_notifications]' n* }/ }0 `( v% X( t9 I
driver = messagingv2( e/ d  p( Y" W
! i2 n# X( [9 l, w- q8 A

; e/ Q' h6 T5 d7 r) ^7 T2. 重启服务复制
# systemctl restart openstack-glance-api.service openstack-glance-registry.service  u0 U! n' p9 M
& |9 w9 C4 x; a
Neutron1. 配置网络服务使用telemetry
编辑 /etc/neutron/neutron.conf 文件加入以下内容
) c0 c& n" Q% N3 D, f9 t
复制
[oslo_messaging_notifications]; W3 n- L4 o6 Y2 ?
driver = messagingv2' q: V, J# c2 i. L; h
+ ?2 p' S" q( r" n

, y- K( \: _9 B% V: v2. 重启服务复制
# systemctl restart neutron-server.service* V9 x# u5 s; R! ~2 D! b) {
4 t% `+ j7 _  F: q
) U3 G2 B+ J: u; i  j
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 03:38 , Processed in 0.016283 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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