openstack ocata部署ceilometer+gnocchi

安装Gnocchi

先决条件

1. 完成以下步骤,创建数据库

  • 使用 root 用户登录数据库 复制
$ mysql -u root -p
  • 创建 gnocchi 数据库 复制
> CREATE DATABASE gnocchi;
  • 配置 gnocchi 数据库权限(这里密码为 GNOCCHI_DBPASS,按需修改) 复制
> GRANT ALL PRIVILEGES ON gnocchi.* TO 'gnocchi'@'localhost' IDENTIFIED BY 'GNOCCHI_DBPASS';
> GRANT ALL PRIVILEGES ON gnocchi.* TO 'gnocchi'@'%' IDENTIFIED BY 'GNOCCHI_DBPASS';
  • 退出数据库

2. 加载 admin 用户认证文件

复制

$ . admin-openrc

3. 完成以下步骤创建服务认证

  • 创建 gnocchi 用户(用户密码为 GNOCCHI_PASS) 复制
$ openstack user create --domain default --password-prompt gnocchi
  • 为 gnocchi 用户增加 admin 的角色 复制
$ openstack role add --project service --user gnocchi admin
  • 创建 gnocchi 服务实体 复制
$ openstack service create --name gnocchi --description "Metric Service" metric
  1. 创建 gnocchi 服务API endpoints复制
$ openstack endpoint create --region RegionOne metric public http://controller:8041
$ openstack endpoint create --region RegionOne metric internal http://controller:8041
$ openstack endpoint create --region RegionOne metric admin http://controller:8041

安装和配置组件

1. 安装软件包

复制

# yum install openstack-gnocchi-api openstack-gnocchi-metricd python2-gnocchiclient -y

2. 编辑 /etc/gnocchi/gnocchi.conf 文件加入以下内容

复制

# /etc/gnocchi/gnocchi.conf

[DEFAULT]
log_dir = /var/log/gnocchi

[api]
auth_mode = keystone

[indexer]
url = mysql+pymysql://gnocchi:GNOCCHI_DBPASS@controller/gnocchi

[storage]
driver = file
file_basepath = /var/lib/gnocchi

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = gnocchi
password = GNOCCHI_PASS

3. 新建 10-gnocchi_wsgi.conf 文件,加入以下内容

复制

# vim /etc/httpd/conf.d/10-gnocchi_wsgi.conf

Listen 8041

<VirtualHost *:8041>
  ServerName controller

  ## Vhost docroot
  DocumentRoot "/var/www/cgi-bin/gnocchi"

  ## Directories, there should at least be a declaration for /var/www/cgi-bin/gnocchi

  <Directory "/var/www/cgi-bin/gnocchi">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Require all granted
  </Directory>

  ## Logging
  ErrorLog "/var/log/httpd/gnocchi_wsgi_error.log"
  ServerSignature Off
  CustomLog "/var/log/httpd/gnocchi_wsgi_access.log" combined
  SetEnvIf X-Forwarded-Proto https HTTPS=1
  WSGIApplicationGroup %{GLOBAL}
  WSGIDaemonProcess gnocchi display-name=gnocchi_wsgi group=gnocchi processes=8 threads=8 user=gnocchi
  WSGIProcessGroup gnocchi
  WSGIScriptAlias / "/var/www/cgi-bin/gnocchi/app"
</VirtualHost>

4. 复制 app.wsgi

复制

# mkdir /var/www/cgi-bin/gnocchi/
# cp /usr/lib/python2.7/site-packages/gnocchi/rest/app.wsgi /var/www/cgi-bin/gnocchi/app
# chown -R gnocchi.gnocchi /var/www/cgi-bin/gnocchi

5. 完成安装

1. 初始化数据库

复制

# su -s /bin/bash gnocchi -c "gnocchi-upgrade"

2. 重启 httpd 以加载 gnocchi

复制

# systemctl restart httpd
3. 启动服务并设置开机自启

复制

# systemctl enable openstack-gnocchi-metricd 
# systemctl start openstack-gnocchi-metricd

Telemetry 服务

Aodh 服务 (ceilometer节点)

先决条件

1. 完成以下步骤,创建数据库

  • 使用 root 用户登录数据库 复制
