Kompira cloud更新情報

2020年 

8月

2020-08-25

  • Ksocket v2.1.1 をリリースしました
    • 一部のサンプル設定ファイルがインストール時に展開されていなかった問題を修正

2020-08-21

  • Sonar のスキャンについて、SSH/WinRMによるホスト名の取得に対応

2020-08-19

  • Pigeon のコマンドジェネレータにおいて、ガイダンスの応答メッセージ内のマスタッシュ構文が展開されずパラメータ入力できないバグを修正

7月

2020-07-10

  • Sonar のスナップショット詳細画面の表示を一部変更しました。

6月 

2020-06-02

  • Ksocket v2.0.1 および v2.1.0 のドキュメントから「自己診断コマンド」に関する章が抜け落ちていたのを修正。最新版は表紙の日付が「2020年06月02日」となっています。

5月

2020-05-29

  • 一部のエラーが画面に表示されなかったバグを修正

2020-05-14

  • Ksocket v2.1.0 をリリースしました
    • Linux(CentOS7)上のL2TP/IPsec(ppp)インターフェース経由でのスキャンに対応

4月

2020-04-28

  • ユーザー認証のセキュリティ向上を行いました

2020-04-09

  • 開発者モードの追加
  • Sonar のスキャンにて Windows ホストの集約方式に足跡方式を追加
    WinRM が可能な Windows ホストに対して C:\ProgramData\Fixpoint\KompiraCloud\Sonar 以下に一意性を確保するためのファイル(足跡)を作成。 集約時はそのファイルを用いて一意性を確認する

2020-04-03

  • Ksocket v2.0.1 をリリースしました
    • diagnostics コマンドを追加し dignostics コマンドを廃止予定とした
    • diagnostics connect コマンドがホストの SSL 証明書を参照していたバグを修正

2020-04-01

3月

2020-03-25

  • Sonar の一部 API でソートが正常に機能しない問題を修正

2020-03-18

  • Pigeon の連絡先一覧にて電話番号でソートできるように修正
  • Pigeon の結果一覧/結果詳細にて、自動的に新しいデータを取得するように修正
  • Sonar の IP アドレス複数入力コンポーネントの使い勝手向上

2月

2020-02-05

  • テーブル形式で表示する情報の、非表示にした項目でのソート設定が残ってしまうのが判りにくかったので、これが効かないようにしました
  • 日本語・英語の表示を切り替えた際に自動リロードが効かなくなることがあったのを修正しました

Sonar で取得したノード情報を ServiceNow に連携する

Sonar で検出/取得したノード情報を、構成情報として ServiceNow にインポートする方法をご紹介します。

Sonar は管理ノード一覧を取得する API が用意されていますので、
ServiceNow 上に設定した JavaScript によって API を呼び出して取得した情報を CMDB に登録することで連携を実現します。
また、ノード情報の連携は ServiceNow の Scheduled Jobs を利用することで定期的に実行させることも可能です。

実際の設定の流れは以下の動画をご参照ください。

ServiceNow に設定するスクリプト、および詳細情報については以下をご参照ください。
github.com

Sonar のスキャンについて、SSH/WinRMによるホスト名の取得に対応しました

Kompira Sonar について、SSH/WinRMによるホスト名の取得に対応するアップデートを行いました。

今まではDNS、もしくはNetBIOSによる名前解決でのみホスト名の取得が行われておりましたが、今回のアップデートによってSSH/WinRM経由でもホスト名を取得できるようになりました。

f:id:fp4t1425:20200821182938p:plain
スキャン後のノードリストサンプル

f:id:fp4t1425:20200821180331p:plain
既存ノードの場合、赤枠のホスト名部分がSSH/WinRMで取得可能になります

取得ロジック

Linux/UnixであればSSHで、WindowsであればWinRMでホスト名を取得することが可能ですが、なるべく確実にホスト名が取得できるようそれぞれ下記のロジックで取得を行います。

SSHの場合(Linux/Unix)

  1. hostname -f コマンドでのFQDN取得
  2. hostname コマンドでの単体ホスト名取得
    -f オプションが実装されていない環境も多いため、FQDNでの取得に失敗した場合はこちらでの取得になります

