nodejs がサポートしてなかった結合 gzip ファイル

AWS LambdaApplication Load Balancer (ALB) のログを Elasticsearch へ投入して Kibana でビジュアライズしようと思い nodejs で Lambda Function を書いてみました。

https://github.com/awslabs/amazon-elasticsearch-lambda-samples/blob/master/src/s3_lambda_es.js ここにサンプルがあって、おっ?これはほぼこのまま使えるのか?って思ってやってみたら

  • 使われている clf-parser は Apache の Common Log Format にしか対応していない
  • Elasticsearch への投入に Bulk API を使ってない、Lambda には時間制限があるのに1行ずつ登録していては時間が掛かり過ぎる
  • S3 のファイルが gzip されてない前提

という残念な感じだった...

初めて書く nodejs でよくわからないながらも stream で処理するようにしてみてやっとできたと思って喜んでみたのもつかの間、何故か 1,000 アクセス、10,000 アクセスしてみても 170 件程度しか Elasticsearch に入らないのです。

"nodejs がサポートしてなかった結合 gzip ファイル"の続きを読む

Prometheus + Grafana + cAdvisor で Docker container のリソースモニタリング

Docker 1.11 の Swarm クラスタのリソースモニタリングをどうしようかなということでひとまず各 Docker ホストに monitoringartist/zabbix-agent-xxl-limited/ をインストールし、zabbix で一応見れるようにしていました。

Zabbix 3.0をDocker Composeで一度に実行する方法」にお世話になりました。

でも zabbix に慣れないのもあるし不便だったのでずっと課題ではありました。
Docker に限らず Prometheus は前から使いたいと思っていたし、今後 Swarm をやめて Kubernetes に切り替えようかなというのもあってやっぱり Prometheus にトライしてみようということにしました。

"Prometheus + Grafana + cAdvisor で Docker container のリソースモニタリング"の続きを読む