$ mysql -u root -p
  • 创建 aodh 数据库 复制
> CREATE DATABASE aodh;
  • 配置 aodh 数据库权限(这里密码为 AODH_DBPASSWORD,按需修改) 复制
> GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'localhost' IDENTIFIED BY 'AODH_DBPASSWORD';
> GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'%' IDENTIFIED BY 'AODH_DBPASSWORD';
  • 退出数据库

2. 加载 admin 用户认证文件

复制

$ . admin-openrc

3. 完成一下步骤创建服务认证

  • 创建 aodh 用户(用户密码为 AODH_PASSWORD) 复制
$ openstack user create --domain default --password-prompt aodh
  • 为 aodh 用户增加 admin 的角色 复制
$ openstack role add --project service --user aodh admin
  • 创建 aodh 服务实体 复制
$ openstack service create --name aodh --description "Telemetry" alarming
  1. 创建告警服务API endpoints复制
$ openstack endpoint create --region RegionOne alarming public http://controller:8042
$ openstack endpoint create --region RegionOne alarming internal http://controller:8042
$ openstack endpoint create --region RegionOne alarming admin http://controller:8042

安装和配置组件

1. 安装软件包

复制

# yum install openstack-aodh-api \
  openstack-aodh-evaluator openstack-aodh-notifier \
  openstack-aodh-listener openstack-aodh-expirer \
  python-aodhclient -y

2. 编辑 /etc/aodh/aodh.conf 文件加入以下内容

复制

# vim /etc/aodh/aodh.conf

[DEFAULT]
transport_url = rabbit://openstack:root1234@controller
auth_strategy = keystone

[database]
connection = mysql+pymysql://aodh:AODH_DBPASSWORD@controller/aodh

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = aodh
password = AODH_PASSWORD

[service_credentials]
auth_type = password
auth_url = http://controller:5000/v3
project_domain_name = default
user_domain_name = default
project_name = service
username = aodh
password = AODH_PASSWORD
interface = internalURL
region_name = RegionOne

3. 新建 /etc/httpd/conf.d/10-aodh_wsgi.conf 文件,加入以下内容

复制

# vim /etc/httpd/conf.d/10-aodh_wsgi.conf

Listen 8042

<VirtualHost *:8042>
  ServerName controller

  ## Vhost docroot
  DocumentRoot "/var/www/cgi-bin/aodh"

  ## Directories, there should at least be a declaration for /var/www/cgi-bin/aodh

  <Directory "/var/www/cgi-bin/aodh">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Require all granted
  </Directory>

  ## Logging
  ErrorLog "/var/log/httpd/aodh_wsgi_error.log"
  ServerSignature Off 
  CustomLog "/var/log/httpd/aodh_wsgi_access.log" combined 
  SetEnvIf X-Forwarded-Proto https HTTPS=1
  WSGIApplicationGroup %{GLOBAL}
  WSGIDaemonProcess aodh display-name=aodh_wsgi group=aodh processes=2 threads=2 user=aodh
  WSGIProcessGroup aodh
  WSGIScriptAlias / "/var/www/cgi-bin/aodh/app"
</VirtualHost>

4. 复制 app.wsgi

复制

# mkdir /var/www/cgi-bin/aodh/
# cp /usr/lib/python2.7/site-packages/aodh/api/app.wsgi /var/www/cgi-bin/aodh/app
# chown -R aodh.aodh /var/www/cgi-bin/aodh

完成安装

1. 初始化数据库(仅当使用 SQL 数据库的时候才需要初始化)

复制

# aodh-dbsync

2. 重启 httpd 以加载 aodh

复制

# systemctl restart httpd

3. 启动服务并设置开机自启(任一控制节点执行)

复制

# systemctl enable openstack-aodh-evaluator.service openstack-aodh-notifier.service openstack-aodh-listener.service
# systemctl start openstack-aodh-evaluator.service openstack-aodh-notifier.service openstack-aodh-listener.service

Panko 服务 (ceilometer节点)

先决条件

1. 完成以下步骤,创建数据库

  • 使用 root 用户登录数据库 复制
$ mysql -u root -p
  • 创建 panko 数据库 复制