WinRMの場合(Windows)

下記のPowerShellコマンドを順番に実行し、取得できたものを使用します。

  1. [System.Net.Dns]::GetHostEntry($env:COMPUTERNAME).Hostname
    ドメイン環境等であれば、こちらのコマンドでドメイン名を含むFQDNを取得します
  2. hostname
  3. $Env:COMPUTERNAME
  4. (Get-WmiObject Win32_ComputerSystem).Name

注意点

  • 既存ノードの 表示名 については互換性維持のためホスト名での上書き等は行いません
    新規ノードの場合自動でホスト名が表示名となります
  • ノードリスト画面でホスト名を確認したい場合は、リスト右上にある歯車マークから ホスト名 にチェックを入れることにより表示することが可能です
  • SSH/WinRMによる取得は認証情報が適切に設定されており、ログイン可能なノードに限ります

Ksocket を Version 2 をリリースしました

最新の Ksocket は ダウンロード ページよりダウンロードできます。

主に近日リリース予定の Ksocket リモートアップデート機能対応と ARMv7 のサポートを含んだリリースです。

このリリースに伴い以前の Ksocket は非推奨となります。 既に Ksocket を利用している方は、Ksocket ドキュメントの「マイグレーションガイド」を参照してアップグレードをお願いします。

注意: ksocket-20190726 (ksocket-core 1.8.0 / ksocket-networks 1.8.0) を利用している場合、付属しているアンインストーラーが故障しています。 お手数ですが Ksocket の手動アンインストール を参照し、手動アンインストールを行ってください。

ARMv7 Little Endian のサポート

命令セットアーキテクチャとして ARMv7 Little Endian (32bit) のサポートを追加しました。

自己診断コマンドの追加

自己診断コマンドを追加しました。 これにより、設定ファイルの検証から Kompira cloud への疎通確認までを自動検証することができます。 詳しくは ksocket マニュアルの「自己診断コマンドの利用」を参照してください。

デーモン/サービス管理コマンドの追加

Ksocket をバックグラウンド起動するために利用している systemd, upstart および Windows service の管理コマンドを追加しました。 これにより統一されたインターフェースで ksocket の起動/停止等を行うことができます。 詳しくは ksocket マニュアルの「デーモン/サービス管理コマンドの利用」を参照してください。

セマンティックバージョニングの採用

Ksocket v1 ではリリースバージョンおよび内部モジュールバージョンを記載していましたが、v2 では内部モジュールの統合が行われました。 これに伴い、リリースバージョンの表記を 20200220.0 のような日付ベースの表記から v2.0.0 のような セマンティックバージョニング 表記に切り替えます。 これにより、各リリース間での後方互換性の有無がバージョン表記から分かりやすくなります。

バグ修正

  • 一部のアドレス存在確認プロトコルにて OS のルーティングテーブルを考慮しない問題を修正
  • ネットワーク遅延等によりオペレーションが重複発行された場合にスキャンが不安定になる問題を修正
  • 大量のアドレスをスキャンした際にスキャンが不安定になる問題を修正

最新の Ksocket は ダウンロード ページよりダウンロードできます。


Kompira cloud 製品紹介ページはこちら
Kompira cloud 資料ダウンロードはこちら

Ksocket の Azure 上で動作を改善しました。

Ksocket に以下の内容を含むアップデートを行いました。

  • ksocket-20200220
    • ksocket-core: 1.9.2
    • ksocket-networks: 1.9.1

アップデート内容

  • 全体的なパフォーマンス向上
  • 新規インストール時のデフォルトの loglevel を INFO に変更
  • Azure 上にて ksocket が動作しないバグを修正
  • スキャン対象に大量のアドレスを指定した際に発生するメモリリークバグを修正
  • インストーラーが一部環境で動作しなかった問題の修正
  • アンインストーラーが付属していなかった問題の修正

最新の Ksocket はこちらよりダウンロードすることができます。



Kompira cloud 製品紹介ページはこちら
Kompira cloud 資料ダウンロードはこちら

新しい画面デザインを正式にリリースしました

