近頃いろいろと試していたFluentdのCloudWatchプラグインですが、
(仕様の)紆余曲折を経て下記のように"RubyGems.org"に公開しました。
FluentdのCloudWatchプラグイン(fluent-plugin-cloudwatch_ya)を"RubyGems.org"に公開してみた当然、今までできていた下記もできるように調整はしていたので、
- FluentdからCloudWatchのカスタムメトリクスにデータを登録してみた(UPDATE2!)
- FluentdからCloudWatchのカスタムメトリクスにデータを登録してみた(UPDATE!)
- FluentdからCloudWatchのカスタムメトリクスにデータを登録してみた
(上記の記事の方法で"fluent-plugin-cloudwatch_ya"はインストール済みとします)
DataCounterプラグインのインストール
# /usr/lib64/fluent/ruby/bin/gem install fluent-plugin-datacounter Fetching: fluent-plugin-datacounter-0.4.0.gem (100%) Successfully installed fluent-plugin-datacounter-0.4.0 1 gem installed Building YARD (yri) index for fluent-plugin-datacounter-0.4.0...
設定ファイル(/etc/td-agent/td-agent.conf)
<source>
type tail
format syslog
path /opt/suz-lab/var/log/syslog/all.log
pos_file /opt/suz-lab/var/lib/td-agent/pos/tail.syslog.pos
tag tail.syslog
</source>
<match tail.syslog>
type copy
<store>
type file
path /tmp/tail.syslog
</store>
<store>
type datacounter
unit minute
aggregate all
count_key ident
pattern1 history ^-bash$
pattern2 audit ^audispd$
tag datacounter.syslog
</store>
</match>
<match datacounter.syslog>
type copy
<store>
type file
path /tmp/datacounter.syslog
</store>
<store>
type cloudwatch_ya
buffer_type file
buffer_path /opt/suz-lab/var/lib/td-agent/buf/cloudwatch.datacounter.syslog
flush_interval 1m
cloud_watch_endpoint monitoring.ap-northeast-1.amazonaws.com
namespace SUZ-LAB/TEST
<metric>
metric_name HistoryCount
value_key $['history_count']
unit Count
<dimensions>
instance_id yes
</dimensions>
</metric>
<metric>
metric_name AuditCount
value_key $['audit_count']
unit Count
<dimensions>
instance_id yes
</dimensions>
</metric>
</store>
</match>
※デフォルト(outcast_no_dimension_metric no)でディメンジョン無しでデータをPUT※"instance_id yes"で"InstanceId=i-xxxxxxxx"のディメンジョンでもPUT
※まだ任意のディメンジョンを任意の数つけたりFluentdのタグをディメンジョンに
したりできますが、後ほどまとめます...
対象ログのパーミッション調整とFluentdの起動
# chown td-agent.td-agent /opt/suz-lab/var/log/syslog/all.log # service td-agent start Starting td-agent: [ OK ]
確認
下記のようにディメンジョン無しとInstanceIdがディメンジョンのものが、
HistoryCount、AuditCount、それぞれでCloudWatchにPUTされています。
(Debug/Traceログを出力する設定でFluentdを起動)
[
{:metric_name=>"HistoryCount", :timestamp=>"2013-01-20T18:08:43+09:00", :value=>3, :unit=>"Count", :dimensions=>[]},
{:metric_name=>"HistoryCount", :timestamp=>"2013-01-20T18:08:43+09:00", :value=>3, :unit=>"Count", :dimensions=>[{"name"=>"InstanceId", "value"=>"i-4dbcf34e"}]},
{:metric_name=>"AuditCount", :timestamp=>"2013-01-20T18:08:43+09:00", :value=>10, :unit=>"Count", :dimensions=>[]},
{:metric_name=>"AuditCount", :timestamp=>"2013-01-20T18:08:43+09:00", :value=>10, :unit=>"Count", :dimensions=>[{"name"=>"InstanceId", "value"=>"i-4dbcf34e"}]}
]
AWSコンソールでも下記のように確認できます。
次は設定ファイルの仕様をまとめるか...
早速、ユーザー(cloudpack)からの問い合わせも結構あったことだし...
--------
http://www.suz-lab.com



0 コメント:
コメントを投稿