> CREATE DATABASE panko;
  • 配置 panko 数据库权限(数据库密码为 e0ee97b87b0be41b5ba0 ) 复制
> GRANT ALL PRIVILEGES ON aodh.* TO 'panko'@'localhost' IDENTIFIED BY 'e0ee97b87b0be41b5ba0';
> GRANT ALL PRIVILEGES ON aodh.* TO 'panko'@'%' IDENTIFIED BY 'e0ee97b87b0be41b5ba0';
  • 退出数据库

2. 加载 admin 用户认证文件

复制

$ . admin-openrc

3. 完成一下步骤创建服务认证

  • 创建 panko 用户(用户密码为 PANKO_PASSWORD) 复制
$ openstack user create --domain default --password-prompt panko
  • 为 panko 用户增加 admin 的角色 复制
$ openstack role add --project service --user panko admin
  • 创建 panko 服务实体 复制
$ openstack service create --name panko --description "OpenStack Event Service" event

4. 创建Event服务API endpoints

复制

$ openstack endpoint create --region RegionOne event public http://controller:8779
$ openstack endpoint create --region RegionOne event internal http://controller:8779
$ openstack endpoint create --region RegionOne event admin http://controller:8779

安装和配置组件

1. 安装软件包

复制

# yum install openstack-panko-api openstack-panko-common -y

2. 编辑 /etc/panko/panko.conf 文件加入以下内容

复制

# vim /etc/panko/panko.conf

[DEFAULT]
auth_strategy = keystone
log_file = /var/log/panko/panko.log
log_dir = /var/log/panko

[api]
host=0.0.0.0
port=8779
workers=2
max_limit=1000

[database]
connection = mysql+pymysql://panko:PANKO_DBPASSWORD@controller/panko

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = panko
password = PANKO_PASSWORD

3. 新建 vim /etc/httpd/conf.d/10-panko_wsgi.conf 文件,加入以下内容

复制

Listen 8779

<VirtualHost *:8779>
  ServerName controller

  ## Vhost docroot
  DocumentRoot "/var/www/cgi-bin/panko"

  ## Directories, there should at least be a declaration for /var/www/cgi-bin/panko

  <Directory "/var/www/cgi-bin/panko">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Require all granted
  </Directory>

  ## Logging
  ErrorLog "/var/log/httpd/panko_wsgi_error.log"
  ServerSignature Off 
  CustomLog "/var/log/httpd/panko_wsgi_access.log" combined 
  SetEnvIf X-Forwarded-Proto https HTTPS=1
  WSGIApplicationGroup %{GLOBAL}
  WSGIDaemonProcess panko display-name=panko_wsgi group=panko processes=2 threads=2 user=panko
  WSGIProcessGroup panko
  WSGIScriptAlias / "/var/www/cgi-bin/panko/app"
</VirtualHost>

4. 复制 app.wsgi

复制

# mkdir /var/www/cgi-bin/panko/
# cp /usr/lib/python2.7/site-packages/panko/api/app.wsgi /var/www/cgi-bin/panko/app
# chown -R panko.panko /var/www/cgi-bin/panko/

5. 初始化数据

复制

# /usr/bin/panko-dbsync

完成安装

重启 httpd 以加载 panko

复制

# systemctl restart httpd

Ceilometer服务

安装和配置控制节点 (ceilometer节点)

Ceilometer

先决条件
1. 加载 admin 认证文件

复制

$ . admin-openrc
2. 创建服务认证,完成以下步骤
  • 创建ceilemeter用户(用户密码为 CEILOMETER_PASSWORD) 复制
$ openstack user create --domain default --password-prompt ceilometer
  • 给ceilometer用户增加admin的角色 复制
$ openstack role add --project service --user ceilometer admin
  • 创建ceilometer服务实体 复制
$ openstack service create --name ceilometer --description "Telemetry" metering
  • 创建 Telemetry 服务 API endpoint 复制
$ openstack endpoint create --region RegionOne metering public http://controller:8777
$ openstack endpoint create --region RegionOne metering internal http://controller:8777
$ openstack endpoint create --region RegionOne metering admin http://controller:8777
安装并配置组件
1. 安装软件包

复制

