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

openstack ocata部署ceilometer+gnocchi

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2018-12-5 22:46:56 | 显示全部楼层 |阅读模式
安装Gnocchi先决条件1. 完成以下步骤,创建数据库
  • 使用 root 用户登录数据库
    复制
    $ mysql -u root -p' `# Z- ]- u, G
    + N& A7 f( w- f/ m9 i# U
  • 创建 gnocchi 数据库
    复制
    > CREATE DATABASE gnocchi;/ ?. Z- ^# B. {6 ^: M9 r
    6 C, m8 r  {& Q; p8 F8 y
  • 配置 gnocchi 数据库权限(这里密码为 GNOCCHI_DBPASS,按需修改)
    复制
    > GRANT ALL PRIVILEGES ON gnocchi.* TO 'gnocchi'@'localhost' IDENTIFIED BY 'GNOCCHI_DBPASS';
    9 ?  _' \. V/ B) M, Y' ~> GRANT ALL PRIVILEGES ON gnocchi.* TO 'gnocchi'@'%' IDENTIFIED BY 'GNOCCHI_DBPASS';; @" y( v5 t' `! u

    3 ?. t( [7 W4 k8 _; ~7 ^  \# N
  • 退出数据库
    ; P8 p5 i- r) _7 q" G# a
2. 加载 admin 用户认证文件复制
$ . admin-openrc5 C" X/ a+ k- w) }$ `, p1 V
- `; o% P. x) `5 F5 d+ [' B2 [
3. 完成以下步骤创建服务认证
  • 创建 gnocchi 用户(用户密码为 GNOCCHI_PASS)
    复制
    $ openstack user create --domain default --password-prompt gnocchi3 {- Q! p0 h" u; Q0 W& F
    : Q& ]3 K: [: O6 W% `; V* G
  • 为 gnocchi 用户增加 admin 的角色
    复制
    $ openstack role add --project service --user gnocchi admin
    3 b' |1 ?) }  d3 N) g
    7 K, V3 Q% w- |/ ^8 v
  • 创建 gnocchi 服务实体
    复制
    $ openstack service create --name gnocchi --description "Metric Service" metric, `7 K, |% C' o$ f* z

    , b$ }0 r% O8 q1 k* }/ n- ]# x
    / g7 `, e2 P# D5 _. h+ r5 h7 ?
  • 创建 gnocchi 服务API endpoints复制
    $ openstack endpoint create --region RegionOne metric public http://controller:8041
    ) f1 m* q/ H- A  y3 h3 a/ h$ openstack endpoint create --region RegionOne metric internal http://controller:8041
    7 q: _' q* ^) A: u$ P" \$ openstack endpoint create --region RegionOne metric admin http://controller:8041
    9 j# S$ j* Z2 P/ O! w' S
    , i1 j  H; s, f9 L1 l
    + @4 V. b2 D* X" N. `- O8 ]
安装和配置组件1. 安装软件包复制
# yum install openstack-gnocchi-api openstack-gnocchi-metricd python2-gnocchiclient -y- j3 }! D' c" ?$ |" B, [6 A
+ D# y* r% [! i% ^. y7 c6 y# I
2. 编辑 /etc/gnocchi/gnocchi.conf 文件加入以下内容复制
# /etc/gnocchi/gnocchi.conf
& B- j, ?  o1 P6 j$ t5 q; R& M
; V& a5 s  s6 E7 C% k9 g' U3 i- x# I[DEFAULT]) U" a0 h; ?: }
log_dir = /var/log/gnocchi
: E9 j) `7 |3 U
4 @! I" c$ i6 t5 `0 Y& u' R[api]
9 {8 M5 I  k. uauth_mode = keystone9 R  M: u, e; s6 H$ z, P4 K

; {; C: N5 G  n7 v[indexer]
: O8 H5 U# s; K& M6 Hurl = mysql+pymysql://gnocchi:GNOCCHI_DBPASS@controller/gnocchi* i0 e: S2 K+ |( Z* z

. E' v  M, v2 V' z0 w1 p  x[storage]# N5 |- c1 E5 K, Q; t8 |6 C
driver = file
9 A' B8 ]2 v6 `' ~% c: Efile_basepath = /var/lib/gnocchi3 Y: m" }, E) l% \3 l& c0 O, k

1 n  k  i9 F& _/ x[keystone_authtoken]
3 I: B* d7 D: _5 q8 iauth_uri = http://controller:5000
+ n5 [9 I; H6 cauth_url = http://controller:353571 T0 y, A8 _% w  l
memcached_servers = controller:11211$ B5 y! T( y( d9 c+ S5 Z# X; {
auth_type = password
) x* w3 l5 ?8 P" I. r: iproject_domain_name = default0 w. Z! D; H1 j2 J- k
user_domain_name = default
% Q" B0 Z& `2 Q  T" dproject_name = service
# q* w7 ]' R- V, q7 h# R) kusername = gnocchi  l% x2 u! A9 |% c6 G2 o( d% q
password = GNOCCHI_PASS
4 V# M- j8 A% [9 Q5 b- B

7 ~! `# \/ e9 H% P3. 新建 10-gnocchi_wsgi.conf 文件,加入以下内容复制
# vim /etc/httpd/conf.d/10-gnocchi_wsgi.conf
  e2 a% ^% J8 m% ~2 Q; G% V1 ?9 Y: ?- K; c
Listen 80418 c& b. v, Z9 r/ h+ s
) d0 R! b# j: X& ]+ \4 Y' j
<VirtualHost *:8041>
2 {- ]6 V( M# i, y, Y  ServerName controller: L9 B& X9 [; |. L
4 V7 p5 ]5 b- x4 W6 o8 e5 [) h6 h
  ## Vhost docroot' h3 I/ b+ z% D' W
  DocumentRoot "/var/www/cgi-bin/gnocchi"
; E- x; h' d, G! C; V
5 a# Q: ~  j' O  ## Directories, there should at least be a declaration for /var/www/cgi-bin/gnocchi1 Z* L, H5 u  v
- c7 o$ J/ _2 [
  <Directory "/var/www/cgi-bin/gnocchi">( ]0 }) `! v" ~6 h3 h. e: S0 z
    Options Indexes FollowSymLinks MultiViews
5 I( C4 ^5 r8 a- K. R/ J5 a: a    AllowOverride None
  U, z4 p+ K0 W: _& I( W    Require all granted, m+ J# {- s5 {% V" [3 f
  </Directory>- G- s  {4 I5 @6 h& r* i
( n1 J8 A! ?  i, W: V5 y, u, w1 ?
  ## Logging
# p/ X1 x8 ~8 `$ m2 N$ ?. w, h4 W  ErrorLog "/var/log/httpd/gnocchi_wsgi_error.log". a8 k& C- l, ], @
  ServerSignature Off
0 p  u  c8 n& e  CustomLog "/var/log/httpd/gnocchi_wsgi_access.log" combined: v& S0 `" y, D- K; ~+ z
  SetEnvIf X-Forwarded-Proto https HTTPS=1
) X$ R3 p) C1 E, K* ]  WSGIApplicationGroup %{GLOBAL}
8 ~: G; z; s& k) n1 @, m  WSGIDaemonProcess gnocchi display-name=gnocchi_wsgi group=gnocchi processes=8 threads=8 user=gnocchi( V6 @2 k$ u) }" {
  WSGIProcessGroup gnocchi: G( F# P" G3 u* t
  WSGIScriptAlias / "/var/www/cgi-bin/gnocchi/app", ^# S/ p3 w& Y& X& P: p. j
</VirtualHost>
  Z) X' J. z5 l. c$ G

7 P5 b3 l. v: C7 S4. 复制 app.wsgi复制
# mkdir /var/www/cgi-bin/gnocchi/! ^* m: N' ?: F" P
# cp /usr/lib/python2.7/site-packages/gnocchi/rest/app.wsgi /var/www/cgi-bin/gnocchi/app
5 A3 D7 X( w* ?# chown -R gnocchi.gnocchi /var/www/cgi-bin/gnocchi
, D1 k6 \5 {& r* V

  P- ?% f& I! b) p- b5. 完成安装1. 初始化数据库复制
# su -s /bin/bash gnocchi -c "gnocchi-upgrade"
) [, R1 M4 c# u1 [+ l) d
4 e7 d  v+ z: f/ Z( G  L) n/ a3 v
2. 重启 httpd 以加载 gnocchi复制
# systemctl restart httpd
6 Q( W+ c+ Y' _2 P1 f! v

& @. Z' G0 i6 _5 c4 i' k3. 启动服务并设置开机自启复制
# systemctl enable openstack-gnocchi-metricd
$ p9 ~( a6 H0 M+ ?# systemctl start openstack-gnocchi-metricd
8 K. z" q$ U8 r' e! \

% \" I- _5 V! j  q5 jTelemetry 服务Aodh 服务 (ceilometer节点)先决条件1. 完成以下步骤,创建数据库
  • 使用 root 用户登录数据库
    复制
    $ mysql -u root -p
    3 T4 S0 R6 J4 G
    4 B: o" |9 V( D& ^' e
  • 创建 aodh 数据库
    复制
    > CREATE DATABASE aodh;) A# `9 I* s! x: y
    ' s! [, Q1 V' f3 ?5 S9 p
  • 配置 aodh 数据库权限(这里密码为 AODH_DBPASSWORD,按需修改)
    复制
    > GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'localhost' IDENTIFIED BY 'AODH_DBPASSWORD';/ O3 q3 V/ ]: I: _% q" Q3 p
    > GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'%' IDENTIFIED BY 'AODH_DBPASSWORD';" ^$ X( P5 r# Y, J

    ) A( N- f5 Z* g# v) G
  • 退出数据库

    : a! i6 I& O+ z+ K4 L  V  N
2. 加载 admin 用户认证文件复制
$ . admin-openrc) U5 ]: |% [( b8 ]( C/ x

$ p& z  O* w1 R8 f3. 完成一下步骤创建服务认证
  • 创建 aodh 用户(用户密码为 AODH_PASSWORD)
    复制
    $ openstack user create --domain default --password-prompt aodh$ C, w2 _0 n6 e5 ^+ T* s& q$ r5 t
    2 p) h) R6 P. m" c  \
  • 为 aodh 用户增加 admin 的角色
    复制
    $ openstack role add --project service --user aodh admin
    ' g5 X: Y+ H& q( d

    # R% `0 s) F" L  N# @# o3 U
  • 创建 aodh 服务实体
    复制
    $ openstack service create --name aodh --description "Telemetry" alarming% @* v: R* R% C# w. F

    + H6 k. q) F9 H3 e0 N7 p3 l9 M0 ^$ B# ^- f; ^/ U' A
  • 创建告警服务API endpoints复制
    $ openstack endpoint create --region RegionOne alarming public http://controller:8042' ^$ y/ ~3 |" z
    $ openstack endpoint create --region RegionOne alarming internal http://controller:8042/ S! s( _, l5 Z+ X) G) ?' p
    $ openstack endpoint create --region RegionOne alarming admin http://controller:80427 }& I. o2 ^8 B3 @) _% t, }

    ) P* Y5 ?1 ]- ]' `  c7 [( m% @6 ^8 b" u, ^5 F. H3 c/ ?% C
安装和配置组件1. 安装软件包复制
# yum install openstack-aodh-api \1 J, p7 q, @, K0 V  y4 B
  openstack-aodh-evaluator openstack-aodh-notifier \8 D* f  Y0 v( `  l4 ?5 \7 }. ]. w2 W
  openstack-aodh-listener openstack-aodh-expirer \4 [% I; s1 L' [; s0 [5 u3 z/ p
  python-aodhclient -y
. B/ K0 P5 k# |3 F' ?

; N- Y  y, K7 d' i; A2. 编辑 /etc/aodh/aodh.conf 文件加入以下内容复制
# vim /etc/aodh/aodh.conf& n5 u# B5 X/ {' p( p6 i. C3 b

7 d$ [: z( {0 s+ Z1 m  z- `! D$ M[DEFAULT]
: p/ n3 A, y3 C# M( G0 @" _transport_url = rabbit://openstack:root1234@controller
* N, U# g' v" X7 C4 `0 |) x" F8 yauth_strategy = keystone2 P5 m& F9 g  P
: ~8 B  ^0 }) `) d) H3 M
[database]
  V9 @3 j) B& s7 o- h8 Pconnection = mysql+pymysql://aodh:AODH_DBPASSWORD@controller/aodh" x6 j: e9 A5 @$ b1 e6 N  q

0 |$ ~. W7 L$ I! C$ t[keystone_authtoken]  X$ J1 p; u- [
auth_uri = http://controller:50001 U# }9 a; F& {# C: k/ H- D: L! u' _
auth_url = http://controller:353577 e: u+ n4 S( X% @
memcached_servers = controller:11211. [1 N- Q: k; l5 s2 i
auth_type = password2 W6 B2 P2 F6 R. }7 j3 Y
project_domain_name = default
; B- I2 W  V- k, suser_domain_name = default# o9 Y4 v6 P- Z/ f, L  V
project_name = service2 }! q$ M+ m7 i+ N
username = aodh
; Q; ^" ]# M  X7 ], A6 Q( Npassword = AODH_PASSWORD
1 h$ l) c1 }; H+ \4 ?8 C. s( O5 i7 i8 O) S
[service_credentials]
/ p/ ?2 c* e. X9 A1 {" {auth_type = password. i! C) f- I4 t. k- K
auth_url = http://controller:5000/v3: R0 i6 C! O( b8 _( G
project_domain_name = default3 |- m: J7 _. ]; q: A
user_domain_name = default
- w8 _+ l/ I* a" A  ~project_name = service" B- R% D2 G# Y! _0 B
username = aodh
4 Y  M7 J& @8 Tpassword = AODH_PASSWORD  o* N. G' |/ N- P3 F5 }& {. u: v; n3 I
interface = internalURL
4 P. }5 j: y4 ?$ Jregion_name = RegionOne
9 _$ \- Y1 c. J, @8 i
4 _+ I$ X6 g8 [/ }$ ~- x
3. 新建 /etc/httpd/conf.d/10-aodh_wsgi.conf 文件,加入以下内容复制
# vim /etc/httpd/conf.d/10-aodh_wsgi.conf& f2 y/ J6 G2 d
; D( Y+ ~# U7 f
Listen 8042
1 F' ~; I4 {( B7 O3 d; w. p: w" N& S" y1 h. a- q7 t$ I8 |. \
<VirtualHost *:8042>, X- L! T( O' p& z
  ServerName controller
' `  a, Z( |! L/ S7 s3 r& N$ F6 `6 j  G) |. ~
  ## Vhost docroot
& ^/ i8 m. {. J, d) i0 i; ]6 c3 h  DocumentRoot "/var/www/cgi-bin/aodh": q5 N' C3 E7 J- T

) g& E8 S7 i% h( Q$ ~8 {1 \  ## Directories, there should at least be a declaration for /var/www/cgi-bin/aodh
# T( J" N) a: ~* q: X6 k8 F! X$ ?. A  p  L8 w+ M& q" l
  <Directory "/var/www/cgi-bin/aodh">" C6 t0 M1 q  `. `8 |* a7 Q
    Options Indexes FollowSymLinks MultiViews
( j' G' z- U4 G- R5 D- b5 p( a9 L    AllowOverride None; v$ u" l0 o0 @  p) }
    Require all granted
# I% _9 T2 U. _/ H# }) a  </Directory>1 T! R1 P, ^/ _, i
# w4 e, }" j6 x8 B$ Q0 R0 Y
  ## Logging, O0 [4 n7 Y: }$ S
  ErrorLog "/var/log/httpd/aodh_wsgi_error.log"& v( Y1 p: x) ]" U- {$ D( b
  ServerSignature Off   B- `% m2 R+ x- b1 C# u
  CustomLog "/var/log/httpd/aodh_wsgi_access.log" combined
% J  |0 f+ ~+ a- R  Z1 S( \/ s6 O  SetEnvIf X-Forwarded-Proto https HTTPS=12 q; X' A/ R- Q. _, D& R4 P
  WSGIApplicationGroup %{GLOBAL}2 t/ o; ^8 ^; V
  WSGIDaemonProcess aodh display-name=aodh_wsgi group=aodh processes=2 threads=2 user=aodh; W- ?) A# m! S" i
  WSGIProcessGroup aodh1 \* i  Z& q+ q6 U" b" E1 S- ^; Z
  WSGIScriptAlias / "/var/www/cgi-bin/aodh/app"( J5 o0 F2 d- ?: F$ ?. Z
</VirtualHost>
7 ^- c4 E( E4 p- Y0 q1 ~  c

  c  t5 M8 z7 r4. 复制 app.wsgi复制
# mkdir /var/www/cgi-bin/aodh/
* f+ A( D! I% B7 d# cp /usr/lib/python2.7/site-packages/aodh/api/app.wsgi /var/www/cgi-bin/aodh/app
8 W3 Y' R3 N6 c& j7 h# chown -R aodh.aodh /var/www/cgi-bin/aodh3 b" t2 N! @' Z( y) k9 i+ \
+ v: t& ^  U8 u2 [- }" u
完成安装1. 初始化数据库(仅当使用 SQL 数据库的时候才需要初始化)复制
# aodh-dbsync- u% ^: m6 ]; Y
8 E) c  M& x+ z7 W+ m
2. 重启 httpd 以加载 aodh复制
# systemctl restart httpd
" w. I2 Q/ R. n7 e3 C8 y) q

3 i, w! @. d* q% m9 I4 K2 D$ a! W3. 启动服务并设置开机自启(任一控制节点执行)复制
# systemctl enable openstack-aodh-evaluator.service openstack-aodh-notifier.service openstack-aodh-listener.service9 Y2 I; _) ?, R
# systemctl start openstack-aodh-evaluator.service openstack-aodh-notifier.service openstack-aodh-listener.service* }- g  m2 |' m5 O, c

4 z$ a: ?7 ], |8 hPanko 服务 (ceilometer节点)先决条件1. 完成以下步骤,创建数据库
  • 使用 root 用户登录数据库
    复制
    $ mysql -u root -p
    + T" z, _; A+ z- q
    ' m/ n( V8 K: e4 E+ d
  • 创建 panko 数据库
    复制
    > CREATE DATABASE panko;
    & _3 m! d) M1 P  G+ s( X, K* X
    5 H9 o: I, C" x4 c! N
  • 配置 panko 数据库权限(数据库密码为 e0ee97b87b0be41b5ba0 )
    复制
    > GRANT ALL PRIVILEGES ON aodh.* TO 'panko'@'localhost' IDENTIFIED BY 'e0ee97b87b0be41b5ba0';
    2 S, @3 `8 Z% l> GRANT ALL PRIVILEGES ON aodh.* TO 'panko'@'%' IDENTIFIED BY 'e0ee97b87b0be41b5ba0';8 t8 O. m' V* ]: {: D* b

    7 b2 ^/ ~( R- }5 W, x2 ?
  • 退出数据库
    3 C( H: _% J# U& O3 w
2. 加载 admin 用户认证文件复制
$ . admin-openrc6 t2 H' n& u) g3 O, v; }9 g
& Y6 q' s9 F  g7 t
3. 完成一下步骤创建服务认证
  • 创建 panko 用户(用户密码为 PANKO_PASSWORD)
    复制
    $ openstack user create --domain default --password-prompt panko
    9 ~' a/ E( q8 j
    2 ?  g' t3 s$ k. d
  • 为 panko 用户增加 admin 的角色
    复制
    $ openstack role add --project service --user panko admin
    2 F* Q' h9 U/ h1 B5 O

    ! o; C5 y. o  p+ R$ n' A
  • 创建 panko 服务实体
    复制
    $ openstack service create --name panko --description "OpenStack Event Service" event
    1 n4 ?1 `7 Z2 ~: U

    1 b' p9 y- `; x" |% E( w+ M0 U% E$ b/ _3 x1 I; D8 w
4. 创建Event服务API endpoints复制
$ openstack endpoint create --region RegionOne event public http://controller:8779; r6 I# N1 O: I
$ openstack endpoint create --region RegionOne event internal http://controller:8779
7 X; K1 ]5 j5 ?* Y$ openstack endpoint create --region RegionOne event admin http://controller:87793 @3 S$ S( x9 W/ ^8 \' ]# z

4 s5 p- J% ]4 Q3 r+ ]+ G, k0 u( h安装和配置组件1. 安装软件包复制
# yum install openstack-panko-api openstack-panko-common -y6 `8 X; |+ q: E# r+ Q5 o9 t
/ v0 P1 V& w4 l5 Z- @9 z
2. 编辑 /etc/panko/panko.conf 文件加入以下内容复制
# vim /etc/panko/panko.conf
5 p/ \7 h, m; B8 B. [" p) H
/ N" e% u$ q/ S" D[DEFAULT]9 X+ p8 P5 a7 x" S
auth_strategy = keystone. N8 ]7 F- i$ G  S3 J/ B
log_file = /var/log/panko/panko.log- O. ]* V; v% M& p4 o2 e
log_dir = /var/log/panko
* g, j) v$ D+ f  ?/ d; a+ e: E
) V5 S& o2 t7 S, f3 G" R[api]
- I- f" x3 w  I' n  }  m6 bhost=0.0.0.0: ^7 j" B7 d3 L/ [
port=8779# U' _6 z' a, i, p7 h
workers=2+ V% A+ e% L2 g' [, `, W3 j
max_limit=1000$ `  A: a. d- `3 c
" f* k8 O1 E7 T8 `: J$ H& P
[database]
% d6 v; {/ I) X- I* I" Rconnection = mysql+pymysql://panko:PANKO_DBPASSWORD@controller/panko
+ v7 ?6 u) l7 }. H& p/ q- U8 ]3 `( v# @* i  t) o+ X& S; }; {
[keystone_authtoken]8 g/ B  q3 J+ ~  T) K
auth_uri = http://controller:5000! R& G3 P  O4 n9 V/ p' D& O, `4 }: E5 w
auth_url = http://controller:35357. D' n1 D1 c1 F0 v% q0 Y
memcached_servers = controller! h, V/ g, C7 T. }3 \2 s1 h+ C
auth_type = password
: \0 q) `4 {4 s! w# s, r1 {project_domain_name = default( e; l* C3 |) U! E6 b0 X( f8 L  ?
user_domain_name = default( v$ i; m9 Q! j" w# O
project_name = service' }! S5 \1 m0 e* [2 @" y
username = panko
5 [8 Y. x5 D+ Ipassword = PANKO_PASSWORD
5 x8 u% k) U5 M

+ V* m( _. @; A$ {3. 新建 vim /etc/httpd/conf.d/10-panko_wsgi.conf 文件,加入以下内容复制
Listen 8779
7 L+ v; ?' l' Z$ Q) o& n/ Q* x5 R! Q0 ]1 [/ j
<VirtualHost *:8779>3 n& J7 e3 N. j! L
  ServerName controller
$ T2 _. P! P# c2 i  ^$ j8 Y; F
* n5 q5 w5 @, E$ N; ~  Q  @  ## Vhost docroot/ c/ V+ y- h) a; G* E
  DocumentRoot "/var/www/cgi-bin/panko"
8 [3 I6 [( a" d5 u2 ^" w+ q' p2 V
  ## Directories, there should at least be a declaration for /var/www/cgi-bin/panko5 y' ?' M1 m' C* k- G

! P6 p2 w0 h* x* h  <Directory "/var/www/cgi-bin/panko">. [9 l: N$ e3 r
    Options Indexes FollowSymLinks MultiViews# C/ u% K! q# [* g5 o) |
    AllowOverride None- |- |3 X% k0 z1 L+ n
    Require all granted
7 ^& `& a8 b/ P8 c8 a7 K  </Directory>
+ {9 I- _; `- t4 T' l3 l
" M: U# E  I' Q- @" G* ?# T  ## Logging
! F. o" x/ `/ j% m  ErrorLog "/var/log/httpd/panko_wsgi_error.log"
/ n9 \2 [  g$ s. x$ o& C  ServerSignature Off / {& L5 M$ j0 Y- A. c; I
  CustomLog "/var/log/httpd/panko_wsgi_access.log" combined
6 l' @0 |3 v$ z2 F) D3 B  L  SetEnvIf X-Forwarded-Proto https HTTPS=1/ y8 S/ ~) t% H
  WSGIApplicationGroup %{GLOBAL}
- o+ p$ i( O& K6 g' G( {( U7 M. ?  WSGIDaemonProcess panko display-name=panko_wsgi group=panko processes=2 threads=2 user=panko
1 W6 V; p0 ]5 \2 c  Z9 ~  WSGIProcessGroup panko
# ~; ]* \( ]( }2 n  WSGIScriptAlias / "/var/www/cgi-bin/panko/app"
6 C, v- N% K& {! K</VirtualHost>
- f) C$ q8 z2 p4 v1 D- l
3 V7 i& h$ b# c. J1 x( i
4. 复制 app.wsgi复制
# mkdir /var/www/cgi-bin/panko/
# Q: U6 T6 l0 ^/ S# m# cp /usr/lib/python2.7/site-packages/panko/api/app.wsgi /var/www/cgi-bin/panko/app7 I7 ]7 p% i  ^" A
# chown -R panko.panko /var/www/cgi-bin/panko/2 F5 Z# d# r% T6 h/ ]

6 i# V/ C% s/ q' `5. 初始化数据复制
# /usr/bin/panko-dbsync6 f0 n/ c' G# ^  s4 N

/ Q' i" j4 q9 O" y2 Y% W* z* j  B4 m完成安装
重启 httpd 以加载 panko5 i! [& A4 m  f! K, T+ F0 |
复制
# systemctl restart httpd7 x8 r1 o2 O  _! \
. E4 U& w* ]/ Q% O3 |0 o1 M" {0 k

" _; P1 O0 K# T0 g* x8 o6 GCeilometer服务安装和配置控制节点 (ceilometer节点)Ceilometer先决条件1. 加载 admin 认证文件复制
$ . admin-openrc
( k8 o& ^, D* k0 |5 d; m9 q+ g# X' H

. B4 R. ?5 Z$ ^: J6 _% q, \2. 创建服务认证,完成以下步骤
  • 创建ceilemeter用户(用户密码为 CEILOMETER_PASSWORD)
    复制
    $ openstack user create --domain default --password-prompt ceilometer
    1 s5 p6 o+ h6 U% N
    ) U& T6 T: \+ R6 P
  • 给ceilometer用户增加admin的角色
    复制
    $ openstack role add --project service --user ceilometer admin
    3 ?7 Q7 H+ y- f" h3 |1 K

    ' W& G/ x6 v- g9 h- I/ M, d
  • 创建ceilometer服务实体
    复制
    $ openstack service create --name ceilometer --description "Telemetry" metering
    ) n- x' V+ o4 Q6 @4 T- c0 z

    " S' h; m9 d/ L3 i: M
  • 创建 Telemetry 服务 API endpoint
    复制
    $ openstack endpoint create --region RegionOne metering public http://controller:87777 x* M" r6 `* Q& u5 c
    $ openstack endpoint create --region RegionOne metering internal http://controller:8777
      D0 @- f6 g7 Q$ openstack endpoint create --region RegionOne metering admin http://controller:8777' E8 U+ A7 Y# F; z3 p
    3 u9 `6 U# b1 r; R

    6 c# w! U& n7 Z/ ]$ b8 l8 g' R
安装并配置组件1. 安装软件包复制
# yum install openstack-ceilometer-api \
5 U- t, N6 {9 i- ^. I  openstack-ceilometer-collector openstack-ceilometer-notification \5 U; I+ g: e" d4 {: Z, }
  openstack-ceilometer-central python-ceilometerclient  -y
1 J% ^5 G, g. O% G8 @+ f' {
: r8 o3 e4 H' |8 |
2. 编辑 /etc/ceilometer/ceilometer.conf 文件加入以下内容复制
# vim /etc/ceilometer/ceilometer.conf( F3 D0 z; r+ z
[DEFAULT]/ J  G2 k/ p! K/ M  `
transport_url = rabbit://openstack:root1234@controller
2 D9 {6 W9 s- E& _9 q& Qauth_strategy = keystone, K1 Z6 c* V* Y  e
meter_dispatchers=gnocchi
" C3 ^  o8 ~% V  }8 {' R8 T+ c& gevent_dispatchers=gnocchi
( e8 o0 b. P4 L2 q0 g9 l8 v: t  S* V8 ?7 w8 N# N; Q
[dispatcher_gnocchi]0 N( V- V/ J0 M% x" e
filter_service_activity = False
7 Y* q- ^5 }. m" `: T1 Karchive_policy = high
! p4 Y% A$ g. N8 p/ i6 b  dresources_definition_file=gnocchi_resources.yaml8 q+ @0 ~+ c# S, ~
url=http://controller:8041+ K6 Q. s- F0 k0 o! o

7 l& ?8 F, e" o[keystone_authtoken], Q7 T' [" }9 V
auth_uri = http://controller:5000$ c0 j, Z9 ]& d: \9 m
auth_url = http://controller:35357
6 Y4 u6 p6 Y$ d' rmemcached_servers = controller
2 i1 j% ?4 k/ c. \auth_type = password
  \* \) R( {/ X! Eproject_domain_name = default
! P5 I' ?3 c1 t, r4 ]) R: J8 duser_domain_name = default* B; R- U  u9 c9 ?1 J# ^
project_name = service& ^: _, G0 ^! U# o" j# r0 @2 Z
username = ceilometer
6 v. J2 ?% i9 K, Rpassword = CEILOMETER_PASSWORD
& @$ J* a, i6 l6 ~7 t0 @( n7 i4 N* iservice_token_roles_required = True
. D1 l* ~6 u& i" i1 ^# K  m. L* X8 Y( f, m& L7 y
[service_credentials]6 |& s4 ~- ^$ n/ k' y& A2 p
auth_type = password
7 R" s$ U' J9 e0 \auth_url = http://controller:5000/v3
1 G8 L2 O, U2 x, M4 p* I' w9 x4 B8 ~project_domain_name = default
0 u% d+ V8 L8 W( j3 [) O. q+ Iuser_domain_name = default
- t. g0 t  p. }, [& [% l" Fproject_name = service
6 j6 M! I: y( ?% `username = ceilometer4 w- m; x( Z. L
password = CEILOMETER_PASSWORD( ^1 C4 ?, Z5 b& \  l2 y1 W6 A
interface = internalURL
9 P+ f& p) F2 Q  @region_name = RegionOne
; P& g! M- {. k5 l: p
1 y$ o6 F/ u: a  c7 m1 W
3. 新建 /etc/httpd/conf.d/10-ceilometer_wsgi.conf 文件,加入以下内容复制
# vim /etc/httpd/conf.d/10-ceilometer_wsgi.conf* C- I5 u$ [; K/ f

1 c9 I& W3 v6 ~$ @  i. H& tListen 8777
) }  B! U9 z) n# e
; G% J3 ]% @2 n& m1 ?7 x# l<VirtualHost *:8777>
4 N1 N  Y2 L" r0 g) R! U! [1 b  ServerName controller: E- D: J& y* K. v1 f

7 o# M  y" ]% I7 r; [  ## Vhost docroot4 ?+ |( L7 A/ |* |8 C  g: Y
  DocumentRoot "/var/www/cgi-bin/ceilometer"
+ ~* ]5 A2 y6 q, T, P4 e2 C/ k
3 d" E" h; C' O: m& s# H8 b- Z  ## Directories, there should at least be a declaration for /var/www/cgi-bin/ceilometer. ~/ k4 N. }$ ^% P, l
4 b. f8 B. \" H! }
  <Directory "/var/www/cgi-bin/ceilometer">
. }: f* A# }! Y( p: ?    Options Indexes FollowSymLinks MultiViews& V7 n+ `1 [' _7 R; [' u; x
    AllowOverride None2 H$ \: Y/ N/ N' Y% `
    Require all granted; a+ i0 \7 @' [: B" F( I# _
  </Directory>
; D" N7 w9 r7 Q  M% \* W" {$ K/ h/ f& P- L( a4 R, t# S- E  U
  ## Logging
9 s7 Q9 E4 G: R& k. o  ErrorLog "/var/log/httpd/ceilometer_wsgi_error.log"
) T2 u9 p0 @+ T& I; b$ [1 o* C  ServerSignature Off
* d3 I2 w  B1 h7 r6 {1 f9 _  CustomLog "/var/log/httpd/ceilometer_wsgi_access.log" combined
- q  m5 }) c& }- G2 W' o" i  SetEnvIf X-Forwarded-Proto https HTTPS=1: G8 v- N% p1 R
  WSGIApplicationGroup %{GLOBAL}
" Y3 K# z2 O- y* z4 p0 E  WSGIDaemonProcess ceilometer display-name=ceilometer_wsgi group=ceilometer processes=1 threads=2 user=ceilometer8 j) k2 t& m2 O& _
  WSGIProcessGroup ceilometer+ H* e2 w3 N0 G) w1 b5 N
  WSGIScriptAlias / "/var/www/cgi-bin/ceilometer/app"7 {' P. }4 L0 Y0 |$ g
</VirtualHost>
" \# l+ j+ b  N  [

5 e% w; z$ k- F* V( |4. 复制 app.wsgi复制
# mkdir /var/www/cgi-bin/ceilometer/- ~" |: l. s* Y' C* w$ l
# cp /usr/lib/python2.7/site-packages/ceilometer/api/app.wsgi /var/www/cgi-bin/ceilometer/app
, \1 x$ r  Y& v3 W4 ~+ g/ ]" T# chown -R ceilometer.ceilometer /var/www/cgi-bin/ceilometer/
* Z, a) g& o$ U# a( q
6 H9 d( W- r- f, y
  • 运行一下命令在gnocchi中创建ceilometer的资源复制
    # ceilometer-upgrade --skip-metering-database/ S/ \7 \/ {* w6 C

    ! H: M6 ]' [: Q6 Q/ ~4 Q8 t9 A; p  e2 B$ B7 V7 q' D
完成安装1. 重启 httpd 以加载 ceilometer复制
# systemctl restart httpd0 Y" b8 L0 ]+ k- P2 O' U& R9 c
3 i1 e9 Z  p! {$ ]/ B3 h
2. 启动服务并设置开机自启复制
# systemctl enable openstack-ceilometer-notification.service \4 a' s  u  r- ?) V
  openstack-ceilometer-central.service \
2 j* H& k! q+ f* U  openstack-ceilometer-collector.service
" }1 [9 x( B, Q! i! O# systemctl start openstack-ceilometer-notification.service \
- Q! z+ y1 c* U  h' e  openstack-ceilometer-central.service \
& {4 W- g5 c9 x/ O8 m- w  openstack-ceilometer-collector.service
; i/ e6 s/ d6 i9 T: T" U
' h/ p4 I) u1 J4 t' n' p' v
安装和配置计算节点 (计算节点)安装并配置组件1. 安装软件包复制
# yum install openstack-ceilometer-compute python2-wsme: N1 @9 R4 B' T6 ~- P3 S
- O7 O4 d- d" A3 {( V! r- r" J
2. 编辑 /etc/ceilometer/ceilometer.conf 文件加入已下内容复制
# vim /etc/ceilometer/ceilometer.conf
3 B/ `& A$ t7 I9 i: ^2 d[DEFAULT]
9 k2 H4 M$ i* a7 Ktransport_url = rabbit://openstack:root1234@controller
" u. W% L1 ^; Oauth_strategy = keystone
. j1 z2 {9 l, u/ I' Q0 c- w' f* l( v: |4 H: q
[keystone_authtoken]
: l+ L/ @$ s0 w8 W! W, G- J+ Iauth_uri = http://controller:5000
6 n+ n) _; y9 P$ b9 Uauth_url = http://controller:353578 Z+ q. G  c3 X3 S4 T
memcached_servers = controller01:11211,controller02:11211,controller03:11211
* x. ?, r1 H, q/ I; bauth_type = password& y& q% F3 [& o6 H2 d% N
project_domain_name = default
; ^. e* f) |) @- D/ n: t& S- z: puser_domain_name = default  C' S8 O7 d  W7 ~7 t
project_name = service
; q, t& L/ @/ a9 z# {, M8 {username = ceilometer8 Z- e2 U! v: c  T
password = CEILOMETER_PASSWORD0 Q! R4 T8 [0 j$ k' }' t
! S6 p$ a; C/ K- `8 W
[service_credentials]5 I. e; [$ j: J' i6 O
auth_url = http://controller:5000+ }4 B2 v/ u- o( ~) ]
project_domain_id = default
0 o* p$ c7 ]  p% u8 i8 d7 buser_domain_id = default8 z9 d+ ]9 q+ X* c' t
auth_type = password
! c  @1 Q- \8 F1 A$ p( l* {1 Nusername = ceilometer2 A' D: D, ?0 f) q* y0 b1 M% `
project_name = service! N% P% I8 x( o5 Z% z) d7 ?
password = CEILOMETER_PASSWORD
4 D, x: M! h4 binterface = internalURL
- y3 B4 U2 P2 {3 Y- Oregion_name = RegionOne* x" k' o0 e/ Z
2 Z! n7 Z- u5 F. D8 [) b2 `; A
配置计算节点使用Telemetry
编辑 /etc/nova/nova.conf 加入以下内容# v1 n, j% \+ D; d: o
复制
# vim /etc/nova/nova.conf
! v; @7 M- l  O8 k: t5 [% u6 \[DEFAULT]
6 [' |, z, v; e! {1 _) Uinstance_usage_audit = True" z* T6 h+ P+ ]! D- N
instance_usage_audit_period = hour$ s; a' B& H6 |5 V
notify_on_state_change = vm_and_task_state( A1 l8 }; Y, m8 K6 U9 T
, a- v0 Y3 H8 ^" l5 B; C0 b4 J
[oslo_messaging_notifications]5 B# s7 W, w3 i* k: y2 f
driver = messagingv26 C9 p) k9 |% G, Q) d& G
5 S! I8 W* C' a, c4 \& q
3 R/ @9 q+ t) j5 g
完成安装1. 启动agent并设置开机自启复制
# systemctl enable openstack-ceilometer-compute.service' V( d$ F& k$ g& a3 I6 e
# systemctl start openstack-ceilometer-compute.service
% c4 X* _. m5 |* S6 b/ r7 P
6 E3 J  S; }: W5 c
2. 重启计算服务复制
# systemctl restart openstack-nova-compute.service' N. G, k) D, K5 y( y( N

' |* B9 q0 P4 P* M& M; P配置 opesntack 服务以支持ceilometer (控制节点)Cinder1. 配置cinder使用telemetry
编辑/etc/cinder/cinder.conf文件加入以下内容0 K4 l- R. G$ ]5 P, w* V2 d
复制
[oslo_messaging_notifications]9 ]! L( V4 ^7 ?5 U$ d
driver = messagingv2
- C& s8 F2 a# D% o: T. o
# X( J6 j7 Q. l- b2 U
( F: O' F5 V# h& N' x5 f
2. 通过定时任务获取阶段性的通知,例如没5分钟执行一次复制
# crontab -e
2 i, b- H6 }" H; X; T5 b1 f+ f/ U; Q/ M, c
*/5 * * * * /usr/bin/cinder-volume-usage-audit --send_actions
/ z+ q8 P! Y" J1 n" S7 l  r

5 W, z; o0 q* E) d3. 重启服务复制
# systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service openstack-cinder-volume.service% M5 F/ I3 o" ~! E5 z( x

& W, R3 k( \  M8 }$ EGlance1. 配置镜像服务使用telemetry
编辑/etc/glance/glance-api.conf 和 /etc/glance/glance-registry.conf; I  v3 j8 x) x
复制
[DEFAULT]
3 d  d* U. b; M" o5 I( Atransport_url = rabbit://openstack:root1234@controller
9 g  U- E( Y) h& J+ C4 R2 f4 D3 i, G! U7 Y
[oslo_messaging_notifications]% F! ^4 f7 G- @5 h9 ~
driver = messagingv23 w9 r8 z! Z# \* M* X
2 h0 m) c5 p/ Q" J0 \/ S
, @, o! t3 Y4 F
2. 重启服务复制
# systemctl restart openstack-glance-api.service openstack-glance-registry.service  Z  n& k, d0 e! R9 R0 J4 W6 P  P
7 Y! D- ~! x0 L" p( E9 @
Neutron1. 配置网络服务使用telemetry
编辑 /etc/neutron/neutron.conf 文件加入以下内容
2 J0 H/ w3 M1 C4 |) R
复制
[oslo_messaging_notifications]0 N4 w; r  L# K. e& Y5 [" ]
driver = messagingv2
  ]; `1 `3 Q* a9 z4 G

8 k! _- C! u6 I1 U7 j: q
8 H- E1 y# v; }! x2. 重启服务复制
# systemctl restart neutron-server.service7 `4 }! @( z( h" r

- N! x$ k3 h7 p3 j# k+ U% g9 T( J1 B/ a3 L+ ], g) P" T2 [
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 03:34 , Processed in 0.018389 second(s), 21 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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