Kompira cloudについて、下記の機能を含むアップデートを行いました

新しい画面デザインを正式にリリースしました

これまでβ機能としていた、新しい画面デザインを正式リリースいたしました。

f:id:honda_fixpoint:20191204184448p:plain:w720
新しい画面デザイン

見た目・使い勝手が向上しているのはもちろん、スマートフォン等の画面サイズの小さい端末での表示に関する考慮や、英語表示への切り替え機能が追加されております。

f:id:honda_fixpoint:20191204184710p:plain:w200
スマートフォンサイズでの表示

f:id:honda_fixpoint:20191204184738p:plain:w720
英語での表示

なお、旧デザインについては今後廃止を予定しておりますが、当面の間は上部メニューより切り替えて使用することが可能です。

f:id:honda_fixpoint:20191204185640p:plain:w200
旧デザインに戻す

[Pigeon] 連絡実行・中止を行う新しいAPI機能をリリースしました

連絡実行・中止を行うためのAPIとして、これまでのAPIよりも高機能な新しいAPIを追加しました。
旧APIに関しては引き続きご利用いただけますが、今後は新APIを推奨する形となります。

詳しくは下記の記事をご覧ください。
Pigeonの新しい連絡APIの機能と使いかたについて

Pigeonの新しい連絡APIの機能と使いかたについて

Pigeonの連絡に使用するAPIについて、新しいAPIをリリースしました。

  • 連絡実行API
    • 旧:POST /api/tasks
    • 新:POST /api/apps/chain/invoke
  • 連絡中断API
    • 旧:POST /api/tasks/{taskId}/abort
    • 新:POST /api/apps/chain/abort

新しいAPIはこれまでより高機能かつ使いやすいものとなっており、本記事ではこのAPIの使用方法についてご説明いたします。 (コマンド例にて使用するデータは Pigeon チュートリアルのものに準じます)

連絡の実行:POST /api/apps/pigeon/chain/invoke

定義済みのコールフロー・ガイダンスを用いて連絡を実行する

事前定義したコールフロー・ガイダンスを用いて連絡を行うには、それぞれのID値を用いて例えば下記のデータをリクエストボディに指定してPOSTリクエストを行います。

{
  "params": {
    "callflowId": "049de6fc-c1a7-4963-af43-616cce2492c6",
    "guidanceId": "570e6f71-5459-43fe-a745-aa7d115ce20d",
    "parameters": {
      "server": "テスト用サーバー",
      "incident": "軽度の障害"
    }
  }
}

curlコマンドでのリクエスト例を下記に示します。

$ curl -X POST -H "X-Authorization: Token aAbBcCdDeEfFgGhHiIjJkKlLmMnNoO0123456789" \
https://yourspace.cloud.kompira.jp/api/apps/pigeon/chain/invoke \
-d '{"params":{"callflowId":"049de6fc-c1a7-4963-af43-616cce2492c6","guidanceId":"570e6f71-5459-43fe-a745-aa7d115ce20d","parameters":{"server":"テスト用サーバー","incident":"軽度の障害"}}}'

リクエストを行うと、例えば下記のように「リクエストに使用したパラメータ」「連絡結果ID(成功時のみ)」「連絡の成否(requested であれば成功)」を含むレスポンスを返します。

{
  "params": {
    "callflowId": "049de6fc-c1a7-4963-af43-616cce2492c6",
    "guidanceId": "570e6f71-5459-43fe-a745-aa7d115ce20d",
    "parameters": {
      "server": "テスト用サーバー",
      "incident": "軽度の障害"
    }
  },
  "resultId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "status": "requested"
}

レスポンス中に含まれる連絡結果IDを用いて、後述する「連絡の中止」や、
既存のAPI GET /api/apps/pigeon/results/{resultId} を通した連絡結果情報の取得を行うことができます。

コールフロー・ガイダンスの内容をその場で指定して連絡を実行する(新機能)

リクエスト時に callflowId guidanceId の代わりに、使用するデータの内容を callflow guidance として指定して連絡することができます。