# yum install openstack-ceilometer-api \
  openstack-ceilometer-collector openstack-ceilometer-notification \
  openstack-ceilometer-central python-ceilometerclient  -y
2. 编辑 /etc/ceilometer/ceilometer.conf 文件加入以下内容

复制

# vim /etc/ceilometer/ceilometer.conf
[DEFAULT]
transport_url = rabbit://openstack:root1234@controller
auth_strategy = keystone
meter_dispatchers=gnocchi
event_dispatchers=gnocchi

[dispatcher_gnocchi]
filter_service_activity = False
archive_policy = high
resources_definition_file=gnocchi_resources.yaml
url=http://controller:8041

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = ceilometer
password = CEILOMETER_PASSWORD
service_token_roles_required = True

[service_credentials]
auth_type = password
auth_url = http://controller:5000/v3
project_domain_name = default
user_domain_name = default
project_name = service
username = ceilometer
password = CEILOMETER_PASSWORD
interface = internalURL
region_name = RegionOne
3. 新建 /etc/httpd/conf.d/10-ceilometer_wsgi.conf 文件,加入以下内容

复制

# vim /etc/httpd/conf.d/10-ceilometer_wsgi.conf

Listen 8777

<VirtualHost *:8777>
  ServerName controller

  ## Vhost docroot
  DocumentRoot "/var/www/cgi-bin/ceilometer"

  ## Directories, there should at least be a declaration for /var/www/cgi-bin/ceilometer

  <Directory "/var/www/cgi-bin/ceilometer">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Require all granted
  </Directory>

  ## Logging
  ErrorLog "/var/log/httpd/ceilometer_wsgi_error.log"
  ServerSignature Off 
  CustomLog "/var/log/httpd/ceilometer_wsgi_access.log" combined 
  SetEnvIf X-Forwarded-Proto https HTTPS=1
  WSGIApplicationGroup %{GLOBAL}
  WSGIDaemonProcess ceilometer display-name=ceilometer_wsgi group=ceilometer processes=1 threads=2 user=ceilometer
  WSGIProcessGroup ceilometer
  WSGIScriptAlias / "/var/www/cgi-bin/ceilometer/app"
</VirtualHost>
4. 复制 app.wsgi

复制

# mkdir /var/www/cgi-bin/ceilometer/
# cp /usr/lib/python2.7/site-packages/ceilometer/api/app.wsgi /var/www/cgi-bin/ceilometer/app
# chown -R ceilometer.ceilometer /var/www/cgi-bin/ceilometer/
  1. 运行一下命令在gnocchi中创建ceilometer的资源复制
# ceilometer-upgrade --skip-metering-database
完成安装
1. 重启 httpd 以加载 ceilometer

复制

# systemctl restart httpd
2. 启动服务并设置开机自启

复制

# systemctl enable openstack-ceilometer-notification.service \
  openstack-ceilometer-central.service \
  openstack-ceilometer-collector.service
# systemctl start openstack-ceilometer-notification.service \
  openstack-ceilometer-central.service \
  openstack-ceilometer-collector.service

安装和配置计算节点 (计算节点)

安装并配置组件

1. 安装软件包

复制

# yum install openstack-ceilometer-compute python2-wsme
2. 编辑 /etc/ceilometer/ceilometer.conf 文件加入已下内容

复制

# vim /etc/ceilometer/ceilometer.conf
[DEFAULT]
transport_url = rabbit://openstack:root1234@controller
auth_strategy = keystone

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller01:11211,controller02:11211,controller03:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = ceilometer
password = CEILOMETER_PASSWORD

[service_credentials]
auth_url = http://controller:5000
project_domain_id = default
user_domain_id = default
auth_type = password
username = ceilometer
project_name = service
password = CEILOMETER_PASSWORD
interface = internalURL
region_name = RegionOne

配置计算节点使用Telemetry

编辑 /etc/nova/nova.conf 加入以下内容

复制

# vim /etc/nova/nova.conf
[DEFAULT]
instance_usage_audit = True
instance_usage_audit_period = hour
notify_on_state_change = vm_and_task_state

[oslo_messaging_notifications]
driver = messagingv2

完成安装

1. 启动agent并设置开机自启

复制

# systemctl enable openstack-ceilometer-compute.service
# systemctl start openstack-ceilometer-compute.service
2. 重启计算服务

