
Telegraf 监控工具安装部署
1.介绍
telegraf主要由四个独立的插件驱动:
Input Plugins 输入插件,收集系统、服务、第三方组件的数据 Process Plugins 处理插件,转换、处理、过滤数据 Aggregate Plugins 聚合插件,数据特征聚合:sum avg delta等 Output Plugins 输出插件,将数据写出到哪里配置文件说明
Telegraf有一些可以在配置[agent]部分下配置的选项
interval:所有输入的默认数据收集间隔 round_interval:将收集间隔舍入为“interval”例如,如果interval =“10s”则始终收集于:00,:10,:20等。 metric_batch_size:Telegraf将指标发送到大多数metric_batch_size指标的批量输出。 metric_buffer_limit:Telegraf将缓存metric_buffer_limit每个输出的指标,并在成功写入时刷新此缓冲区。这应该是倍数,metric_batch_size不能少于2倍metric_batch_size。 collection_jitter:集合抖动用于随机抖动集合。每个插件在收集之前将在抖动内随机休眠一段时间。这可以用来避免许多插件同时查询sysfs之类的东西,这会对系统产生可测量的影响。 flush_interval:所有输出的默认数据刷新间隔。您不应将此设置为以下间隔。最大值flush_interval为flush_interval+flush_jitter flush_jitter:将刷新间隔抖动一个随机量。这主要是为了避免运行大量Telegraf实例的用户出现大量写入峰值。例如,flush_jitter5s和flush_interval10s之一意味着每10-15秒就会发生一次冲洗。 precision:默认情况下,precision将设置为与收集时间间隔相同的时间戳顺序,最大值为1s。精度不会用于服务输入,例如logparser和statsd。有效值为 ns,us(或µs)ms,和s。 logfile:指定日志文件名。空字符串表示要登录stderr。 debug:在调试模式下运行Telegraf。 quiet:以安静模式运行Telegraf(仅限错误消息)。 hostname:覆盖默认主机名,如果为空使用os.Hostname()。 omit_hostname:如果为true,则不host在Telegraf代理中设置标记。Input 配置
以下配置参数可用于所有输入:
interval:收集此指标的频率。普通插件使用单个全局间隔,但是如果一个特定输入应该运行得更少或更频繁,则可以在此处进行配置。 name_override:覆盖度量的基本名称。(默认为输入的名称)。 name_prefix:指定附加到度量名称的前缀。 name_suffix:指定附加到度量名称的后缀。 tags:要应用于特定输入测量的标签映射。Aggregator 配置
以下配置参数可用于所有聚合器:
period:刷新和清除每个聚合器的时间段。聚合器将忽略在此时间段之外使用时间戳发送的所有度量标准。 delay:刷新每个聚合器之前的延迟。这是为了控制聚合器在从输入插件接收度量标准之前等待多长时间,如果聚合器正在刷新并且输入在相同的时间间隔内收集。 drop_original:如果为true,聚合器将丢弃原始度量标准,并且不会将其发送到输出插件。 name_override:覆盖度量的基本名称。(默认为输入的名称)。 name_prefix:指定附加到度量名称的前缀。 name_suffix:指定附加到度量名称的后缀。 tags:要应用于特定输入测量的标签映射。Processor 配置
以下配置参数可用于所有处理器:
order:这是执行处理器的顺序。如果未指定,则处理器执行顺序将是随机的。 Measurement filtering (测量过滤) 可以根据输入,输出,处理器或聚合器配置过滤器,请参阅下面的示例。 namepass:一个glob模式字符串数组。仅发出测量名称与此列表中的模式匹配的点。 命名工作:逆转namepass。如果找到匹配,则丢弃该点。这是在通过namepass测试后的点上测试的。 fieldpass:一个glob模式字符串数组。仅发出其字段键与此列表中的模式匹配的字段。不适用于输出。 fielddrop:逆的fieldpass。具有匹配其中一个模式的字段键的字段将从该点中丢弃。不适用于输出。 tagpass:将标记键映射到glob模式字符串数组的表。仅发出表中包含标记键的点和与其模式之一匹配的标记值。 tagdrop:逆的tagpass。如果找到匹配,则丢弃该点。这是在通过tagpass测试后的点上测试的。 taginclude:一个glob模式字符串数组。仅发出具有与其中一个模式匹配的标签键的标签。相反tagpass,它将根据其标记传递整个点,taginclude从该点移除所有不匹配的标记。此滤波器可用于输入和输出,但 建议在输入上使用,因为在摄取点过滤掉标签更有效。 tagexclude:倒数taginclude。具有与其中一个模式匹配的标记键的标记将从该点被丢弃。.
2.软件安装
Telegraf和InfluxDB下载地址:https://portal.influxdata.com/downloads/
Telegraf:
cat <<EOF | sudo tee /etc/yum.repos.d/influxdata.repo [influxdata] name = InfluxData Repository - Stable baseurl = https://repos.influxdata.com/stable/\$basearch/main enabled = 1 gpgcheck = 1 gpgkey = https://repos.influxdata.com/influxdb.key EOF sudo yum install telegraf influxdb influxctl -y.
3.修改配置文件
默认配置文件
# egrep -v "#|^$" /etc/telegraf/telegraf.conf [global_tags] [agent] interval = "10s" round_interval = true metric_batch_size = 1000 metric_buffer_limit = 10000 collection_jitter = "0s" flush_interval = "10s" flush_jitter = "0s" precision = "0s" hostname = "" omit_hostname = false [[outputs.influxdb]] [[inputs.cpu]] percpu = true totalcpu = true collect_cpu_time = false report_active = false [[inputs.disk]] ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"] [[inputs.diskio]] [[inputs.kernel]] [[inputs.mem]] [[inputs.processes]] [[inputs.swap]] [[inputs.system]]输入命令
vim /etc/telegraf/telegraf.conf [[outputs.influxdb]] urls = ["http://localhost:8086"] # required database = "telegraf" # required retention_policy = "" precision = "s" timeout = "5s" username = "telegraf" password = "mjM6JEVEPa".
4.启动服务
输入命令
systemctl status telegraf systemctl enable telegraf --now.
5.配置influxdb
利用telegraf采集数据并保存到influxdb中,必须在influxdb中创建对应的用户和数据库
创建influxdb用户和数据库
[root@localhost~]# influx Visit https://enterprise.influxdata.com to register for updates, InfluxDB server management, and monitoring. Connected to http://localhost:8086 version 1.0.2 InfluxDB shell version: 1.0.2 > create user "telegraf" with password 'mjM6JEVEPa' > show users; user admin telegraf false > create database telegraf > show databases name: databases --------------- name _internal telegraf > exit [root@localhost ~]# systemctl restart influxdb重启influxdb
systemctl restart influxdb
6.部署iDRAC Grafana
模板地址:https://grafana.com/grafana/dashboards/12106
项目地址:https://github.com/ilovepancakes95/
安装依赖工具
yum install net-snmp net-snmp-utils -y安装插件clock和statusmap
grafana-cli plugins install grafana-clock-panel grafana-cli plugins install flant-statusmap-panel # 或者直接拷贝插件目录,将其解压缩到您的 grafana 插件/var/lib/grafana/plugins目录中 https://grafana.com/api/plugins/flant-statusmap-panel/versions/0.5.1/download https://grafana.com/api/plugins/grafana-clock-panel/versions/2.0.0/download chown -R grafana. /var/lib/grafana/plugins下载配置文件:https://github.com/ilovepancakes95/idrac_snmp-grafana
git clone https://github.com/ilovepancakes95/idrac_snmp-grafana cp ./idrac_snmp-grafana/idrac-input.conf /etc/telegraf/telegraf.d/修改配置文件
# 用自己的iDRAC IP或主机名替换“代理”下的“idracURLx”值。重新启动Telegraf vim /etc/telegraf/telegraf.d/idrac-input.conf [[inputs.snmp]] agents = [ "172.16.168.11:161" , "idracURL2:161" , "idracURL3:161" ] version = 1 community = "public" name = "idrac-hosts".