Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

【HinemosWorld2016】A2-5_Hinemosによる運用管理テクニック

2,468 views

Published on

Hinemosは、システム運用管理で要求される各種機能を備えた、「統合運用管理ソフトウェア」です。

本資料は、2016/11/17(木)-11/18(金)開催
Hinemos World 2016 「Hinemosによる運用管理テクニック」セミナ講演資料となります。

Published in: Technology
  • Be the first to comment

  • Be the first to like this

【HinemosWorld2016】A2-5_Hinemosによる運用管理テクニック

  1. 1. 株式会社アトミテック Hinemosによる運用管理テクニック 2016年11月18日 小泉 界
  2. 2. 小泉 界 (こいずみ かい) 1990年12月31日生まれ 趣味  楽器演奏(ヴィオラ) 所属  株式会社アトミテック Hinemosソリューション部 日々の主な業務  Hinemos保守、社外PR(イベントなど) 取得した称号  Hinemos認定アソシエイト(監視)  Hinemos認定アソシエイト(ジョブ)  Hinemos認定プロフェッショナル 自己紹介 資格詳細 : http://www.hinemos.info/support/certificate Copyright (c) 2015 Atomitech Inc.1
  3. 3. Hinemosのお問い合わせ事例紹介 Copyright (c) 2015 Atomitech Inc.2
  4. 4. Copyright (c) 2015 Atomitech Inc.3 ・Hinemosエージェントレスで可能な監視について ・Hinemosマネージャ2台から1台のサーバを監視 ・Hinemosマネージャ接続におけるプロキシ中継について ・各機能の登録上限 ・Hinemosエージェントが認識されていない ・ジョブの実行に30秒かかる? ・ジョブが正常終了せず実行中のままになる ・プロキシを経由したHTTP監視の方法は? ・リソース監視やプロセス監視の結果で情報ステータスと不明ステータスが繰り返し 出力される ・カーネルモードで動作するプロセスの監視 ・システムログ監視で監視漏れが発生した ・Hinemos 履歴保管期間変更について ・メンテナンス設定の作成が行えない ・Javaヒープメモリに関するInternalイベントが出力された ・システムログ監視でSyslog Severityを検出したい ・Linuxサーバのメモリ使用率を監視すると100%に近い値が取得される ・大容量のファイルシステム使用率を監視したい Hinemosトラブルシューティングの事例
  5. 5. Copyright (c) 2015 Atomitech Inc. Hinemosエージェントレスで可能な監視について 質問 Hinemosエージェントをインストールしていない監視対象には、 どの監視が行えるのか? 回答(ver.5.0) 4 【Hinemos全般】 機能 Linux Windows NW機器 Hinemosエージェント監視 △ △ - HTTP監視 ◎ ◎ ◎ PING監視 ◎ ◎ ◎ SNMP監視 ◎ ◎ ◎ SNMPTRAP監視 ◎ ◎ ◎ SQL監視 ◎ ◎ ◎ プロセス監視 ◎ ◎ - Windowsサービス監視 - ◎ - Windowsイベント監視 - △ - サービス・ポート監視 ◎ ◎ ◎ カスタム監視 △ △ - システムログ監視 ◎ - ◎ ログファイル監視 △ △ △ リソース監視 ◎ ○ ◎ JMX監視 ◎ ◎ -
  6. 6. Copyright (c) 2015 Atomitech Inc. Hinemosマネージャ2台から1台のサーバを監視 質問 Hinemosエージェントをサーバ(Linux)に2つインストールし、 それぞれ別のHinemosマネージャと疎通させることは可能か? 5 【Hinemos全般】 マネージャサーバA マネージャサーバB エージェントA ログファイル監視 監視対象サーバ エージェントB ジョブ実行
  7. 7. Copyright (c) 2015 Atomitech Inc.6 Hinemosマネージャ2台から1台のサーバを監視 回答 可能。 複数のHinemosエージェントをそれぞれ別のHinemosマネージャに 接続させるには、以下のいずれかの方法を実施すること。 (1)Hinemosエージェントのインストール時に、接続先の Hinemosマネージャとしてそれぞれ異なるIPアドレスを 入力。 (2)Hinemosエージェントの設定ファイルで、Hinemos エージェントごとにそれぞれ異なるHinemosマネージャ サーバのIPアドレスを指定する。 【Hinemos全般】
  8. 8. Hinemosマネージャ接続におけるプロキシ中継について 質問 Hinemosの通信をプロキシサーバ経由としたい場合、 必要な設定は? 7 Copyright (c) 2015 Atomitech Inc. 【Hinemos全般】 Hinemosマネージャプロキシサーバ Hinemosクライアント Hinemosエージェント
  9. 9. Hinemosマネージャ接続におけるプロキシ中継について 対処 Hinemosマネージャについては設定不要。 Hinemosエージェント、Hinemosクライアントでそれぞれ 以下の設定が必要。 ・HTTP ProxyサーバのIPアドレス及びホスト名 ・HTTP Proxyサーバの待ち受けポート ・HTTP Proxyサーバの認証ユーザ ・HTTP Proxyサーバの認証パスワード 8 Copyright (c) 2015 Atomitech Inc. 【Hinemos全般】 http.proxy.host=192.168.100.100 http.proxy.port=8080 http.proxy.user=uid http.proxy.password=password Hinemosエージェント Hinemosクライアント
  10. 10. Copyright (c) 2015 Atomitech Inc. 各機能の登録上限 質問 Hinemosの機能において登録数の上限値はあるか? 例えば、 ・ノード数 ・スコープ数 ・監視項目数 ・通知項目数 ・ジョブ数 9 【Hinemos全般】
  11. 11. Copyright (c) 2015 Atomitech Inc. 各機能の登録上限 回答 基本的に論理上限はない。 そのため、設計時に留意する必要はありません。 ただし、監視項目の詳細設定などで、一部上限が存在する。 例えば、カレンダ機能において、1つのカレンダ設定内の詳細設定の 上限は「32767」個までなど。 しかし、基本的に論理上限がないといっても、 大量に登録できるというわけでない。 どこかでHinemosマネージャサーバの性能要件に触れてしまい、 Hinemosマネージャが従来の性能を発揮できなくなるので、 不要な設定は削除することを推奨。 10 【Hinemos全般】
  12. 12. Copyright (c) 2015 Atomitech Inc. Hinemosエージェントが認識されていない 事象 リポジトリに登録した一部のノードのHinemosエージェントが、 リポジトリ[エージェント]ビューに表示されていない。 リポジトリ[ノード]ビュー上には、当該ノードは表示されている 11 【Hinemosエージェント監視】
  13. 13. Copyright (c) 2015 Atomitech Inc. Hinemosエージェントが認識されていない 考えられる原因 (1)HinemosエージェントサーバからHinemosマネージャサーバに 対して、8081/TCP(ver4.1以前は8080/TCP)の通信が行えるよう になっていない。 (2)Hinemosエージェントが自身のファシリティIDを解決できて いない。 12 【Hinemosエージェント監視】
  14. 14. Copyright (c) 2015 Atomitech Inc. Hinemosエージェントが認識されていない 対処 (1)HinemosエージェントサーバからHinemosマネージャサーバに 対して、8080/TCPの通信が行えるようになっているか確認する (F/W等で通信がブロックされていないかなど) (2)Hinemosエージェントは、自身のホスト名とIPアドレスを元に Hinemosマネージャに問い合わせ、自身のファシリティIDを解決 ・条件1 [ホスト名] 以下の 2つが一致 ・ノードプロパティの“サーバ基本情報 – OS –ノード名” ・対象サーバのホスト名(hostnameコマンドで表示されるホスト名) ・条件2 [IPアドレス] 以下の 2つが一致 ・ノードプロパティの“サーバ基本情報 - ネットワーク - IPアドレス” ・対象サーバの(実際の)IPアドレス 13 【Hinemosエージェント監視】
  15. 15. 対処 (1)HinemosエージェントサーバからHinemosマネージャサーバに 対して、8080/TCPの通信が行えるようになっているか確認する (F/W等で通信がブロックされていないかなど) (2)Hinemosエージェントは、自身のホスト名とIPアドレスを元に Hinemosマネージャに問い合わせ、自身のファシリティIDを解決 ・条件1 [ホスト名] 以下の 2つが一致 ・ノードプロパティの“サーバ基本情報 – OS –ノード名” ・対象サーバのホスト名(hostnameコマンドで表示されるホスト名) ・条件2 [IPアドレス] 以下の 2つが一致 ・ノードプロパティの“サーバ基本情報 - ネットワーク - IPアドレス” ・対象サーバの(実際の)IPアドレス Copyright (c) 2015 Atomitech Inc. Hinemosエージェントが認識されていない 14 【Hinemosエージェント監視】
  16. 16. ジョブの実行に30秒かかる? 事象 コマンド(スクリプト) の処理自体は一瞬で完了するはずが、 ジョブを開始してから終了するまでに30秒かかってしまう。 原因 (1)即時反映用ポート(デフォルトで24005/UDP)が不通となっている。 または、 (2) Hinemosエージェントサーバで他のプロセスが 24005/UDPポートを使用中 なお、本事象はNWの問題である。 通常は疎通確認や結合試験などで発見できる事象であり、運用中に 突然発生する事象ではない。 Copyright (c) 2015 Atomitech Inc.15 【ジョブ機能】
  17. 17. 【補足】ジョブの実行の仕組み Copyright (c) 2015 Atomitech Inc. ジョブ実行時のマネージャとエージェント間の通信 ①ジョブ実行指示情報を、マネージャ内部のtopicに格納 ②ジョブ実行対象ノードのIPアドレスの即時反映ポート(24005番)に UDPパケットを送信 ③UDPパケットを受信したエージェントは、Web/API経由で マネージャの topicからジョブ実行指示情報を取得する。 ④エージェントはコマンドを実行し、結果をWeb/API経由で マネージャに送信 ⑤マネージャは実行結果を元に次のジョブ制御を実施 16 【ジョブ機能】
  18. 18. 【補足】今回の事象の場合 Copyright (c) 2015 Atomitech Inc. ジョブ実行時のマネージャとエージェント間の通信 ①ジョブ実行指示情報を、マネージャ内部のtopicに格納 ②ジョブ実行対象ノードのIPアドレスの即時反映ポート(24005番)に UDPパケットを送信 ③UDPパケットを受信できなかった ④エージェントはコマンドを実行し、結果をWeb/API経由で マネージャに送信 ⑤マネージャは実行結果を元に次のジョブ制御を実施 即時反映ポート(24005番)が不通または、使用中 Hinemosエージェントは、 定期的(30秒間隔)にWeb/API経由でマネージャのtopicに ジョブ実行指示情報が格納されていないか確認 格納されている場合は取得 17 【ジョブ機能】
  19. 19. ジョブが正常終了せず実行中のままになる 事象 実行したジョブが終了せず、 実行状態が「実行中」のままとなる。 考えられる原因 (1) スクリプトが終了していない (2) 標準出力・標準エラー出力が解放されていない ジョブから実行されたスクリプトは、スクリプト終了時に標準 出力と標準エラー出力を解放する必要があります。 標準出力や標準エラー出力を解放しない場合は、コマンドジョ ブが終了状態に移行しません。 なお、本事象はジョブから実行されるスクリプトの実装の問題であ る。通常は結合試験などで発見できる事象であり、運用中に突然発 生する事象ではない。 Copyright (c) 2015 Atomitech Inc.18 【ジョブ機能】
  20. 20. プロキシを経由したHTTP監視の方法は? 質問 HTTP監視を行う際、プロキシを経由した監視は実施可能か? 回答 Hinemos ver4.1では、HTTP監視でHTTPリクエストを行う際に、 プロキシサーバを経由するよう設定することができない。 Hinemos ver5.0では、新たにHTTP監視(シナリオ)という監視種別が 追加され、プロキシサーバを経由したHTTP監視が可能。 19 Copyright (c) 2015 Atomitech Inc. 【HTTP監視】
  21. 21. リソース監視やプロセス監視の結果で 情報ステータスと不明ステータスが繰り返し出力される 事象 リソース監視やプロセス監視の結果で ”情報”ステータスと”不明”ステータスが繰り返し出力されている。 考えられる原因 SNMPポーリングのタイムアウトにより、監視の判定を行うための 値の取得に失敗した。 例1) 監視対象サーバ上のSNMPエージェントとの通信に時間が かかりタイムアウトが発生 例2) 監視対象サーバ上で動作しているプロセス数が多いことや、 プロセスの起動と停止が頻繁に行われていることで、プロセス 情報の取得に時間がかかり、タイムアウトが発生。 Copyright (c) 2015 Atomitech Inc.20 【リソース監視・プロセス監視】
  22. 22. リソース監視やプロセス監視の結果で 情報ステータスと不明ステータスが繰り返し出力される 監視の仕組み ① SNMPポーリングによる値の取得処理 -> 5000ミリ秒(タイムアウト値)×3回(リトライ回数) ※ デフォルトの場合 ② リソース情報及びプロセス数カウントの閾値判定処理 -> タイムアウト等で値の取得に失敗し、値が存在しない場合 不明ステータスで通知 【リソース監視・プロセス監視】 Copyright (c) 2015 Atomitech Inc.21
  23. 23. リソース監視やプロセス監視の結果で 情報ステータスと不明ステータスが繰り返し出力される 対処 Hinemosマネージャから監視対象のSNMPエージェントへの経路に問題がないか 確認する。 ・高負荷により、SNMPのパケットが失われていないか ・ファイアーウォール等により、パケットが遮断されていないか ・ネットワーク経路が切断されていないか ・ネットワーク機器に障害が起きていないか ・SNMPエージェントが値を取得するのに時間がかかっていないか ・SNMPエージェントが起動しているか ・OSのネットワークサービスに障害が起きていないか ・サーバのNICに障害が起きていないか ・起動されているプロセス数が多くないか ・プロセスの起動と停止が頻繁に行われていないか 観点1:監視対象サーバに問題がないか 観点2 : マネージャ ‐ 監視対象サーバ間のNWに問題がないか Copyright (c) 2015 Atomitech Inc.22 【リソース監視・プロセス監視】
  24. 24. リソース監視やプロセス監視の結果で 情報ステータスと不明ステータスが繰り返し出力される 対処 Hinemosマネージャから監視対象のSNMPエージェントへの経路に問題がないか 確認する。 ・高負荷により、SNMPのパケットが失われていないか ・ファイアーウォール等により、パケットが遮断されていないか ・ネットワーク経路が切断されていないか ・ネットワーク機器に障害が起きていないか ・SNMPエージェントが値を取得するのに時間がかかっていないか ・SNMPエージェントが起動しているか ・OSのネットワークサービスに障害が起きていないか ・サーバのNICに障害が起きていないか ・起動されているプロセス数が多くないか ・プロセスの起動と停止が頻繁に行われていないか 観点1:監視対象サーバに問題がないか 観点2 : マネージャ ‐ 監視対象サーバ間のNWに問題がないか Copyright (c) 2015 Atomitech Inc.23 【リソース監視・プロセス監視】 重要度「不明」は監視のための値取得に失敗したことを意味する。 重要度「不明」は、監視対象から値が取得できないという事実を、 Hinemosが正しく判定した結果である。
  25. 25. カーネルモードで動作するプロセスの監視 質問 Linuxのカーネルモードで動作するプロセスが監視できないのは なぜか? 回答 net-snmpの仕様 カーネルモードで動作するプロセスは、 ”hrSWRunPath”を一律“<exited>“という文字列で返す。 -> コマンド(パス)を判別することができず、 カーネルモードのプロセスを監視することができない。 Copyright (c) 2015 Atomitech Inc.24 【プロセス監視/カスタム監視】
  26. 26. カーネルモードで動作するプロセスの監視 仕組み Hinemosのプロセス監視は、原則として、 SNMPポーリングで取得した値 と 監視設定で指定した値を比較し、 一致した場合にプロセスが存在するものと判定する。 対処 カスタム監視を用いる 対象プロセス数をカウントするコマンドを実行して監視 # echo -n "NumOfProcs_kthreadd,";ps -ef|grep kthreadd|grep -v grep|wc –l Copyright (c) 2015 Atomitech Inc.25 【プロセス監視/カスタム監視】 SNMPで取得した”hrSWRunPath”の値 ⇔ 監視対象プロセスのコマンド SNMPで取得した”hrSWRunParameters”の値 ⇔ 監視対象プロセスのコマンド引数
  27. 27. Copyright (c) 2015 Atomitech Inc. システムログ監視で監視漏れが発生した 事象 監視対象サーバでは、システムログが出力されたが、 システムログ監視にて検知できず、通知もされなかった。 マネージャサーバの /var/log/messagesに、次のメッセージが 出力されていた。 考えられる原因 複数の監視対象サーバからsyslogが転送されたことによって、 rsyslogのTCP最大接続数を超えてしまった。 本事象は性能問題であり、チューニングが必要となる。 <syslog.err> rsyslogd-2079: too many tcp sessions – dropping incomingrequest 26 【システムログ監視】
  28. 28. Copyright (c) 2015 Atomitech Inc. システムログ監視で監視漏れが発生した 対処 (1)マネージャサーバ側で、rsyslogのTCPセッション上限数を増やす -> rsyslog_hinemos.confを編集し、セッション数を増やす。 (2)監視対象サーバ側で、HinemosマネージャへのTCPによる syslog転送を行わない。 -> 514/TCP から 514/UDP へ変更する。 27 【システムログ監視】 $InputTCPMaxSessions 1000 *.info;mail.none;authpriv.none;cron.none @@{ManagerIP}:514 ↓ *.info;mail.none;authpriv.none;cron.none @{ManagerIP}:514
  29. 29. Copyright (c) 2015 Atomitech Inc. Hinemos 履歴保管期間変更について 質問 メンテナンス機能の定期的なジョブ実行履歴やイベント履歴の 削除で、履歴情報の保管期間を93日などに増やすことは可能か? 増やした結果、Hinemosの動作に影響はあるか? 回答 保存期間を増やすことは可能。 ただし、保存期間を延長する場合は、延長した分だけ Hinemosマネージャサーバのディスク使用容量が増加する。 これに気を付けていれば、動作に影響もない。 28 【メンテナンス機能】
  30. 30. Copyright (c) 2015 Atomitech Inc. Hinemos 履歴保管期間変更について 質問 メンテナンス機能の定期的なジョブ実行履歴やイベント履歴の 削除で、履歴情報の保管期間を93日などに増やすことは可能か。 増やした結果、Hinemosの動作に影響はあるか。 回答 保存期間を増やすことは可能。 ただし、保存期間を延長する場合は、延長した分だけ Hinemosマネージャサーバのディスク使用容量が増加する。 これに気を付けていれば、動作に影響もない。 29 【メンテナンス機能】
  31. 31. Copyright (c) 2015 Atomitech Inc. メンテナンス設定の作成が行えない 質問 対象のアカウントに権限を付与したのにもかかわらず、 メンテナンスの設定の作成が行えないのはなぜか? 回答 メンテナンス機能の操作するためには、Hinemosログインユーザを Hinemos管理者用ロール(ADMINISTRATORS)に所属させる必要がある。 30 【メンテナンス機能】
  32. 32. Javaヒープメモリに関するInternalイベントが出力された 事象 Javaヒープメモリに関するInternalイベントが出力された。 原因 HinemosマネージャのJavaプロセスのヒープメモリの空き容量が少 なくなってきたことを、 Hinemosマネージャのセルフチェック機能 が検知し、Internalイベントが通知された。 本事象は性能問題であり、チューニングが必要となる。 Copyright (c) 2015 Atomitech Inc.31 【セルフチェック機能】
  33. 33. Javaヒープメモリに関するInternalイベントが出力された 対処 (1)監視項目、ジョブ数、ノード数の設定数を見直す。 →不要なものを削除。 (2)Hinemosマネージャサーバの物理メモリに余裕がある場合は、 HinemosマネージャのJavaヒープメモリのサイズを変更。 Copyright (c) 2015 Atomitech Inc.32 【セルフチェック機能】 # for small systems export JVM_HEAP_OPTS=“-Xms512m -Xmx512m -XX:NewSize=160m - XX:MaxNewSize=160m - XX:MaxPermSize=192m -Xss256k" # for medium systems #export JVM_HEAP_OPTS="-Xms1024m -Xmx1024m -XX:NewSize=320m - XX:MaxNewSize=320m -XX:MaxPermSize=256m -Xss256k" # for large systems #export JVM_HEAP_OPTS="-Xms2048m -Xmx2048m -XX:NewSize=640m - XX:MaxNewSize=640m -XX:MaxPermSize=360m -Xss256k"
  34. 34. Copyright (c) 2015 Atomitech Inc.33 質問 システムログ監視で、Syslog Severityの重要度をもとに メッセージを検知しようとした場合、どのような設定を行えば よいか。 回答 rsyslogの設定ファイルを以下のように変更することで、Syslogの メッセージにSyslog Severityが含まれるようになる。 設定変更後、検知したいSyslog Severityをシステムログ監視の パターンマッチ表現に登録することで、メッセージが検出可能。 システムログ監視でSyslog Severityを検出したい 【システムログ監視】 *.info;mail.none;authpriv.none;cron.none @127.0.0.1:24514 ↓ $template tmpl1,"<%PRI%>%TIMESTAMP% %HOSTNAME% ¥ %syslogtag% %syslogseverity-text%:%msg%¥n" *.info;mail.none;authpriv.none;cron.none @127.0.0.1:24514;tmpl1
  35. 35. Copyright (c) 2015 Atomitech Inc.34 事象 Linuxサーバに対して、リソース監視の”メモリ使用率”を実施した ところ、多くのプロセスを起動していないのに、100%に近い値が 取得された。 原因 Linuxカネールの仕様に基づく動作。 Linuxサーバでは、未使用のメモリ領域をキャッシュ領域や バッファ領域に自動的に割り当てられるため、実際にプロセス が使用しているメモリ使用率より大きな値が取得される。 “実メモリ中のメモリ使用率(ユーザ)を利用することで、 キャッシュ領域とバッファ領域を除いたメモリ使用率を監視する ことが可能。 Linuxサーバのメモリ使用率を監視すると 100%に近い値が取得される 【リソース監視】
  36. 36. Copyright (c) 2015 Atomitech Inc.35 質問 8TB以上のファイルシステムに対してファイルシステム使用率を 監視しようとしたところ、監視結果が不明となり、 ファイル システム使用率が取得できなかった。 監視を行うためにはどのような設定が必要か。 回答 8TB以上のファイルシステム使用率の監視する場合、以下の設定が 必要となる。 1. リソース監視の”大容量ファイルシステム使用率”を利用する。 2. 監視対象サーバのSNMPの設定ファイルに、以下の設定を 追加する。 大容量のファイルシステム使用率を監視したい 【リソース監視】 disk / 10000 ←10000を追記 disk /var 10000 ←10000を追記 ※ [/]と[/var]が監視対象の場合
  37. 37. 弊社紹介 Copyright (c) 2015 Atomitech Inc.36
  38. 38. 株式会社アトミテック 2004年 7月 1日設立 Hinemosに関わる主なサービス  Hinemos保守サービス  Hinemosを用いた運用管理システムの構築支援  各種商用運用管理ツールからHinemosへの移行 Hinemosの提供製品  ミドルウェア監視用スクリプト  Ubuntu版Hinemos  NTTデータ開発有償機能  StartUpガイド  中国語版Hinemos 弊社の紹介 Copyright (c) 2015 Atomitech Inc.37
  39. 39. sdて 株式会社アトミテック アライアンス  2016年7月19日に発足したHinemosアライアンス体制の1社 弊社の紹介 Copyright (c) 2015 Atomitech Inc.38 Hinemosアライアンス 株式会社NTTデータ、 NTTデータ先端技術株式会社、 株式会社NTTデータ関西、 株式会社クニエ、 株式会社アトミテック 以下を目的としたアライアンス ・迅速な機能向上・サービス提供 ・最適なHinemosソリューション の共同開発 ・Hinemosの導入を促進
  40. 40. 39 ご清聴ありがとうございました Copyright (c) 2016 Atomitech Inc.

×