Python でHTTP(S)通信をするようなプログラムを書く場合、requests ライブラリを直接・間接的に使っていることが非常に多いかと思います。 HTTPS通信の際には、サーバーの証明書が信頼できる認証局によって発行されたものかクライアントはチェックします。 このチェックのために、クライアントは信頼できる認証局の一覧(認証局の証明書リスト)を保持しています。 requests ライブラリが信頼できる証明書リストをどこから持ってきているのか調べる機会が有りましたので、ご紹介します。 前提 現時点の最新版は 2017/08/15 にリリースされた 2.18.4 です。 あまりに古すぎるバージョンから歴史を追うと大変なため、2013/09/24 にリリースされた 2.0.0 以降を対象とします。 証明書リスト取得の変遷 ライブラリが利用する証明書リストは OS 標準 ライブラリにバンドル
気になっていたElasticsearchのScroll APIの使用感を記録します。最近の開発でScroll APIを採用したい欲求がありましたが、使用感を調べる前で採用は見送りました。このままだと気になったまま使わないことになりそうなので、この機会にまとめます。 www.elastic.co ※ version 2.4をつかいました。 Scroll APIは通常のSearch requestのoffset/limitでページング取得をしないため処理中のデータ抜けが防げるメリットがあります。またScroll APIは初回リクエスト時の結果をスナップショットすることで安定した応答速度を担保します。 スナップショットをとるためリアルタイムのデータ処理の利用には向いていません。(スナップショットの挙動について試してみたので後述しています) どんなふうに使うか? 通常のクエリとscroll=1mを
こんにちは。インフラチームの高畑です。 今回は Elasticsearch (ES) を AWS に移行した際に導入した Embulk についてお話しします! Embulkとは Embulk とは、 Fluentd の開発者である古橋貞之氏によって開発された、 Fluentd のバッチ版のようなものです。 プラグインにより、インプットとアウトプットを柔軟に切り替えることが可能となっており、バルク処理に特化しています。 Fluentd と Embulk の違い Fluentd データのストリーミング転送 既存の大量なデータは転送ができない Embulk 定期実行によるデータ転送 分散処理により既存の大量なデータを転送できる Embulkで利用できるプラグインは以下の通りとなっています。 プラグインの一覧はこちら Input Plugin RDS、S3、GA、ES・・・・・ Output Pl
最近 Amazon Elasticsearch Service にログを転送している Aggregator の /var/log/td-agent/td-agent.log に以下のログが出力されていて,調査してわかった fluent-plugin-aws-elasticsearch-service を使う場合に必要な設定に関してまとめておく. 2016-10-24 16:54:50 +0900 [warn]: temporarily failed to flush the buffer. next_retry=2016-10-24 16:54:52 +0900 error_class="Elasticsearch::Transport::Transport::Error" error="Cannot get new connection from pool." plugin_id="xx
本記事はQiitaに投稿していたものを、Qiitaのコミュニティガイドライン追加に伴い削除の可能性を考慮してこちらに移行しました。理由は、fluentdからElasticsearchにログを投げ込み処理は弊社のOpenShiftのログ収集機能で利用しているものであり、記事投稿が自社で利用している技術の宣伝がないかといわれれば否定できないためです。 先にまとめ 以下のすべての条件を満す時、"Cannot get new connection from pool."というエラーが、fluentd起動後しばらく(自分のテストしたときは1日弱)してから発生し、以後すべてのログの送信ができなくなる elasticsearchの_nodes APIの返すレスポンスにクラスタのノードのIPの情報が含まれていない環境。例)AWS elasticsearch fluent-plugin-elasticsea
題名の通りで動作環境は以下の通りです。 Elasticsearch側はcerebroで見る限りgreenで正常に見えました。 fluentd 0.12.27 fluent-plugin-elasticsearch 1.9.0 Elasticsearch 5.0.1 fluentdの設定はこんな感じ <match ...> type forest subtype elasticsearch <template> hosts ... id ... buffer_type "file" buffer_path "..." flush_at_shutdown true buffer_chunk_limit 4m buffer_queue_limit 512 flush_interval 1s num_threads 8 logstash_format true logstash_prefix ${
about_elasticsearch_cluster.md moved to https://github.com/yano3/kankara/blob/master/elasticsearch/cluster.md Elasticsearch クラスタ概説 Node and Cluster ノード 起動した Elasticsearch のインスタンス 普通は1台のサーバに1インスタンス起動するので、 Elasticsearch の起動しているサーバのイメージ クラスタ 相互に接続したノードの集合 Index and Shard 緑の本に詳しく書いてある。 インデックス RDB でいうところのテーブル シャード インデックスを分割したもの プライマリシャードとレプリカシャードがある プライマリシャードは更新操作を受ける レプリカシャードはプライマリシャードのコピー シャード単位でノード上
第1回〜第6回にわたって Elasticsearch の基本的なことを説明してきました。 今回、「 API の使い方をハンズオンで理解する 〜前編〜」では、Elasticsearch の起動・停止〜ドキュメントの管理(追加・登録・削除)を中心に説明します。 ハンズオンの内容 ハンズオンの内容は、以下の Elasticsearch 公式ドキュメントを参考にしています。 Getting Started - Elasticsearch - The Definitive Guide Getting Started - Elasticsearch Reference 事前準備 Elasticsearch を動かすには、少なくとも Java 7 のバージョンが必要です。現時点では、Oracle JDK version 1.8.0_73. が推奨されています。使用する PC の Java のバージョンを
ElasticSearchは、マニュアル(英語)がしっかりしてるので、そっちを参考にしてください。 マニュアル(本家):https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html 環境 CentOS 7.1 ElasticSearch 5.6.2 ※ElasticSearch 6.xでは、curlに「 -H 'Content-Type: application/json'」を付ける必要があります。 目次 インデックス(マッピング)操作 ドキュメント(レコード)操作 データ取得 スナップショット elasticdump(インポート/エクスポート) snapshotを使う前に、事前準備を行ってください。 また、backupしたsnapshot自体をリストアするときも同様な手順が必要です。 ■ 事前準備 1
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く