易陆发现互联网技术论坛

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

openstack ocata部署ceilometer+gnocchi

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

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

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

x
安装Gnocchi先决条件1. 完成以下步骤,创建数据库
  • 使用 root 用户登录数据库
    复制
    $ mysql -u root -p
    4 a' H5 p; B  B! V5 R) M
    7 u5 S( H* b8 s4 v
  • 创建 gnocchi 数据库
    复制
    > CREATE DATABASE gnocchi;$ i8 ?& p+ K% I0 H5 K6 `* V+ G, ^
    # p. ~+ x5 Z; D6 v" z. d" A6 x
  • 配置 gnocchi 数据库权限(这里密码为 GNOCCHI_DBPASS,按需修改)
    复制
    > GRANT ALL PRIVILEGES ON gnocchi.* TO 'gnocchi'@'localhost' IDENTIFIED BY 'GNOCCHI_DBPASS';
    9 s, u0 h  K4 t7 Y; f" b> GRANT ALL PRIVILEGES ON gnocchi.* TO 'gnocchi'@'%' IDENTIFIED BY 'GNOCCHI_DBPASS';+ g5 V# b) y4 u: P" h
    3 k3 x8 @" C( Z1 R
  • 退出数据库
    4 G. s1 v5 X- X8 g, F- E
2. 加载 admin 用户认证文件复制
$ . admin-openrc" p5 y& N& l- f( r( I

; A+ W2 `) a+ w. ~. G) \3. 完成以下步骤创建服务认证
  • 创建 gnocchi 用户(用户密码为 GNOCCHI_PASS)
    复制
    $ openstack user create --domain default --password-prompt gnocchi
    ( b' ~; E. S% y' f7 x/ ]0 ^

    3 D6 r4 E$ Q0 ], @6 N5 T. c
  • 为 gnocchi 用户增加 admin 的角色
    复制
    $ openstack role add --project service --user gnocchi admin
    / F- S1 b& ?# c. p' n

    1 @$ z  L2 a( }8 O
  • 创建 gnocchi 服务实体
    复制
    $ openstack service create --name gnocchi --description "Metric Service" metric
    ! X9 n) X9 y% _, b, u. t- ?1 j5 [% `

    : \/ r) S7 _1 B" K( s7 j
    ; F  s% {* C: l+ g6 V
  • 创建 gnocchi 服务API endpoints复制
    $ openstack endpoint create --region RegionOne metric public http://controller:8041
    ) Z" p, l- R6 V, P5 I8 I6 k$ openstack endpoint create --region RegionOne metric internal http://controller:8041
      G+ D  w* L: b5 k5 R: q$ openstack endpoint create --region RegionOne metric admin http://controller:8041
    % ~6 i. g6 R  T$ n5 `

    " j5 y# `- Y; I- C# g7 l  X6 ]$ ]6 M2 j& s0 J3 j$ A
安装和配置组件1. 安装软件包复制
# yum install openstack-gnocchi-api openstack-gnocchi-metricd python2-gnocchiclient -y$ o# j& R  @- k
  l7 v( f* Q! V0 F! v
2. 编辑 /etc/gnocchi/gnocchi.conf 文件加入以下内容复制
# /etc/gnocchi/gnocchi.conf  `) T5 v8 Z+ g! N% V- }1 ]4 @
; _: G2 I7 N: e3 y& Q) O: n7 u' V0 \8 C
[DEFAULT]
; }5 Z0 r8 ]9 }+ B" hlog_dir = /var/log/gnocchi
  C) I2 M' C- U0 i0 ~6 }' ]8 f4 c, G: B
[api]# t. O! d- c" t$ h$ ~" A7 P
auth_mode = keystone) F2 X# v3 g: w- z3 o4 I. u! L8 O. _
2 r! l% ?* f2 \9 n5 r2 i. g
[indexer]
! q9 W9 p4 y" n$ ~8 b) N4 zurl = mysql+pymysql://gnocchi:GNOCCHI_DBPASS@controller/gnocchi$ ~( l* Z% N, z2 R; f# b

