5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Telegraf updates(0.1.8)

Last updated at Posted at 2015-09-16

本エントリではInfluxDB専用のメトリックスコレクタTelegrafを使ってみた(2015/7/19)からのアップデート情報を記載します。

InfluxDB、Telegraf両方のアップデートに影響を受けるので関連する情報を記載します。

InfluxDBの変更点

本記事は0.9.3-1を対象にしています。

0.9の中でも0.9.3で行われた「ラインプロトコルの変更」はクライアント側が影響を受ける可能性があるので注意してください。

Telegraf以外のInfluxDBへデータを入れているクライアントは同様に影響を受ける可能性があるでしょう。

Telegrafの変更点

本記載は網羅的に変更点を確認したものではなく、気がついた変更点を記載したものですのでご了承ください。

InfluxDBとのバージョン互換

上記に述べたラインプロトコルの変更により、InfluxDBとの互換性に注意が必要です。

Due to a breaking change to the InfluxDB integer line-protocol, there are some InfluxDB compatibility requirements:

  • InfluxDB 0.9.3+ requires Telegraf 0.1.5+
  • InfluxDB 0.9.2 and prior requires Telegraf 0.1.4

README.mdより抜粋

コンフィグ記法の変更

コンフィグの変更点について記載します。

InfluxDBへの主要な設定を記載するセクションの変更

観測するエラー

outputsセクションがなく正常なコンフィグでない旨のエラーが出力される

[vagrant@client-node ~]$ sudo tail -f /var/log/telegraf/telegraf.log
2015/09/16 00:38:00 Error: no outputs found, did you provide a valid config file?

変更点

before)

# Configuration for influxdb server to send metrics to
[influxdb]
# The full HTTP endpoint URL for your InfluxDB instance
url = "http://{{ primary_log_server_address }}:8086" # required.

after)

# Configuration for influxdb server to send metrics to
[outputs]
[outputs.influxdb]
# The full HTTP endpoint URL for your InfluxDB instance
url = "http://{{ primary_log_server_address }}:8086" # required.

プラグインオプションの追加 (0.1.5)

各プラグインで利用できるオプションについて旧来の

  • pass
  • drop
  • interval

に加え、新たに

  • tagpass
  • tagdrop

が追加されました。README記載の下記サンプルが参考になるでしょう。
記載の通りtagpass条件がOR判定であることに注意しましょう。

# Don't collect CPU data for cpu6 & cpu7
[cpu.tagdrop]
    cpu = [ "cpu6", "cpu7" ]

[disk]
[disk.tagpass]
    # tagpass conditions are OR, not AND.
    # If the (filesystem is ext4 or xfs) OR (the path is /opt or /home)
    # then the metric passes
    fstype = [ "ext4", "xfs" ]
    path = [ "/opt", "/home" ]

mysqlプラグインのサーバー指定の不具合

メトリック取得対象のホストに対してserverタグが付与されるようになりました。
この変更に伴い不具合と思われる事象を観測しています。

観測するエラー

serverタグに対する値がないためエラーが発生しています。

2015/09/16 01:40:17 Error in output [influxdb]: unable to parse 'mysql_aborted_clients,host=client-node,server= value=0i': missing tag value
2015/09/16 01:40:17 Error encountered flushing outputs

発生条件

mysqlプラグインでは収集対象(およびユーザー、パスワード)をserversで指定します。
※収集対象は指定がない場合はlocalhostとなります
localhostにroot/nopassでつなぎにいく従来の設定が失敗します。

# 失敗する例: 1
[mysql]
servers = ["localhost"]

# 失敗する例: 2 記載なし、デフォルト
[mysql]
# servers = ["localhost"]

ワークアラウンド

ちゃんとコンフィグを書いてあげます。ローカルのMySQLに対する設定例です。

servers = ["root:@tcp(127.0.0.1:3306)/"]

下記も参考にしてください。

対応状況は関連Issueをご確認ください

※2015/9/17 修正されました。

cpuメトリック取得の改善

CPUコア毎の情報を取得するかどうか、システム全体の統計を取得するかどうかが簡易に指定できるようになりました。

[cpu]
        # Whether to report per-cpu stats or not
        percpu = true
        # Whether to report total system cpu stats or not
        totalcpu = true

プラグインの追加

pingプラグイン

指定したアドレスに対するpingのレスポンスなどを記録できます。

コンフィグ

サンプルコンフィグを抜粋。urlに対してタグがつきます。

[ping]
	# urls to ping
	urls = ["www.google.com"] # required
	# number of pings to send (ping -c <COUNT>)
	count = 1 # required
	# interval, in s, at which to ping. 0 == default (ping -i <PING_INTERVAL>)
	ping_interval = 0.0
	# ping timeout, in s. 0 == no timeout (ping -t <TIMEOUT>)
	timeout = 0.0
	# interface to send ping from (ping -I <INTERFACE>)
	interface = ""

観測項目

統計を取ってみると結構楽しいです。

  • ping_average_response_ms
  • ping_packets_received
  • ping_packets_transmitted
  • ping_percent_packet_loss

その他

下記にプラグインの一覧があります。

execプラグイン、httpjsonプラグインは、JSONを返す任意のコマンド/HTTPサービスを指定して観測できて面白そうです。

連携先(output)の追加

  • datadog(0.1.6)
  • Kafka(0.1.7)

終わりに

本変更に対してTelegrafのサンプルコードに反映しています。ご活用ください。

  • InfluxDB 0.9.1, Telegraf 0.1.4: v1.0
  • InfluxDB 0.9.3, Teletgaf 0.1.8: v1.1 [New]
5
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?