溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么安裝使用go監(jiān)控方案的telegraf

發(fā)布時間:2021-11-15 17:11:59 來源:億速云 閱讀:178 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“怎么安裝使用go監(jiān)控方案的telegraf”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

Telegraf 學習

telegraf 整個包非常大,在這個方案只用了statsd插件部分的修改,所以更具體的需要根據(jù)自己需要進行學習,如果只是使用本方案就可以略過。

開始

Telegraf是一個插件驅(qū)動的服務(wù)器代理,用于收集和報告指標,是TICK堆棧的第一部分。 Telegraf具有直接從其運行的系統(tǒng)中提取各種指標的插件,從第三方API提取指標,甚至通過statsd和Kafka消費者服務(wù)監(jiān)聽指標。 它還具有輸出插件,可將指標發(fā)送到各種其他數(shù)據(jù)存儲,服務(wù)和消息隊列,包括InfluxDB,Graphite,OpenTSDB,Datadog,Librato,Kafka,MQTT,NSQ等等。

下載

download

安裝

mac 版本

  1. 安裝

 brew update
 brew install telegraf
  1. 下次登錄啟動telegraf

ln -sfv /usr/local/opt/telegraf/*.plist ~/Library/LaunchAgents
  1. 加載 telegraf

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.telegraf.plist
  1. 如果不用launchctl, 只需要使用下面命令啟動

telegraf -config /usr/local/etc/telegraf.conf
linux 配置文件位置
/etc/telegraf/telegraf.conf

啟動

sudo service telegraf start

systemctl start telegraf
網(wǎng)絡(luò)配置

Telegraf提供多個服務(wù)輸入插件,可能需要自定義端口。

配置文件: /etc/telegraf/telegraf.conf

NTP

Telegraf使用主機的UTC本地時間為數(shù)據(jù)分配時間戳。 使用網(wǎng)絡(luò)時間協(xié)議(NTP)同步主機之間的時間; 如果主機的時鐘與NTP不同步,則數(shù)據(jù)的時間戳可能不準確。

config

使用默認輸入和輸出插件創(chuàng)建配置文件。

telegraf config > telegraf.conf

創(chuàng)建具有特定輸入和輸出的配置文件

telegraf --input-filter <pluginname>[:<pluginname>] --output-filter <outputname>[:<outputname>] config > telegraf.conf
例子

在啟動Telegraf服務(wù)器之前,您需要編輯和/或創(chuàng)建一個初始配置,指定所需的輸入(指標來自哪里)和輸出(指標所在的位置)。

在這里,我們將生成一個配置文件,同時使用-input-filter標志指定所需的輸入,并使用-output-filter標志指定所需的輸出。

在下面的示例中,我們創(chuàng)建了一個名為telegraf.conf的配置文件,其中包含兩個輸入: 一個讀取有關(guān)系統(tǒng)cpu使用情況(cpu)的指標,另一個讀取有關(guān)系統(tǒng)內(nèi)存使用情況(mem)的指標。 我們將InfluxDB指定為所需的輸出。

telegraf -sample-config -input-filter cpu:mem -output-filter influxdb > telegraf.conf

入門

一旦Telegraf啟動并運行,它將開始收集數(shù)據(jù)并將其寫入所需的輸出。

我們將在下面的InfluxDB中展示cpu和mem數(shù)據(jù)的樣子。

influxdb 查看 measurements

> SHOW MEASUREMENTS
name: measurements
------------------
name
cpu
mem

查看 field keys

> SHOW FIELD KEYS
name: cpu
---------
fieldKey                fieldType
usage_guest             float
usage_guest_nice	    float
usage_idle		        float
usage_iowait		    float
usage_irq		        float
usage_nice		        float
usage_softirq		    float
usage_steal		        float
usage_system		    float
usage_user		        float

name: mem
---------
fieldKey                fieldType
active			        integer
available		        integer
available_percent	    float
buffered		        integer
cached			        integer
free			        integer
inactive		        integer
total			        integer
used			        integer
used_percent		    float

選擇一個數(shù)據(jù)樣本 field usage_idlecpu_usage_idle :

> SELECT usage_idle FROM cpu WHERE cpu = 'cpu-total' LIMIT 5
name: cpu
---------
time			               usage_idle
2016-01-16T00:03:00Z	 97.56189047261816
2016-01-16T00:03:10Z	 97.76305923519121
2016-01-16T00:03:20Z	 97.32533433320835
2016-01-16T00:03:30Z	 95.68857785553611
2016-01-16T00:03:40Z	 98.63715928982245

請注意,時間戳以十舍五入的間隔發(fā)生(即:00,:10,:20,依此類推) - 這是一個可配置的設(shè)置。

概念

指標 metrics

Telegraf指標是用于在處理期間對數(shù)據(jù)建模的內(nèi)部表示。 這些指標非?;贗nfluxDB的數(shù)據(jù)模型,包含四個主要組件:

Measurement name 度量名稱:度量標準的描述和命名空間。 Tags 標簽:鍵/值字符串對,通常用于標識度量標準。 Fields 字段:鍵入的鍵/值對,通常包含度量標準數(shù)據(jù)。 Timestamp 時間戳:與字段關(guān)聯(lián)的日期和時間。

此度量標準類型僅存在于內(nèi)存中,必須轉(zhuǎn)換為具體表示才能傳輸或查看。

Telegraf為這些轉(zhuǎn)換提供輸出數(shù)據(jù)格式(也稱為序列化器)。

Telegraf的默認串行器轉(zhuǎn)換為InfluxDB線路協(xié)議,該協(xié)議提供Telegraf指標的高性能和一對一直接映射。

聚合器和處理器插件

┌───────────┐
│           │
│    CPU    │───┐
│           │   │
└───────────┘   │
                │
┌───────────┐   │                                              ┌───────────┐
│           │   │                                              │           │
│  Memory   │───┤                                          ┌──?│ InfluxDB  │
│           │   │                                          │   │           │
└───────────┘   │    ┌─────────────┐     ┌─────────────┐   │   └───────────┘
                │    │             │     │Aggregate    │   │
┌───────────┐   │    │Process      │     │ - mean      │   │   ┌───────────┐
│           │   │    │ - transform │     │ - quantiles │   │   │           │
│   MySQL   │───┼──? │ - decorate  │────?│ - min/max   │───┼──?│   File    │
│           │   │    │ - filter    │     │ - count     │   │   │           │
└───────────┘   │    │             │     │             │   │   └───────────┘
                │    └─────────────┘     └─────────────┘   │
┌───────────┐   │                                          │   ┌───────────┐
│           │   │                                          │   │           │
│   SNMP    │───┤                                          └──?│   Kafka   │
│           │   │                                              │           │
└───────────┘   │                                              └───────────┘
                │
┌───────────┐   │
│           │   │
│  Docker   │───┘
│           │
└───────────┘

處理器插件(Processor plugins)在通過時處理指標,并根據(jù)它們處理的值立即發(fā)出結(jié)果。例如,這可能是打印所有指標或向所有通過的指標添加標記。

聚合器(Aggregator plugins)通常用于發(fā)出新的聚合度量,例如運行平均值,最小值,最大值,分位數(shù)或標準偏差。 因此,所有聚合器插件都配置了句點。周期是每個聚合表示的度量窗口的大小。換句話說,發(fā)出的聚合度量將是過去時段秒的聚合值。 由于許多用戶只關(guān)心他們的聚合而不是每個收集的度量標準,因此還有一個drop_original參數(shù),它告訴Telegraf只發(fā)出聚合而不是原始指標。

注意:由于聚合器插件僅在其句點內(nèi)聚合度量標準,因此不支持歷史數(shù)據(jù)。換句話說,如果您的指標時間戳超過now() - period過去的時間段,則不會對其進行匯總。

術(shù)語表

agent

代理是Telegraf的核心部分,它從聲明的輸入插件收集指標,并根據(jù)給定配置啟用的插件將指標發(fā)送到聲明的輸出插件。

aggregator plugin

Aggregator插件從輸入插件接收原始指標并從中創(chuàng)建聚合指標。 然后將聚合度量傳遞給配置的輸出插件。

batch size 批量大小

Telegraf代理會批量發(fā)送指標到輸出插件,而不是單獨發(fā)送。 批處理大小控制Telegraf發(fā)送到輸出插件的每個寫批處理的大小。

collection interval 收集間隔

從每個輸入插件收集數(shù)據(jù)的默認全局間隔。 每個輸入插件的配置都可以覆蓋收集間隔。

collection jitter 收集抖動

集合抖動用于防止每個輸入插件同時收集指標,這可能對系統(tǒng)產(chǎn)生可測量的影響。 每個收集間隔,每個輸入插件將在收集指標之前在零和收集抖動之間休眠一段隨機時間。

flush interval 刷新間隔

將數(shù)據(jù)從每個輸出插件刷新到其目標的全局間隔。 不應(yīng)將此值設(shè)置為低于收集間隔。

input plugin 輸入插件

輸入插件主動收集指標并將其交付給核心代理,其中聚合器,處理器和輸出插件可以對指標進行操作。 要激活輸入插件,需要在Telegraf的配置文件中啟用和配置。

metric buffer 度量緩沖區(qū)

當寫入輸出插件失敗時,度量緩沖區(qū)會緩存各個度量標準。 Telegraf將在成功寫入輸出后嘗試刷新緩沖區(qū)。 當此緩沖區(qū)填滿時,將首先刪除最舊的度量標準。

output plugin 輸出插件

輸出插件將指標傳遞到其配置的目標。 要激活輸出插件,需要在Telegraf的配置文件中啟用和配置。

precision 精確

精度配置設(shè)置確定從輸入插件接收的點中保留多少時間戳精度。 所有傳入的時間戳都被截斷為給定的精度。 然后,Telegraf用零填充截斷的時間戳以創(chuàng)建納秒時間戳; 輸出插件將以納秒為單位發(fā)出時間戳。 有效精度為ns,us或μs,ms和s。

例如,如果精度設(shè)置為ms,則納秒時間戳1480000000123456789將以毫秒精度截斷為1480000000123,然后用零填充以生成新的,不太精確的納秒時間戳1480000000123000000.輸出插件不會進一步改變時間戳。 服務(wù)的輸入插件忽略精度設(shè)置。

processor plugin 處理器插件

處理器插件轉(zhuǎn)換,修飾和/或過濾由輸入插件收集的指標,將轉(zhuǎn)換后的指標傳遞給輸出插件。

service input plugin 服務(wù)輸入插件

服務(wù)輸入插件是在Telegraf代理運行時以被動收集模式運行的輸入插件。 他們在套接字上偵聽已知的協(xié)議輸入,或者在將它們提供給Telegraf代理之前將其自己的邏輯應(yīng)用于攝取的度量標準。

插件

輸入插件

Telegraf輸入插件與InfluxData時間序列平臺一起使用,以從系統(tǒng),服務(wù)或第三方API收集指標。 所有指標都是從您在配置文件中啟用和配置的輸入中收集的。

通過運行telegraf --usage <service-input-name>查看每個服務(wù)輸入的使用說明。

支持的Telegraf輸入插件Telegraf input plugins

輸出插件

Telegraf允許用戶在配置文件中指定多個輸出接收器。

支持的Telegraf輸出插件Telegraf output plugins

聚合器插件

BasicStats

插件ID: basicstats

所述BasicStats聚合器插件給出count,max,min,mean,s2(方差),和stdev用于一組值,發(fā)光聚合每個周期秒

Histogram 直方圖

插件ID: histogram

所述直方圖聚合器插件創(chuàng)建包含的范圍內(nèi)的字段值的計數(shù)的直方圖。

添加到存儲桶的值也會添加到分發(fā)中的較大存儲桶中。這會創(chuàng)建累積直方圖。

與其他Telegraf聚合器插件一樣,度量標準每秒都會發(fā)出。但是,存儲桶計數(shù)不會在不同時段之間重置,并且在Telegraf運行時將非嚴格增加。

MINMAX

插件ID: minmax

在極大極小聚合器插件聚集體min和max它看到每個字段的值,發(fā)射都匯集每個周期秒。

ValueCounter

插件ID: valuecounter

該ValueCounter聚合插件計算值的領(lǐng)域中發(fā)生并發(fā)出計數(shù)器一次“期間”秒。

ValueCounter聚合器插件的用例是當您使用Logparser輸入插件處理HTTP訪問日志并想要計算HTTP狀態(tài)代碼時。

必須使用fields配置指令配置要計數(shù)的字段。如果未提供任何字段,則插件不會計算任何字段。結(jié)果以字段形式發(fā)出,格式為originalfieldname_fieldvalue = count。

ValueCounter只能在類型的字段int,bool或string。正在刪除浮動字段以防止創(chuàng)建太多字段。

處理器插件

Telegraf processor plugins

“怎么安裝使用go監(jiān)控方案的telegraf”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

go
AI