5 {! L$ p. T# w[storage]8 `: }7 t, h) \8 v8 @, p& l
driver = file
8 h, ]; U5 i$ y2 Xfile_basepath = /var/lib/gnocchi* {; K; q, m  j4 F& N6 K

3 `% l. S0 x' V! j$ D/ H[keystone_authtoken]0 G8 ]. e& y6 G! |
auth_uri = http://controller:50008 ^% X. L0 i7 y- ]
auth_url = http://controller:35357
9 }; }6 D) M: g3 e  I% bmemcached_servers = controller:11211
8 ]+ Z* b; m4 S7 l3 gauth_type = password
5 q  @2 k8 u0 q5 o7 Bproject_domain_name = default
8 ^. T$ Y( z! ~  duser_domain_name = default/ f9 ]9 R1 V3 o1 q! ]8 o7 Z2 D) j+ q
project_name = service: G2 {$ K) N6 y1 }' c  ^9 M
username = gnocchi
9 B+ w5 ]1 ^, R5 H$ `# V7 V2 zpassword = GNOCCHI_PASS
. `- H' ?0 ~" P7 u, ]- O
9 G  C" U5 Z8 K/ y2 s
3. 新建 10-gnocchi_wsgi.conf 文件,加入以下内容复制
# vim /etc/httpd/conf.d/10-gnocchi_wsgi.conf5 b& _; X, A) Y9 U# G

6 J7 Y1 S3 l& S3 wListen 8041  A5 f" ]3 e+ K
# ?5 t; z- F4 d3 a- O2 x
<VirtualHost *:8041>
0 a* u, w7 x  D2 j% Y- m  ServerName controller
4 C1 W/ a3 [" ~
" [! j2 J/ m5 H+ b  ## Vhost docroot  ^5 C! e% n# K2 Y* q1 q$ W; O
  DocumentRoot "/var/www/cgi-bin/gnocchi"
+ M; a' i8 B# H/ k/ K5 H% |3 M
8 D& x/ r1 R2 A  ## Directories, there should at least be a declaration for /var/www/cgi-bin/gnocchi" a0 f; d5 {" Q4 s4 t" a
/ q% o% n$ {, [8 g8 I4 e& t
  <Directory "/var/www/cgi-bin/gnocchi">( I$ {# }8 Y0 X
    Options Indexes FollowSymLinks MultiViews; Q* t4 W$ ]' J1 e: ~
    AllowOverride None% q6 n2 k- r2 Y7 j& M( E# _
    Require all granted1 W7 O: [8 M: E
  </Directory>
# u4 R/ y. ]. B7 s% f
3 e& Z' x5 ~- J4 X7 ?& P  ## Logging
& G1 m( G" \! T- b$ A0 U  ErrorLog "/var/log/httpd/gnocchi_wsgi_error.log"; H2 {; t) t( ^, P7 K7 i
  ServerSignature Off
5 P0 }4 I6 {; e5 W  H, Z  CustomLog "/var/log/httpd/gnocchi_wsgi_access.log" combined/ V* c7 X& v8 E: {; F" U
  SetEnvIf X-Forwarded-Proto https HTTPS=12 C9 O9 C0 ^% l9 P7 G
  WSGIApplicationGroup %{GLOBAL}
5 V: [. e, o0 v# {  WSGIDaemonProcess gnocchi display-name=gnocchi_wsgi group=gnocchi processes=8 threads=8 user=gnocchi
8 G# ?' m8 Q4 s6 f7 L% {  WSGIProcessGroup gnocchi
  t3 g: s! G3 H9 V6 k  WSGIScriptAlias / "/var/www/cgi-bin/gnocchi/app"
( d1 V7 `$ K" O; X* K" o</VirtualHost>
' y8 [: w9 _2 H. t

# ^8 S! ^7 \' o: o4. 复制 app.wsgi复制
# mkdir /var/www/cgi-bin/gnocchi/+ M: Y  y/ D3 \: }. d! E  R
# cp /usr/lib/python2.7/site-packages/gnocchi/rest/app.wsgi /var/www/cgi-bin/gnocchi/app
' j! f! Q  y* ^& f" K7 N# chown -R gnocchi.gnocchi /var/www/cgi-bin/gnocchi
/ E! B* A2 F7 h! ]2 ?& r8 x
' Y0 |! q% v  B# a: K& J
5. 完成安装1. 初始化数据库复制
# su -s /bin/bash gnocchi -c "gnocchi-upgrade"
5 i4 K8 W9 q: z" m; K- H
/ p5 ?$ s6 \; r
2. 重启 httpd 以加载 gnocchi复制
# systemctl restart httpd
$ E% J# Z+ p# f0 W, k# |& _
- t3 O9 h8 H" M9 y' K& t  ~
3. 启动服务并设置开机自启复制
# systemctl enable openstack-gnocchi-metricd
2 s* }5 S! D& w# systemctl start openstack-gnocchi-metricd3 I) G6 p3 K6 k; Y: b: S
5 v& d$ b1 R5 ?' [8 \
Telemetry 服务Aodh 服务 (ceilometer节点)先决条件1. 完成以下步骤,创建数据库
  • 使用 root 用户登录数据库
    复制
    $ mysql -u root -p. j& F/ R$ i. C# ?

    7 f  s. o# P- S: K
  • 创建 aodh 数据库
    复制
    > CREATE DATABASE aodh;% ^: n, G' L1 n4 K' R4 d2 _
    5 K' \- E. o( t
  • 配置 aodh 数据库权限(这里密码为 AODH_DBPASSWORD,按需修改)
    复制
    > GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'localhost' IDENTIFIED BY 'AODH_DBPASSWORD';' A& A" t5 c3 s
    > GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'%' IDENTIFIED BY 'AODH_DBPASSWORD';
    7 x' Y3 t9 i. f, W; K& g$ h" Y% c' y

    4 F7 h! q( O% j
  • 退出数据库
    6 A4 x! E. w9 D9 G+ `- w( Q: Y7 i
2. 加载 admin 用户认证文件复制
$ . admin-openrc
2 {% h) g7 M6 t+ J6 ~
/ S, ~: m/ V/ J: P% e
3. 完成一下步骤创建服务认证
  • 创建 aodh 用户(用户密码为 AODH_PASSWORD)
    复制
    $ openstack user create --domain default --password-prompt aodh! K" f5 E' F3 Z2 e
      m' ?9 U# B9 |5 ^
  • 为 aodh 用户增加 admin 的角色
    复制
    $ openstack role add --project service --user aodh admin3 T0 l( f- z: f4 \+ e' ^

    % U1 D! _% _& J& @& P' ~
  • 创建 aodh 服务实体
    复制
    $ openstack service create --name aodh --description "Telemetry" alarming: w6 r% _0 y0 W  Q3 S
      X9 C5 h5 w$ ~" Q9 n4 W6 v0 F8 h4 ?

    + b/ b# F! x3 _! @( w! X
  • 创建告警服务API endpoints复制
    $ openstack endpoint create --region RegionOne alarming public http://controller:8042
    / s/ q0 C/ v; X1 R+ n" I3 k! E$ openstack endpoint create --region RegionOne alarming internal http://controller:8042/ |. a1 b8 M/ R1 j9 U
    $ openstack endpoint create --region RegionOne alarming admin http://controller:80423 Y0 x; r/ Q+ N; W) X/ ~2 G$ @

    5 c1 }5 C" a  t6 d- X5 b* f% D2 O. w8 t4 E* k+ @7 x% u) ]/ E8 s
安装和配置组件1. 安装软件包复制
# yum install openstack-aodh-api \4 l; p7 b+ S7 B6 W% n
  openstack-aodh-evaluator openstack-aodh-notifier \
4 m  r4 G% ]- |" }- l; {* Z8 N6 K. ?5 ?8 ~  openstack-aodh-listener openstack-aodh-expirer \3 o+ u. A; v3 u
  python-aodhclient -y) c. q* c3 Z3 P7 k/ w  d2 C+ i+ i9 F4 `
3 ?8 E5 e  W% u& `: }0 M
2. 编辑 /etc/aodh/aodh.conf 文件加入以下内容复制
# vim /etc/aodh/aodh.conf* @; U' }7 h; ^  M5 N

( F8 q  G" P7 f5 Z& ~- X[DEFAULT]" ~0 @1 `6 w; s, G/ s, |
transport_url = rabbit://openstack:root1234@controller
- s& l' }7 c- c8 V! Y7 Uauth_strategy = keystone
$ P8 |2 l: w9 T- Q3 ]9 A( H9 ?7 `7 z% x
[database]
, ]) Y- r4 U6 X' \5 m4 m( fconnection = mysql+pymysql://aodh:AODH_DBPASSWORD@controller/aodh
4 F% n& D4 f8 z0 B  ~5 h
" ~7 H: |: a% q( B$ P0 h$ G. t* ?[keystone_authtoken]
3 \- u5 L8 F' x5 N) Xauth_uri = http://controller:5000
) Q# k0 O; r2 M: fauth_url = http://controller:35357
3 W1 j. z7 H7 F8 F2 d9 V5 q- Ememcached_servers = controller:11211
: k/ u) o- H- [2 yauth_type = password
% N  e$ c& q" K4 I5 \% R2 Eproject_domain_name = default8 y- o1 y0 P' ]. u+ j# R
user_domain_name = default
* C3 j) T7 y7 q% d# {- a' Iproject_name = service* w0 E9 }% [4 D- v$ N% v" c
username = aodh7 T, ?# v: ?" w6 e+ [
password = AODH_PASSWORD! r1 g3 n  i' t/ q
: x+ P3 E) i8 h: b- o
[service_credentials]
& n) H4 {5 [+ M- F9 [6 Q0 pauth_type = password6 L* A. M3 N3 d6 {9 N9 h9 Z
auth_url = http://controller:5000/v3
: e/ x0 a/ l$ P# @8 \+ P; S# Lproject_domain_name = default% J( r5 N. H* O7 H7 D1 l! b. T$ T
user_domain_name = default" m+ Z- r& R5 U$ j0 f5 x
project_name = service
0 J: F9 }- L+ m( j  |0 H8 p) ~username = aodh" p, C; P( h$ }" }
password = AODH_PASSWORD
2 v! _0 ^! N! i* k) L  y) ~interface = internalURL
* I! A; L, L1 z9 s! Oregion_name = RegionOne; Z* b3 o1 @% y7 [2 ]9 X5 s3 l
  A4 [7 e) f' X# x2 h3 f5 B
3. 新建 /etc/httpd/conf.d/10-aodh_wsgi.conf 文件,加入以下内容复制
# vim /etc/httpd/conf.d/10-aodh_wsgi.conf
: j$ c0 V8 ~, z" }4 M4 M+ _
& E* u/ g$ ^6 z9 B% n. z0 m$ e2 Y9 XListen 8042
/ z, Q# j1 A% f0 R: q- v5 M- R: U+ r4 O
<VirtualHost *:8042>: s) l7 M3 D+ @8 t! w; c
  ServerName controller
5 S5 f. D  c, \
# h8 k/ U* s/ G* h6 ~  ## Vhost docroot$ S" x% T$ R& n- c* i: E6 d
  DocumentRoot "/var/www/cgi-bin/aodh"2 N( W$ b) @% P6 A; J

" _; u$ p& w; L8 W  ## Directories, there should at least be a declaration for /var/www/cgi-bin/aodh7 S3 i% F9 M2 ~4 V! `6 A

$ L" Q* R+ b9 U" p0 W6 `* [  <Directory "/var/www/cgi-bin/aodh">' \0 d( O/ a0 N2 z# {
    Options Indexes FollowSymLinks MultiViews9 p4 s' ^: Y8 M  U6 N: g' @0 S- d
    AllowOverride None
7 h& [% ]+ h2 O2 E    Require all granted6 b* p$ ~5 r. M# x
  </Directory>& N' }7 p+ ]: _; r  w

0 h. O2 u: C. j: U7 I  ## Logging
( W2 {. n9 P0 K: z0 N3 v+ z  ErrorLog "/var/log/httpd/aodh_wsgi_error.log"7 `1 P; s1 z0 N7 N
  ServerSignature Off
( K( A- @. n. N, r  CustomLog "/var/log/httpd/aodh_wsgi_access.log" combined
; i( Z: ~, j4 d% ]6 v- h% Z" k! H  SetEnvIf X-Forwarded-Proto https HTTPS=15 B- K6 g* i6 G1 R+ y. I& @6 Z2 F) I
  WSGIApplicationGroup %{GLOBAL}
. z) j% Q# e9 K9 r4 i) H* W  WSGIDaemonProcess aodh display-name=aodh_wsgi group=aodh processes=2 threads=2 user=aodh8 H5 X, c; N7 B' J9 X
  WSGIProcessGroup aodh" v6 Q/ A# H8 G5 Y% B& b
  WSGIScriptAlias / "/var/www/cgi-bin/aodh/app"
! G, e+ m- B; I% V0 V" {</VirtualHost>4 d# T8 |) M& L. j" ?2 o# b

7 l1 T/ {3 O8 a3 {4. 复制 app.wsgi复制
# mkdir /var/www/cgi-bin/aodh/; ~6 y3 p2 z0 }' e6 ~6 j' w7 C) `
# cp /usr/lib/python2.7/site-packages/aodh/api/app.wsgi /var/www/cgi-bin/aodh/app" N$ ~( K0 m+ |7 J' a
# chown -R aodh.aodh /var/www/cgi-bin/aodh) x0 P/ X4 G! J2 @- l
! w2 S  c5 X/ [- C/ k- N) t3 S
完成安装1. 初始化数据库(仅当使用 SQL 数据库的时候才需要初始化)复制
# aodh-dbsync
6 d6 q4 w" L2 z% p6 n7 n

9 {3 c% j2 w/ L2. 重启 httpd 以加载 aodh复制
# systemctl restart httpd
# |4 q$ ?) I. T# g  d* c

6 p6 @% q5 m7 Z- F& ?2 Z3. 启动服务并设置开机自启(任一控制节点执行)复制
# systemctl enable openstack-aodh-evaluator.service openstack-aodh-notifier.service openstack-aodh-listener.service8 a: e3 K- N7 l' f8 A
# systemctl start openstack-aodh-evaluator.service openstack-aodh-notifier.service openstack-aodh-listener.service) p; ?3 A3 d% ~& i
8 J9 r4 q8 C3 w; Q: _% Y3 e
Panko 服务 (ceilometer节点)先决条件1. 完成以下步骤,创建数据库
  • 使用 root 用户登录数据库
    复制
    $ mysql -u root -p! ?# B1 L) C* I2 w  F. {

    ; O/ A+ \! I; Z: h' e
  • 创建 panko 数据库
    复制
    > CREATE DATABASE panko;2 J/ n' b6 ]1 Y. K  _. M

    7 `. y+ c- v/ r; B# q4 H$ D
  • 配置 panko 数据库权限(数据库密码为 e0ee97b87b0be41b5ba0 )
    复制
    > GRANT ALL PRIVILEGES ON aodh.* TO 'panko'@'localhost' IDENTIFIED BY 'e0ee97b87b0be41b5ba0';
    9 ~0 o! ]+ X6 c> GRANT ALL PRIVILEGES ON aodh.* TO 'panko'@'%' IDENTIFIED BY 'e0ee97b87b0be41b5ba0';
    : b5 U& H2 q4 d2 f

    8 @5 o) }4 ]$ y# I+ {$ n  {  K; p
  • 退出数据库
    - \# m- C, [9 v8 U1 B
2. 加载 admin 用户认证文件复制
$ . admin-openrc( t# _( a+ \6 [7 `$ a; @) [
& g6 J0 d! M+ R  ^
3. 完成一下步骤创建服务认证
  • 创建 panko 用户(用户密码为 PANKO_PASSWORD)
    复制
    $ openstack user create --domain default --password-prompt panko
    / M5 w9 r8 D6 F+ D; ~

    $ i6 |: \8 Z  z1 ^3 j1 y" p: l
  • 为 panko 用户增加 admin 的角色
    复制
    $ openstack role add --project service --user panko admin9 N5 \: ?% F! T/ ]% }% o: }+ a

    6 v5 D! ?& H5 u9 P0 K/ m
  • 创建 panko 服务实体
    复制
    $ openstack service create --name panko --description "OpenStack Event Service" event% p* v4 j/ F1 R  ^! X" }
    5 Q* C( B0 A. N- C& o# Y& g% r  T

    , z! H! C0 L/ y% O( r9 x
4. 创建Event服务API endpoints复制
$ openstack endpoint create --region RegionOne event public http://controller:8779
% r9 K4 ?0 n/ r5 H* m) s$ o- I$ openstack endpoint create --region RegionOne event internal http://controller:8779
# w+ \, p1 w. s* K$ openstack endpoint create --region RegionOne event admin http://controller:8779
5 D" z. J& p0 P) L# X3 }

% n0 q: H5 l6 o: B- p( C安装和配置组件1. 安装软件包复制
# yum install openstack-panko-api openstack-panko-common -y4 q# X9 o* {, w  S9 {- h1 g* W/ g
5 j! m" T3 o/ d8 Q- C' {
2. 编辑 /etc/panko/panko.conf 文件加入以下内容复制
# vim /etc/panko/panko.conf
/ U2 i! F( m- R  A0 r
, p( n6 E$ M  a9 z# Q- S& Z6 r# k0 k[DEFAULT]
: w/ k, D2 D; B( _: Rauth_strategy = keystone
$ ]  Q, X% |3 [( }3 mlog_file = /var/log/panko/panko.log
* |& [+ B' V" |log_dir = /var/log/panko
# E" \. D! h- E7 z" r5 {6 `( E* l& {8 N' `' v& V3 L4 y
[api]
; r4 }0 ?& L9 ^host=0.0.0.0
' t" a+ d7 p0 C$ ]3 d" q4 q* y1 }; bport=87793 `. s* N3 j9 \, n1 ?
workers=2
& j* U$ _( v! B- T6 A* \max_limit=1000
6 z3 ^; s+ D) Z4 G' x* `2 ~
6 }$ [+ v+ p) }: G# d[database]
" q) R  W2 F5 E& I# |connection = mysql+pymysql://panko:PANKO_DBPASSWORD@controller/panko: ?- g9 n+ M& X5 a4 Q9 l" V  H

/ Q9 N9 [1 x. Z6 r' r[keystone_authtoken]
1 F+ H0 q- T# oauth_uri = http://controller:5000
5 _8 G! A, t3 T2 @: }' C- hauth_url = http://controller:35357+ Y+ r( ]3 O( z# O! `
memcached_servers = controller0 X6 H2 [: _# d& u3 B
auth_type = password7 l% [) l* g+ @. B* @( p3 k
project_domain_name = default" j% t$ i* m, t. x
user_domain_name = default' ], D9 l1 y5 {  |4 A
project_name = service
2 Q8 e, T2 d+ o, \0 F3 Susername = panko
5 Y1 h) E) ?0 `$ g  V2 qpassword = PANKO_PASSWORD, e4 X8 Z9 w0 K& o8 ~9 J

% c2 I8 F+ |3 P6 F: X2 R3. 新建 vim /etc/httpd/conf.d/10-panko_wsgi.conf 文件,加入以下内容复制
Listen 8779
  ?& H% a; d) i  a/ s7 B/ d' ?. Y% k+ L2 f& q. A7 b2 N8 G
<VirtualHost *:8779>4 {1 P' t8 Z) u) d8 `
  ServerName controller
: I0 j/ b8 [. j! X( H+ _5 F0 @+ [% @" |
  ## Vhost docroot
9 d  q5 ~' X1 u1 `5 e8 x1 ?/ m  DocumentRoot "/var/www/cgi-bin/panko"$ d9 K: c+ W" V( f8 S' U/ ?. x4 }

+ ^2 }) ?3 i1 f% M2 V  ## Directories, there should at least be a declaration for /var/www/cgi-bin/panko
0 O/ m% c: Q' m
! [. K( P/ [8 t" R3 W6 K) o: d) c2 I+ q  <Directory "/var/www/cgi-bin/panko">$ r9 ]2 n; S5 V& H) O
    Options Indexes FollowSymLinks MultiViews
9 g" r; y# G, g8 h7 c    AllowOverride None
/ Z, c- r6 b, G5 ?    Require all granted
4 ^2 q& _7 t1 ]# L( G% W2 J/ q/ J" R  </Directory>
6 v/ r- E3 b7 F/ @* w8 x. P
; i( y7 A, Q( U  ## Logging' O- X( z* Q* n$ m
  ErrorLog "/var/log/httpd/panko_wsgi_error.log"8 u. ?5 l- v! v9 F* A# w
  ServerSignature Off 9 Y( [* p2 ~/ a
  CustomLog "/var/log/httpd/panko_wsgi_access.log" combined ! h* p4 x/ v- z3 N% V
  SetEnvIf X-Forwarded-Proto https HTTPS=1- [! h) A  b+ x: [& O  S
  WSGIApplicationGroup %{GLOBAL}( c0 Q( ]8 `0 o2 w0 _) S% u. A
  WSGIDaemonProcess panko display-name=panko_wsgi group=panko processes=2 threads=2 user=panko
7 b) E5 d4 B4 Z* R" j" @- G  WSGIProcessGroup panko
5 ~1 ?' y9 f, K" B% l9 w  WSGIScriptAlias / "/var/www/cgi-bin/panko/app"# K7 g7 t0 O! z6 j
</VirtualHost>4 E2 d& K9 U  u- ?7 `; |( i
9 I* M9 M& c9 v7 @3 E. D0 h5 n
4. 复制 app.wsgi复制
# mkdir /var/www/cgi-bin/panko/
) k0 d7 @5 ?# n+ v! h* I# cp /usr/lib/python2.7/site-packages/panko/api/app.wsgi /var/www/cgi-bin/panko/app
5 ^6 C8 z# i/ W  l) x2 v# chown -R panko.panko /var/www/cgi-bin/panko/( R5 W8 F" t4 W0 O! T3 n
4 V+ p. S, G8 S7 n/ Y; X3 K; L
5. 初始化数据复制
# /usr/bin/panko-dbsync
/ f4 g9 i: |0 J( m0 ~0 i- `

7 l! Q' t4 u3 t+ ]$ T2 S! p+ c( P完成安装
重启 httpd 以加载 panko
  `) S' |+ O' d* _; l+ Z
复制
# systemctl restart httpd+ e, U9 F1 j4 }5 K# _
5 }6 h1 R1 A0 G+ r( T4 R

* ^8 E% l6 K2 Y) XCeilometer服务安装和配置控制节点 (ceilometer节点)Ceilometer先决条件1. 加载 admin 认证文件复制
$ . admin-openrc, M" {8 q% F4 E6 C

$ D/ W7 {) P% ^5 T; ]' J7 v2. 创建服务认证,完成以下步骤
  • 创建ceilemeter用户(用户密码为 CEILOMETER_PASSWORD)
    复制
    $ openstack user create --domain default --password-prompt ceilometer
    " k& N& n# i+ r0 z% @
    9 w! C% ?4 B# F% d6 Y8 }2 J7 |
  • 给ceilometer用户增加admin的角色
    复制
    $ openstack role add --project service --user ceilometer admin
    ( T3 q4 }6 M! v' B, d
    , A& c' f" b2 l0 k+ ~+ X
  • 创建ceilometer服务实体
    复制
    $ openstack service create --name ceilometer --description "Telemetry" metering
    2 ~, |& }: ?+ ~! Z
    6 C4 t! r: a4 r
  • 创建 Telemetry 服务 API endpoint
    复制
    $ openstack endpoint create --region RegionOne metering public http://controller:8777
    ) k1 P& v- d: n% c; a. X$ openstack endpoint create --region RegionOne metering internal http://controller:8777
      T2 A* J  m$ q. \- V3 ~( ^. u7 S$ openstack endpoint create --region RegionOne metering admin http://controller:8777+ r, A; U% t4 H/ \8 E
    7 z, y( f" ]$ G# w" \
    ! m5 U. h6 }* p7 a# l8 X( P
安装并配置组件1. 安装软件包复制
# yum install openstack-ceilometer-api \/ R( T  V2 x8 B- g" `
  openstack-ceilometer-collector openstack-ceilometer-notification \
0 |/ r( D: Y. w1 M$ c0 i: g1 e  openstack-ceilometer-central python-ceilometerclient  -y
( g; ~7 i" }) h% |

" l6 l2 b% x) p+ l2 X8 [( B2. 编辑 /etc/ceilometer/ceilometer.conf 文件加入以下内容复制
# vim /etc/ceilometer/ceilometer.conf
# c; u7 V' v, E3 C; q) s3 L( p3 i[DEFAULT]8 U, H+ e* T" V2 J5 r  i
transport_url = rabbit://openstack:root1234@controller
! w0 D: v$ Q7 h! Jauth_strategy = keystone
2 w% w- g' U# Gmeter_dispatchers=gnocchi
% V# @5 m/ E( W7 r1 ^event_dispatchers=gnocchi
, N! v/ g) O. p4 x) s9 H3 E% V1 E6 l
[dispatcher_gnocchi]7 V: S6 G3 p, t' W
filter_service_activity = False
5 L2 G. d; @& Xarchive_policy = high& D# I, [6 }& q, |8 C% x
resources_definition_file=gnocchi_resources.yaml/ t5 j+ v  ~* J6 Z" x  q
url=http://controller:8041
! w  t. B/ m  s( h$ |- y- a# q7 \
% e8 c1 k; r' l1 B( V6 k[keystone_authtoken]! h7 j* H2 l/ b& |
auth_uri = http://controller:5000
# d  h( a; G) G; t  k; ^& v$ z7 H( bauth_url = http://controller:35357: M* D3 j, L' G; X+ S8 X
memcached_servers = controller5 ]! Y" `  T/ }
auth_type = password
% M4 g2 k) V2 L8 Hproject_domain_name = default
6 w+ {4 ^  i* B/ t4 Ouser_domain_name = default$ y$ J9 I, H* M
project_name = service
" T5 |* c, n8 q( f! L, `3 Iusername = ceilometer
$ a( W3 p1 e( |4 `! ?, a: w" v! epassword = CEILOMETER_PASSWORD1 S0 Z2 s8 \) @1 A+ G9 |" l
service_token_roles_required = True+ e- G" E! i4 z3 ~

3 O& ^5 X+ R$ I[service_credentials]/ \4 a" c. M8 X3 W
auth_type = password# a2 Z/ L$ R8 B# @/ v, l! l
auth_url = http://controller:5000/v3
. t5 f9 j, s$ j( Dproject_domain_name = default
- l. o1 z& f  i8 ~/ `% n- y+ auser_domain_name = default
# h/ `: ~+ K4 }0 }project_name = service
3 F2 ~& Q' H0 [7 zusername = ceilometer
" C- V) C6 o$ Q4 d# I  Mpassword = CEILOMETER_PASSWORD$ O# a7 ~  R  r4 w" ~
interface = internalURL
  `9 O0 q2 U4 n) _& H! wregion_name = RegionOne6 i4 S0 p" P% J% G5 |9 m

: ?2 k: g% ~, Q3. 新建 /etc/httpd/conf.d/10-ceilometer_wsgi.conf 文件,加入以下内容复制
# vim /etc/httpd/conf.d/10-ceilometer_wsgi.conf& r% d% d( \$ T/ O! ?  \
3 _4 E. `2 W. j1 W& q! }
Listen 8777+ l) E6 f4 e! h; }9 t& S; u
) y7 \8 U0 s" b7 i, V
<VirtualHost *:8777>
7 c) c' O; ?( v  ServerName controller- p" @5 \$ U; l, z$ s/ F
" E- A0 z+ j& l
  ## Vhost docroot
, s* _  J. d) [7 P4 j. z+ G  DocumentRoot "/var/www/cgi-bin/ceilometer"
( _4 p5 e1 {5 ^; C( A9 |3 Q; u% j
9 u* C, @( {' W* H; R  ## Directories, there should at least be a declaration for /var/www/cgi-bin/ceilometer
. U1 w: |8 `% R* @
) B6 {. r  f9 G4 J- ]  <Directory "/var/www/cgi-bin/ceilometer">( H  N7 H" j* {, ^6 h
    Options Indexes FollowSymLinks MultiViews! G$ g" Q1 B4 l3 i
    AllowOverride None! }. n% _5 d/ P
    Require all granted
0 D- o: N0 Q8 ]! l  </Directory>3 X' d+ D, p* T/ U! h3 Y( i

9 R! K, N1 e2 s9 o! r; n1 @  ## Logging
. w0 K, O/ g: l) x9 S  ErrorLog "/var/log/httpd/ceilometer_wsgi_error.log"
6 ?/ l% d4 [( s$ {) P" ?  Q8 k  ServerSignature Off ) z' A0 o: [1 i+ N
  CustomLog "/var/log/httpd/ceilometer_wsgi_access.log" combined * R1 I5 d3 Y! E. Y* Y0 w
  SetEnvIf X-Forwarded-Proto https HTTPS=1& Z9 W& W( E; t5 K9 `# v
  WSGIApplicationGroup %{GLOBAL}
& E9 s( W1 ^7 G4 r  e! h  WSGIDaemonProcess ceilometer display-name=ceilometer_wsgi group=ceilometer processes=1 threads=2 user=ceilometer$ s# t. R' `" i
  WSGIProcessGroup ceilometer
0 o3 e8 f0 h7 p  WSGIScriptAlias / "/var/www/cgi-bin/ceilometer/app"1 ^5 |& N$ N  U( C# q3 J( j
</VirtualHost>! N$ g& L8 B, a& l! A, @$ @

, L: Y0 x2 ~; r% |& g1 U4. 复制 app.wsgi复制
# mkdir /var/www/cgi-bin/ceilometer/. `+ ^( y, e- L0 `! ^( l/ H7 S0 x
# cp /usr/lib/python2.7/site-packages/ceilometer/api/app.wsgi /var/www/cgi-bin/ceilometer/app5 g7 L  i, r+ o/ |/ @8 ?
# chown -R ceilometer.ceilometer /var/www/cgi-bin/ceilometer/0 r/ Q1 A4 B* `8 ~& ?% S6 a
# j5 S! h8 G3 Q) |1 R- X( u! v3 K; f
  • 运行一下命令在gnocchi中创建ceilometer的资源复制
    # ceilometer-upgrade --skip-metering-database1 l+ q- a6 x+ W$ }2 M/ s2 C

    0 J6 T5 N7 S. ?/ @: e" R2 I/ T4 I5 }6 H6 k! C' ^, J# d: E
完成安装1. 重启 httpd 以加载 ceilometer复制
# systemctl restart httpd
3 N# ~) F# e' G  N2 k* o& u) X
/ W" J. Y1 o- ?+ \- o' S
2. 启动服务并设置开机自启复制
# systemctl enable openstack-ceilometer-notification.service \
' s) }+ R1 y+ x; n! j  openstack-ceilometer-central.service \( w- M5 {9 _; d1 ^
  openstack-ceilometer-collector.service) \) W9 ^. D. n) D
# systemctl start openstack-ceilometer-notification.service \" X6 l" k) i3 E1 C8 j' j/ B
  openstack-ceilometer-central.service \
8 K2 M8 O" i# m: i6 R" |! R7 R6 ~  openstack-ceilometer-collector.service  p  q' m! B/ U

: j2 Y! `& ], E' C! P; d6 g0 M0 M安装和配置计算节点 (计算节点)安装并配置组件1. 安装软件包复制
# yum install openstack-ceilometer-compute python2-wsme, R! t, y  U2 m4 @; b: V
5 `' p7 ]5 t! ~3 D" T
2. 编辑 /etc/ceilometer/ceilometer.conf 文件加入已下内容复制
# vim /etc/ceilometer/ceilometer.conf  l. i6 S2 `+ F$ U8 E  C
[DEFAULT]
2 o4 c$ Q6 |8 y$ D/ ^- W, R. Gtransport_url = rabbit://openstack:root1234@controller7 M) O. ^" M  u8 ~( E! J
auth_strategy = keystone7 z4 f7 L6 R  E. `7 c' t
# e- ?0 f! v& n) J
[keystone_authtoken]
1 K- w- y$ J( Bauth_uri = http://controller:5000  V7 y; o9 z/ {& I1 ]
auth_url = http://controller:35357
% i, W1 B  i5 N  Bmemcached_servers = controller01:11211,controller02:11211,controller03:11211
+ ]( U. p" g* J" o2 l6 k7 x, n* mauth_type = password
! D1 s5 a% h5 w% @; k$ @4 Eproject_domain_name = default
6 B4 m2 z0 Y% R3 Huser_domain_name = default
6 r, y% v7 ^" tproject_name = service
$ `( `6 s6 V# m! m3 u- }username = ceilometer
! |; {. n, q4 N+ Bpassword = CEILOMETER_PASSWORD
# e6 n9 J; s1 I/ T. {" g% W9 ~
4 D# |/ R0 z6 x& |! b[service_credentials]
- {4 z0 |* F1 e  S# M4 u1 G& @auth_url = http://controller:5000( s( A: L/ C& v' N
project_domain_id = default
$ [# |: R& t' ]user_domain_id = default' W/ |- A' i% R4 |
auth_type = password
4 i8 h* C, L, b4 t" Zusername = ceilometer
" L7 h3 K8 p* W" ?# i: J: T/ ?$ U# kproject_name = service
$ W# i+ ~( u7 x8 ~4 Z  N* npassword = CEILOMETER_PASSWORD9 h$ S! E. a4 {) b9 G; m
interface = internalURL
% R! E. t1 ?1 m+ `0 Zregion_name = RegionOne4 D7 T- z+ H' u* I& r

. n- C/ _; t, X% t" T( M- E配置计算节点使用Telemetry
编辑 /etc/nova/nova.conf 加入以下内容$ C* Z9 z4 Q; v9 C5 ^" o! u
复制
# vim /etc/nova/nova.conf$ Q8 @! @4 r/ i. J2 g  p. @
[DEFAULT]
: H5 ?$ W) C1 v# k0 Linstance_usage_audit = True; ^6 V/ ], D2 f4 R# t
instance_usage_audit_period = hour
* J# Z# p: p/ k5 g  i! jnotify_on_state_change = vm_and_task_state
1 z2 L3 n/ b! u  L3 L: K
% d" |# B3 r) t5 t0 t$ y6 y[oslo_messaging_notifications]
! ]$ b! e, Y" Fdriver = messagingv28 h) J2 w& L, P1 H4 E
6 j: Q6 F- t" w5 A
% \! G; t! M& Y% h6 M  |, j
完成安装1. 启动agent并设置开机自启复制
# systemctl enable openstack-ceilometer-compute.service
1 F" e$ q. s& S5 B# systemctl start openstack-ceilometer-compute.service
6 v8 `) D) W7 Y% Q$ A4 n
9 a  G) v! j1 s* F
2. 重启计算服务复制
# systemctl restart openstack-nova-compute.service
/ J" i' |) J$ W) m- H2 Q8 `& Y

1 J5 [" \# a1 c  f$ x配置 opesntack 服务以支持ceilometer (控制节点)Cinder1. 配置cinder使用telemetry
编辑/etc/cinder/cinder.conf文件加入以下内容% P; |3 N3 Y2 ^" f4 l
复制
[oslo_messaging_notifications]; I# r' P, r, J% r1 A
driver = messagingv2
; q9 @1 x# ]- ]% h$ m, x

9 Z9 j0 O& v+ P: m; ]
; `" y/ W+ G. f$ x2. 通过定时任务获取阶段性的通知,例如没5分钟执行一次复制
# crontab -e5 ]4 M$ {# o2 B" X
& M! d3 p- I+ h$ {
*/5 * * * * /usr/bin/cinder-volume-usage-audit --send_actions: D+ v( ~, s* ]3 [* H

) Z' U0 \; V; ^; s& k: K" h3. 重启服务复制
# systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service openstack-cinder-volume.service: a4 D- M9 Q3 Z4 g' k* R0 r

  {4 z- D$ H9 ]* x" I" n6 zGlance1. 配置镜像服务使用telemetry
编辑/etc/glance/glance-api.conf 和 /etc/glance/glance-registry.conf5 n1 S( C$ R3 M
复制
[DEFAULT]( W/ _$ y4 ?1 J4 w/ \. w3 o
transport_url = rabbit://openstack:root1234@controller) a7 V8 ^- l. X, \6 d/ C$ z3 e
; {' Y5 U9 s9 z6 `6 c5 S  u
[oslo_messaging_notifications]
2 v) Q" D2 u. b1 v6 Bdriver = messagingv2
9 n, h" [3 G# T/ J
$ H: K9 N" ~7 i# \
6 U: h1 a% z  ?- ~& W
2. 重启服务复制
# systemctl restart openstack-glance-api.service openstack-glance-registry.service
/ l% H# l# z0 z4 _5 R: o- B2 q

8 {- G' ?) u+ h- E8 F. C1 UNeutron1. 配置网络服务使用telemetry
编辑 /etc/neutron/neutron.conf 文件加入以下内容% `9 W& o$ z  W5 h& p5 v' E: A
复制
[oslo_messaging_notifications]$ X0 [" P# _' k, g
driver = messagingv2
! `. ^9 d" m" E

& C& K' X) c0 ^( q
6 G1 g* C) d/ ^9 _/ @2 U, q2. 重启服务复制
# systemctl restart neutron-server.service- m+ ~2 j& o% u4 b# r5 a/ D* @
7 e) P& ~7 Y* u# n  I3 ]4 i6 P

) H! i2 x1 t, J
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 点击这里给我发消息

GMT+8, 2026-4-10 17:57 , Processed in 0.052854 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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