{
  "params": {
    "callflow": {
      "loopLimit": 3,
      "contacts": [
        {
          "displayName": "田中さん",
          "phones": [ { "phoneNumber": "0999001122" } ]
        },
        {
          "displayName": "山田さん",
          "phones": [ { "phoneNumber": "0999334455" } ]
        },
        {
          "displayName": "斎藤さん",
          "phones": [ { "phoneNumber": "0999778899" } ]
        }
      ]
    },
    "guidance": {
      "messageTemplate": "テスト用サーバーにて軽微な障害が発生しました。 対応される場合は1を、次の担当者に連絡する場合は2を、以降この電話への連絡をスキップする場合は3を押してください。",
      "reactions": {
        "1": {
          "behavior": "terminate",
          "messageTemplate": "1が押されました。対応をよろしくお願いいたします。"
        },
        "2": {
          "behavior": "continue",
          "messageTemplate": "2が押されました。次の担当者に連絡します。"
        },
        "3": {
          "behavior": "leave",
          "messageTemplate": "3が押されました。以降この電話への連絡をスキップします。"
        }
      }
    }
  }
}

上記の例ではコールフロー・ガイダンスの内容を双方とも直接指定していますが、片方はID指定にて事前登録済みのデータを使用し、もう片方は内容をその場で指定するといった形でのリクエストも可能です。

本機能により、例えば電話番号を含む名簿データを自前で管理しているシステムとの連携時に、呼び出し側でコールフローのデータ内容を生成する形をとることでPigeonへ電話番号を二重登録することを防ぐ、といった使い方が可能となります。

連絡の中止:POST /api/apps/pigeon/chain/abort

連絡の中止を行うには、連絡結果IDを用いて例えば下記のリクエストボディにてPOSTリクエストを行います。

{
  "resultId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

curlコマンドでのリクエスト例を下記に示します。

$ curl -X POST -H "X-Authorization: Token aAbBcCdDeEfFgGhHiIjJkKlLmMnNoO0123456789" \
https://yourspace.cloud.kompira.jp/api/apps/pigeon/chain/abort \
-d '{"resultId":"3fa85f64-5717-4562-b3fc-2c963f66afa6"}'

旧APIの今後の取り扱いについて

今後は新しいAPIを使用することを推奨し、旧APIは 非推奨 となります。
ただし、旧APIの既存機能については今後も引き続きご利用いただけますので、既にご活用いただいているものをただちに置き換えていただく必要はございません。

なお今後連絡APIへの機能追加を行う場合、その対象は原則として新APIのみになりますのでご承知おきください。

EC2上にインストールしたksocket用のIAM Userを作成する

この記事では、AWS EC2上にインストールしたksocketに対して、AWS上のサーバをスキャンするために必要な権限を持ったIAMユーザを作成する方法を説明します。

1. AWSコンソールからIAMユーザ一覧画面を開き、IAMユーザの追加へ進む

f:id:e-sekito:20190904180411p:plain

2. IAMユーザの名前を入力し、クレデンシャルの発行を行うよう指定する

今回の例では、IAMユーザ名は ksocket としましたが、お好きな名前で構いません。 また、EC2上に配置するためのクレデンシャルファイルを発行するために、 Programmatic Access のチェックボックスをオンにします。

f:id:e-sekito:20190904180246p:plain

3. AWSのManaged Policyから、ReadOnlyAccessを付与する

ksocketはスキャンのために、ReadOnlyAccess相当の権限を必要とします。 AWSのManaged Policyには、ReadOnlyAccessというものがあるため、それを付与します。

f:id:e-sekito:20190904181502p:plain

4. タグの指定はスキップする

ksocketは特にIAMユーザに対するタグを必要としません。

f:id:e-sekito:20190904181600p:plain

5. 内容を確認し、IAMユーザの追加を実行する

ここまで設定した内容を確認し、実際にIAMユーザを追加します。

f:id:e-sekito:20190904181613p:plain

6. クレデンシャルファイルをダウンロードし、画面を閉じる

作成されたIAMユーザ用のクレデンシャルファイルは、忘れずにダウンロードをお願いします。

f:id:e-sekito:20190904181627p:plain