复制

# systemctl restart openstack-nova-compute.service

配置 opesntack 服务以支持ceilometer (控制节点)

Cinder

1. 配置cinder使用telemetry

编辑/etc/cinder/cinder.conf文件加入以下内容

复制

[oslo_messaging_notifications]
driver = messagingv2

2. 通过定时任务获取阶段性的通知,例如没5分钟执行一次

复制

# crontab -e

*/5 * * * * /usr/bin/cinder-volume-usage-audit --send_actions

3. 重启服务

复制

# systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service openstack-cinder-volume.service

Glance

1. 配置镜像服务使用telemetry

编辑/etc/glance/glance-api.conf 和 /etc/glance/glance-registry.conf

复制

[DEFAULT]
transport_url = rabbit://openstack:root1234@controller

[oslo_messaging_notifications]
driver = messagingv2

2. 重启服务

复制

# systemctl restart openstack-glance-api.service openstack-glance-registry.service

Neutron

1. 配置网络服务使用telemetry

编辑 /etc/neutron/neutron.conf 文件加入以下内容

复制

[oslo_messaging_notifications]
driver = messagingv2

2. 重启服务

复制

# systemctl restart neutron-server.service

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

「无文件」攻击方式渗透实验

前几天看了一个文章《全球上百家银行和金融机构感染了一种“无文件”恶意程序,几乎无法检测》,觉得powershell很是神奇,自己希望亲手实验一下,以最大程度还原...

4238
来自专栏吴柯的运维笔记

Linux下监控软件Zabbix安装部署教学

“每个理性的IT人士都置顶了吴柯的运维笔记” 1.部署LNMP环境 安装php Zabbix 3.0对PHP的要求最低为5.4,而CentOS6默认为5.3.3...

42413
来自专栏IMWeb前端团队

如何自己写一个公用的NPM包

以markdown-clear,创建过程为例,讲解整个NPM包创建和发布流程 1 如何创建一个包 1.1 创建并使用一个工程 在GitHub上新建一个仓库,其...

25510
来自专栏北京马哥教育

ELK Stack 日志系统搭建

ELK Stack是什么? ELK Stack 是 Elasticsearch、Logstash、Kibana 三个开源软件的组合。在实时数据检索和分析场合,三...

3646
来自专栏沃趣科技

MySQL InnoDB Update和Crash Recovery流程

1、首先介绍了Redo,Undo,Log Sequence Number (LSN),Checkpoint,Rollback Pointer (ROLL_PTR...

5447
来自专栏小狼的世界

Linux下数据备份的一般方法

一个应用中有很多的重要数据,为了在数据灾难发生后我们能够及时、迅速、准确的恢复我们的应用到一个比较合适的位置,我们必须定期的对我们的数据资料进行备份,今天所要讨...

1401
来自专栏haifeiWu与他朋友们的专栏

线上 Elasticsearch 集群健康值 red 状态问题排查与解决

之前一直运行正常的数据分析平台,最近一段时间没有注意发现日志索引数据一直未生成,大概持续了n多天,当前状态: 单台机器, Elasticsearch(下面称ES...

9782
来自专栏杨建荣的学习笔记

曲折的10g,11g中EM的安装配置过程(r4笔记第98天)

今天在本地搭了一套oracle环境,首先安装数据库的时候顺带了EM,结果安装好之后想修改监听器的端口,把原本15521的端口换成别的,结果在目录中修改了几个参数...

2753
来自专栏杨建荣的学习笔记

运维平台的建设思考-元数据管理(四)(r8笔记第16天)

对于服务器的一些信息,如果数据量大了之后总是感觉力不从心,需要了解,但是感觉得到的这些信息不够清晰明了。 比如我们得到一台服务器,需要知道最基本的硬件配置,内存...

39415
来自专栏小白鼠

分布式事务数据库事务CAP定理BASE理论分布式事务案例

断电了,该怎么处理?通过日志的方式!在执行事务的时候数据库首先会记录下这个事务的redo操作日志,然后才开始真正操作数据库,在操作之前首先会把日志文件写入磁盘,...

1272

扫码关注云+社区

领取腾讯云代金券