kolla部署collectd,telegraf,influxdb,grafana监控openstack虚拟机和宿主机状态

之前使用collectd+influxdb+grafana监控虚拟的状态。设置influxdb直接监听collectd的端口收集collectd数据。
该方法需要设置collectd的types.db文件格式供influxdb使用。且需要将types.db文件传入influxdb容器内,influxdb的docker容器才能成功运行。

https://blog.csdn.net/dandanfengyun/article/details/113510416
https://blog.csdn.net/dandanfengyun/article/details/114540296

如果使用collected+telegraf+influxdb。telegraf容器内自带typed.db格式文件。可监听collectd的数据送达端口,将collectd的数据作为其中一个input 输入、由telegraf将数据写入到influxdb数据库,其中从collectd接收到的数据 表(measurement)前缀设置collectd_ 。

Telegraf是一个用Golang写的开源数据收集Agent,基于插件驱动。本身提供的输入和输出插件非常丰富,当然有需求也可以自行编写(需要重新编译)。Telegraf是influxdata公司的时间序列平台TICK技术栈中的“T”,主要用于收集时间序列型数据,比如服务器CPU指标、内存指标、各种IoT设备产生的数据等等。

数据指标(Metrics)

  • 指标名(Measurement name):指标描述和命名。
  • 标签集合(Tags):Key/Value键值对,可以类比为关系型数据库的键值,常用于快速索引和唯一标识。标签在设计的时候,尽量避免各种数值型,尽量使用有限集合。
  • 字段集合(Fields):Key/Value键值对,包含指标描述的数据类型和值。
    时间戳(Timestamp):此条指标数据的时间戳。

Telegraf有四种类型的插件

  • 输入插件(Inputs):收集各种时间序列性指标,包含各种系统信息和应用信息的插件。
  • 处理插件(Process):当收集到的指标数据流要进行一些简单处理时,比如给所有指标添加、删除、修改一个Tag。只是针对当前的指标数据进行。
  • 聚合插件(Aggregate):聚合插件有别于处理插件,就在于它要处理的对象是某段时间流经该插件的所有数据(所以,每个聚合插件都有一个period设置,只会处理now()-period时间段内的数据),比如取最大值、最小值、平均值等操作。
  • 输出插件(Outputs):收集到的数据,经过处理和聚合后,输出到数据存储系统,可以是各种地方,如:文件、InfluxDB、各种消息队列服务等等。

单个节点ALLinOne部署时基本设置

vim /etc/kolla/globals.yml
enable_collectd: "yes"
enable_grafana: "yes"
enable_influxdb: "yes"
enable_telegraf: "yes"
kolla-ansible deploy -i /etc/kolla/all-in-one 

安装完成,查看是否运行

docker ps -a | grep -e collectd -e influxdb -e grafana -e telegraf

部署完成

修改配置文件

创建自定义配置文件目录。
路径在globals.yml中由node_custom_config定义

mkdir /etc/kolla/config

一、collectd配置文件修改,使其监控libvirt收集虚拟机数据,并将数据发送到本机的25826端口。

舍弃了collectd对宿主机本身的监控(如CPU Memory Load Interface Disk等)。因为telegraf会有Inputs插件监控宿主机的状态,两个监控组件都监听宿主机感觉多余了。

cp /etc/kolla/collectd/collectd.conf /etc/kolla/config/
vim /etc/kolla/config/collectd.conf 

collectd配置文件取消了对宿主机的监控,只设置了监控libvirtd的虚拟机信息,然后使用network插件将收集到的信息发往本机的25826端口。

FQDNLookup false
LoadPlugin syslog

LoadPlugin logfile

LoadPlugin virt

LoadPlugin network


<Plugin logfile>
        LogLevel info
        File "/var/log/kolla/collectd/collectd.log"
        Timestamp true
        PrintSeverity false
</Plugin>


<Plugin virt>
        Connection "qemu+tcp://192.168.199.90/system"
        HostnameFormat hostname
        PluginInstanceFormat uuid
        BlockDeviceFormat target
        InterfaceFormat name
        ExtraStats "cpu_util"
</Plugin>


<Plugin network>
        Server "192.168.199.90" "25826"
</Plugin>

1.取消了默认collectd的对宿主机监控插件(cpu,interface,load,memory)。

# LoadPlugin cpu
# LoadPlugin interface
# LoadPlugin load
# LoadPlugin memory

2.新增了virt插件监控libvirtd虚拟机状态信息。logfile 日志文件。

<Plugin virt>
        Connection "qemu+tcp://192.168.199.90/system"	# 本机的libvirt端口。
        HostnameFormat hostname			# 宿主机名
        PluginInstanceFormat uuid		# 虚拟机uuid
        BlockDeviceFormat target		# 监控磁盘的format设置为target
        InterfaceFormat name			# 虚拟网卡format,可选name 或 address
        ExtraStats "cpu_util"			# 额外监听,CPU利用率
</Plugin>

3.network 数据传输插件不做修改,将收集数据发送到本机的25826端口。

二、telegraf配置文件修改。设置多个inputs插件使telegraf收集宿主机状态的各个指标,以及监听collectd送达的虚拟机数据。使用outputs.influxdb插件将metric写入到influxdb数据库

注,telegraf的自定义配置文件路径与collectd稍有不同。前面需要加上telegraf目录才能生效。不像collectd那样直接在/etc/kolla/config/目录创建collectd.conf即可。

关于kolla不同组件的自定义配置文件路径。可在以下文件查看。

kolla-ansible/ansible/\<service name>/tasks/config.yml 

如telegraf

cat /usr/share/kolla-ansible/ansible/roles/telegraf/tasks/config.yml 
- "{
  { node_custom_config }}/telegraf/{
  { inventory_hostname }}/telegraf.conf"
- "{
  { node_custom_config }}/telegraf/telegraf.conf"
mkdir /etc/kolla/config/telegraf
cp /etc/kolla/telegraf/telegraf.conf /etc/kolla/config/telegraf/
vim /etc/kolla/config/telegraf/telegraf.conf 

修改为

[global_tags]
[agent]
  interval = "10s"
  round_interval = true
  metric_batch_size = 2000
  metric_buffer_limit = 10000
  collection_jitter = "0s"
  flush_interval = "10s"
  flush_jitter = "0s"
  debug = false
  quiet = false
  hostname = ""
  omit_hostname = false
  logfile = "/var/log/k
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值