タグ

ブックマーク / knowledge.sakura.ad.jp (9)

  • Prometheusのクエリ機能とアラート機能 | さくらのナレッジ

    演算子とクエリ関数を組み合わせた複雑な統計処理を実行することも可能だ。たとえば次のクエリは、1分単位でのCPUのidle率を表示するものとなっている(図10)。 sum(delta(node_cpu{mode="idle"}[1m])) / sum(delta(node_cpu[1m])) 図10 CPUのidle率を表示した例 ここでは、指定した時間でのデータの変化量を返す「delta()」関数を使い、まず「delte(node_cpu{mode="idle"}[1m])」で各CPUのidle時間の1分間での変化量を取得し、sum()関数でそれを合計したものを、各CPUの各時間の1分間での変化量の合計(「sum(delta(node_cpu[1m]))」)で割ることでidle時間の割合を求めている。 取得したデータの値をそのまま見たい場合、「Graph」タブではなく「Console」タブ

  • Prometheusでのさまざまな監視データ取得法 | さくらのナレッジ

    Prometheusでは、Prometheus Serverが監視対象にアクセスしてデータを収集するアーキテクチャを採用している。このデータ収集のためのアクセス先(エンドポイント)は「exporter」と呼ばれており、さまざまなソフトウェアやハードウェア向けのものが提供されている。今回はこのexporterについて、独自のデータ取得方法なども含めて紹介する。 公式exporterとサードパーティによるexporter Prometheusのアーキテクチャは前々回の記事で詳しく紹介しているが、Prometheus Serverが監視対象にアクセスしてデータを収集するような構成(Pull型アーキテクチャ)となっている(図1)。このようなアーキテクチャにおいては、監視対象ごとにPrometheus Serverにデータを渡すためのexporterを用意する必要がある。 図1 Prometheus

    Prometheusでのさまざまな監視データ取得法 | さくらのナレッジ
  • インフラ・サービス監視ツールの新顔「Prometheus」入門 | さくらのナレッジ

    サーバーやインフラなどの監視ツールの1つとして最近注目されているのが「Prometheus」だ。Prometheusはインストールや設定が容易で、かつ十分な機能を持ち管理しやすいという特徴を持つ。記事ではこのPrometheusの導入方法、基的な監視設定の流れを紹介する。 クラウド時代の監視管理ツール ネットサービスを運営する場合、そのサービスを運営するソフトウェアやサーバー、ネットワーク機器などの状況を監視する手段を用意するのが一般的だ。監視を行い、意図しない状況になったら自動的にメールなどで通知を行うシステムを構築することで、問題をいち早く解決できるようになる。さらに、サービスやマシンの稼働ログを適切に記録することで潜在的な問題を事前に見つけたり、最適化に向けた分析を行うといったことも可能になる。 監視や問題発覚時の通知などを行うオープンソースのツールとしては、過去にElastic

  • GitHubのようなサイトを独自に運用できる「GitLab」や「GitBucket」を使ってみよう | さくらのナレッジ

    (※3月18日追記:当初「SSH公開鍵の管理機能」において、GitBucketを「×」としていましたが、SSHアクセス機能を機能を有効にすることでSSH公開鍵の管理機能も利用できるとのことで、「○」に修正しました) GitLabおよびGitBucketと、RedmineおよびTracとの大きな違いとして、フォークやマージ/プルリクエスト機能をサポートしているかどうかがある。これらの機能を利用したいのであれば、GitLabやGitBucketが候補となるだろう。 いっぽう、Redmineはカレンダー機能やガントチャートと言ったプロジェクト管理機能が充実しているのが特徴だ。また、Tracはシンプルなユーザーインターフェイスや、プラグインによるカスタマイズ性の高さがある。フォークやマージ/プルリクエスト機能を利用しないのであれば、プロジェクト管理機能が充実しているRedmineやTracは十分な

    GitHubのようなサイトを独自に運用できる「GitLab」や「GitBucket」を使ってみよう | さくらのナレッジ
  • Googleが開発する最新ビルドツール「Bazel」を使ってみよう | さくらのナレッジ

    Bazelの特徴2:ビルドによってディレクトリを汚染しない Bazelでは、ソースコードやテストデータなどが格納されているディレクトリとは別のディレクトリでビルドやテストなどを行う仕組みになっている。makeコマンドでは意図的に設定や操作を行わない限りソースコードと生成物が同じディレクトリに混在する事態になることが多いが、Bazelではこういった問題が発生しない。 また、ビルドやテストはデフォルトではサンドボックス化された環境で行われるため、ビルドやテストがそれを実行しているシステムに影響を及ぼす可能性が最小限に抑えられている。 Bazelの特徴3:並列ビルド 大規模なソフトウェアではビルド対象が増えるため、ビルドにかかる時間も増える傾向がある。Bazelでは生成物どうしの依存性を自動的に把握し、可能な限り並列でビルドを実行する仕組みになっている。これにより、ビルド時間の短縮が期待できる。

    Googleが開発する最新ビルドツール「Bazel」を使ってみよう | さくらのナレッジ
  • 15分で作る、Logstash+Elasticsearchによるログ収集・解析環境 | さくらのナレッジ

    たとえば、inputに「stdin」、outputに「file」というプラグインを使用すれば、標準入力からイベントを受け取り、それをファイルに出力することが可能となる。そしてLogstashが注目されている理由の1つのが、出力先として「Elasticsearch」が利用できる点だ。 検索機能に優れた分散型データベース「Elasticsearch」 Elasticsearchはオープンソースで開発されている分散型データベースシステムだ(図2)。「Elastic」という名前のため勘違いされやすいが、米Amazonが提供しているクラウドサービス「Amazon Elastic Compute Cloud(EC2)」とは無関係だ。 図2 ElasticsearchのWebサイト ElasticsearchはJavaで実装されており、またデータ検索エンジンとして「Lucene」が組み込まれているのが特

    15分で作る、Logstash+Elasticsearchによるログ収集・解析環境 | さくらのナレッジ
  • Jenkinsを使った自動テスト環境を作る(前編) | さくらのナレッジ

    継続的インテグレーション(CI)ツールとして有名なJenkinsは、ソフトウェア開発におけるテストやビルドと言った作業を自動化するツールだ。記事ではJenkinsの最新版となるバージョン2系で正式に導入された、パイプライン機能を使ったビルド/テスト環境の構築を紹介する。 CIツールと「Jenkins」 ソフトウェア開発の現場において、そのテストはソフトウェアの設計やコーディングと同じくらい重要な過程である。近年のWebアプリケーションやスマートデバイス向けアプリケーション開発ではアプリケーションのリリース間隔が短くなっている傾向があり、そのためテストもより迅速かつ頻繁に行わなければならくなっている。そういった環境で有用なのが、継続的インテグレーション(CI)ツールだ。 CIは、元々は「ソフトウェアの開発コストを下げるためには開発の初期から頻繁にテストを行ってフィードバックを行うべき」とい

    Jenkinsを使った自動テスト環境を作る(前編) | さくらのナレッジ
  • 仮想環境構築ツール「Vagrant」で開発環境を仮想マシン上に自動作成する | さくらのナレッジ

    最近注目されている開発支援ツール「Vagrant」は、テスト用の仮想マシン作成やその環境設定などを自動化するツールだ。これを利用することで、仮想環境の作成からセットアップ、そして破棄までを、簡単なコマンドを実行するだけで行える。今回はこのVagrantの概要と基的な使い方を紹介する。 仮想マシンの作成や環境構築、仮想マシンの破棄までを自動化するツール「Vagrant」 近年、Web開発の分野ではPC上に構築した仮想マシン上にテスト用の環境を作成し、そこで開発やテストを行う、というスタイルが一般的になっている。その場合に問題になるのが、番環境とテスト/開発環境が同一になっていない、というケースだ。また、複数人の開発者が関わるプロジェクトでは開発者がそれぞれ自身のマシン上に仮想環境を構築して開発するという例も多いが、この場合開発者ごとのテスト/開発環境がそろっていないという問題も発生しうる

    仮想環境構築ツール「Vagrant」で開発環境を仮想マシン上に自動作成する | さくらのナレッジ
    gigs123
    gigs123 2014/11/09
    iPhone5s から送信
  • サーバー設定ツール「Chef」応用編:knife-soloとData Bagを使う | さくらのナレッジ

    サーバー管理ツール「Chef(シェフ)」は、ファイルに記述した設定内容に応じて自動的にユーザーの作成やパッケージのインストール、設定ファイルの編集などを行うツールだ。今回はChefの応用編として、Chefサーバーなしに複数台のサーバー管理を行う「knife-solo」というツールと、設定のためのデータなどを一元管理できる「Data Bag」という仕組みを紹介する。 knife-soloを使った複数台サーバー管理 Chefは「Cookbook(クックブック)」や「Recipe(レシピ)」と呼ばれる設定ファイルに従って、ユーザーの作成やソフトウェアのインストール、ネットワークやファイアウォール、データベースなどの設定など、さまざまな設定作業を自動で実行するツールだ。利用するメリットとしてサーバーの設定を一元的に管理できる、実行する設定内容をチェックしやすくミスを防ぎやすいなどがあり、近年注目を

    サーバー設定ツール「Chef」応用編:knife-soloとData Bagを使う | さくらのナレッジ
    gigs123
    gigs123 2013/11/11
    iPhone5s から送信
  • 1