Sep 092014
 

先记录安装过程。

参考文档:http://docs.openstack.org/icehouse/install-guide/install/apt/content/ch_ceilometer.html

控制节点

apt-get -y install ceilometer-api ceilometer-collector ceilometer-agent-central \
  ceilometer-agent-notification ceilometer-alarm-evaluator ceilometer-alarm-notifier \
python-ceilometerclient

安装数据库,采用Mongodb

apt-get -y install mongodb-server

配置mongodb /etc/mongodb.conf

bind_ip = 10.0.0.11

重启服务

service mongodb restart

创建mongodb数据库

mongo --host 10.0.0.11 --eval '
db = db.getSiblingDB("ceilometer");
db.addUser({user: "ceilometer",
            pwd: "CEILOMETER_DBPASS",
            roles: [ "readWrite", "dbAdmin" ]})'

编辑 /etc/ceilometer/ceilometer.conf

[DEFAULT]

log_dir = /var/log/ceilometer

rabbit_host=10.0.0.11

[database]

#connection=sqlite:////var/lib/ceilometer/$sqlite_db
connection = mongodb://ceilometer:CEILOMETER_DBPASS@10.0.0.11:27017/ceilometer

[keystone_authtoken]

auth_uri = http://10.0.0.11:5000
auth_host = 10.0.0.11
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = ceilometer
admin_password = service_pass

[publisher]

metering_secret = CEILOMETER_TOKEN


[service_credentials]

os_auth_url = http://10.0.0.11:5000/v2.0
os_username = ceilometer
os_tenant_name = service
os_password = service_pass

keystone

首先要设置环境变量 source creds

keystone user-create --name=ceilometer --pass=service_pass --email=ceilometer@example.com
keystone user-role-add --user=ceilometer --tenant=service --role=admin
keystone service-create --name=ceilometer --type=metering \
  --description="Telemetry"

keystone endpoint-create \
  --service-id=$(keystone service-list | awk '/ metering / {print $2}') \
  --publicurl=http://10.0.0.11:8777 \
  --internalurl=http://10.0.0.11:8777 \
  --adminurl=http://10.0.0.11:8777

重启相关服务

service ceilometer-agent-central restart
service ceilometer-agent-notification restart
service ceilometer-api restart
service ceilometer-collector restart
service ceilometer-alarm-evaluator restart
service ceilometer-alarm-notifier restart

计算节点

计算节点,需要安装专门的agent才能实现监控

apt-get -y install ceilometer-agent-compute

编辑 /etc/nova.conf ,在default下添加

instance_usage_audit = True
instance_usage_audit_period = hour
notify_on_state_change = vm_and_task_state
notification_driver = nova.openstack.common.notifier.rpc_notifier
notification_driver = ceilometer.compute.nova_notifier

重启nova compute 服务

service nova-compute restart

编辑 /etc/ceilomter/ceilometer.conf

[DEFAULT]

log_dir = /var/log/ceilometer

rabbit_host=10.0.0.11

[database]

#connection=sqlite:////var/lib/ceilometer/$sqlite_db
connection = mongodb://ceilometer:CEILOMETER_DBPASS@10.0.0.11:27017/ceilometer

[keystone_authtoken]

auth_uri = http://10.0.0.11:5000
auth_host = 10.0.0.11
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = ceilometer
admin_password = service_pass

[publisher]

metering_secret = CEILOMETER_TOKEN


[service_credentials]

os_auth_url = http://10.0.0.11:5000/v2.0
os_username = ceilometer
os_tenant_name = service
os_password = service_pass

重启服务

service ceilometer-agent-compute restart

存储Cinder

编辑控制节点和存储节点 /etc/cinder/cinder.conf

control_exchange = cinder
notification_driver = cinder.openstack.common.notifier.rpc_notifier

重启相关服务

service cinder-api restart
service cinder-scheduler restart
service cinder-volume restart

镜像Glance

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

notification_driver = messaging

重启服务

service glance-registry restart
service glance-api restart

检测

ceilometer meter-list

  14 Responses to “Openstack Ceilometer Install Guide”

  1. 陈老师,是否有研究过ceilometer基于高可用性部署?

  2. 陈老师您好,您这里部署中“节点”的概念是指一个VM还是一个物理服务器或是一个集群呀?不知道agent和VM是个什么关系,agent监控VM层级的信息还是监控VM中各个进程的信息呢?

    • 节点指物理服务器。agent只能通过libvirt获取数据。无法监控vm里的进程。如果要监控进程,肯定是需要agent

  3. 陈老师,

    关于计费相关的, 你有过研究吗?

    • 计费不好搞。按秒计费的设计,和那种包月的,还是差异很大的。

      • ceilometer 监控的信息以图形化的方式显示出来, 有什么办法吗? 麻烦给推荐几个关键词或者方向

  4. 关于计费的技术框架,有什么好建议吗

    • 可以研究一下目前比较热门的一个,不过好像是收费的,老外搞的。

  5. 陈老师你好,当我使用 #ceilometer meter-list 时 出现如下显示:The service catalog is empty. 我不知道为什么~ 查看日志也没有看到什么(我看的不太懂).如果你也碰到过我的问题,请您帮我解答一下~谢谢

 Leave a Reply

(required)

(required)