您的位置:首页 > 运维架构

Openstack-Mitaka Ceilometer 中使用 SNMP 监控真实物理机

2016-08-24 21:50 489 查看
Ceilometer 是 Openstack 的监控管理计费模块,我所用的版本为 Mitaka 版本。在 Ceilometer 中,可以使用 SNMP 监控服务器的实时硬件资源信息。

系统环境为 Centos 6.7。

安装 SNMP

sudo yum install -y net-snmp net-snmp-utils


修改 SNMP 配置文件

sudo vim /etc/snmp/snmpd.conf

默认的 snmpd.conf 如下:

#       sec.name  source          community
com2sec notConfigUser  default       public

#       groupName      securityModel securityName
group   notConfigGroup v1           notConfigUser
group   notConfigGroup v2c           notConfigUser

#       name           incl/excl     subtree         mask(optional)
view    systemview    included   .1.3.6.1.2.1.1
view    systemview    included   .1.3.6.1.2.1.25.1.1

#       group          context sec.model sec.level prefix read   write  notif
access  notConfigGroup ""      any       noauth    exact  systemview none none

syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)

dontLogTCPWrappersConnects yes

我所做的修改是:

添加多一个名为 all 的 view。

view    all    included   .1


把 access 里的 read 权限改为 all。

access  notConfigGroup ""      any       noauth    exact  all none none


当然修改方式并不唯一。

启动 SNMP 服务

sudo chkconfig snmpd on
sudo service snmpd start


修改 pipeline.yaml

sudo vim /etc/ceilometer/pipeline.yaml

在 pipeline.yaml 中的 meter_source 下添加 resources:

---
sources:
- name: meter_source
interval: 600
meters:
- "*"
resources:
- snmp://127.0.0.1
sinks:
- meter_sink
- name: cpu_source
interval: 600
meters:
- "cpu"
sinks:
- cpu_sink
- cpu_delta_sink
····

修改方式并不唯一。

运行

在启动了 keystone 认证服务及 ceilometer 的 API 服务后,运行
ceilometer-polling
以启动对物理机的轮询监控。

可能日志里会出现以下错误信息:

2016-08-25 04:54:02.097 44342 INFO ceilometer.agent.manager [req-71ccaf39-39a4-491a-8147-b395b224ec15 admin - - - -] Polling pollster switch.port in the context of meter_source
2016-08-25 04:54:02.097 44342 WARNING stevedore.named [req-71ccaf39-39a4-491a-8147-b395b224ec15 admin - - - -] Could not load snmp
2016-08-25 04:54:02.098 44342 WARNING ceilometer.agent.manager [req-71ccaf39-39a4-491a-8147-b395b224ec15 admin - - - -] Continue after error from switch.port: No 'network.statistics.drivers' driver found, looking for 'snmp'
2016-08-25 04:54:02.098 44342 ERROR ceilometer.agent.manager Traceback (most recent call last):
2016-08-25 04:54:02.098 44342 ERROR ceilometer.agent.manager   File "/usr/local/lib/python2.7/site-packages/ceilometer/agent/manager.py", line 193, in poll_and_notify
2016-08-25 04:54:02.098 44342 ERROR ceilometer.agent.manager     for sample in samples:
2016-08-25 04:54:02.098 44342 ERROR ceilometer.agent.manager   File "/usr/local/lib/python2.7/site-packages/ceilometer/network/statistics/__init__.py", line 77, in get_samples
2016-08-25 04:54:02.098 44342 ERROR ceilometer.agent.manager     ext = self.get_driver(parse_url.scheme)
2016-08-25 04:54:02.098 44342 ERROR ceilometer.agent.manager   File "/usr/local/lib/python2.7/site-packages/ceilometer/network/statistics/__init__.py", line 70, in get_driver
2016-08-25 04:54:02.098 44342 ERROR ceilometer.agent.manager     scheme).driver()
2016-08-25 04:54:02.098 44342 ERROR ceilometer.agent.manager   File "/usr/local/lib/python2.7/site-packages/stevedore/driver.py", line 46, in __init__
2016-08-25 04:54:02.098 44342 ERROR ceilometer.agent.manager     verify_requirements=verify_requirements,
2016-08-25 04:54:02.098 44342 ERROR ceilometer.agent.manager   File "/usr/local/lib/python2.7/site-packages/stevedore/named.py", line 72, in __init__
2016-08-25 04:54:02.098 44342 ERROR ceilometer.agent.manager     self._init_plugins(extensions)
2016-08-25 04:54:02.098 44342 ERROR ceilometer.agent.manager   File "/usr/local/lib/python2.7/site-packages/stevedore/driver.py", line 98, in _init_plugins
2016-08-25 04:54:02.098 44342 ERROR ceilometer.agent.manager     (self.namespace, name))
2016-08-25 04:54:02.098 44342 ERROR ceilometer.agent.manager NoMatches: No 'network.statistics.drivers' driver found, looking for 'snmp'

可以看到:

Continue after error from switch.port: No 'network.statistics.drivers' driver found, looking for 'snmp'

里的类似
switch.port
的字样,这是因为没有部署好 SDN 的原因,不用管。

结果

查看数据库,可以通过 resource 、meter 表单看到轮询到的资源信息。

meter 种类有以下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: