タイガー!タイガー!じれったいぞー!(SE編)

AS400,WAS,GlassFish,Java,JavaEE,JSF等の開発における日々の気づきをまとめたブログ(備忘録)。

Points of Youワークショップ(東京)に参加しました

マインドマップ入門講座の続きです。

16日は、AMがマインドマップ講座で、PMがPoints Of Youワークショップというスケジュール。

www.kokuchpro.com

Points Of Youが気になったきっかけは、もちろんホラノさんのブログでした。
GoogleIKEAさんで取り入れている事実なんかよりも、写真の美しさに惹かれてしまったことが一番の理由です。「なんか、美しい!」→「こんな素敵な写真達を使ってどうコーチングするの?」→「知りたい!」 こんなフローですね。

f:id:no14141:20171217151028j:plain

このエバンジェリストの資格が欲しいと思っていましたが、今回はワークショップ(しかも激安の料金!)。
まずは何でも体験するのが一番!ということで、本当に今の自分に必要なツールかどうかを判断するためにも、昨日のワークショップはとても良い機会となりました。

参加者は8名(都内以外からの参加は、私だけのようでした)。
皆さん、向上心があって、とてもいい刺激をいただくことができました。
参加者の皆さん、大変お世話になりました。ありがとうございます!

以降は、私のための備忘録として選択したカード(Facesを含む)となります。

一番最初に気になって選んだカード(Faces)

f:id:no14141:20171217151414j:plain

ジミー45歳。自分の妄想は、これから超大手IT企業から独立して、さあやるぞ!という瞬間。後ろから若奥さんがお見送りしてくれているイメージでした(ちなみにジミーはバツイチ)。

のちに、別の方のお話を受けて、町一番のお人よし(DIY大好き!)へと変化します。

自己実現後をイメージしたカード(Faces)

f:id:no14141:20171217190033j:plain

真っ先にこのカードをチョイス。
その理由は、満面の笑顔だから。成功したから笑うのではなく、苦しいときだからこそ「笑顔」が必要という意味で。
「笑顔で導く」 これが私の課題であると認識できました!

最後に裏返しのカードから引き当てたカード

f:id:no14141:20171217151411j:plain

まさに! 今の自分にかけていて、今すぐにでも手に入れたもの「リーダーシップ」でした!
こんな偶然ってあるのでしょうか? 最初から、ずっとこのカードが気になっていたのでまさに運命でした。
Bon Joviの「Keep The Faith」アルバムのジャケットにも似ていますし!(あのアルバムも隠れた名盤だと思います)

自分自身の不甲斐なさを気づかせてくれたカード

f:id:no14141:20171217151420j:plain

こちらの女性の写真を褒めてあげて! という場面でうまく言葉が出てきませんでした。
普段から、女性に対してもっともっと積極的に褒めていく必要がありそうですね。残念!!
まずは、些細なことからでも、「褒め上手」になってやるぜ!

総括

「人は皆違う・・・」 心から痛感させられたワークショップとなりました。
1枚の写真を見ても、人の数だけまったくことなる視点、発想がある。そして、その写真について語っていくと、いつの間にか自分の過去や、自分の頭にあるものがフレーズとなって勝手に出てくることを身を持って体験しました。
また自分って、こんなことを考えているんだという新しい気づきもあれば、そういえば俺って、こうでありたかったよなという再発見もありました。

やはりこのツールは、ぜひ必要と感じました。
まずは来年、このエバンジェリストの資格を取得して、活用していきたいと思いました。
「Points Of You」がもっともっと、世界に広がってほしいですね。そのためにわずかでも自分も一役かいたい、そんな心境で、東京を後にしました。

マインドマップ入門講座(東京)に参加してきました

SEとして、思考術は大きな武器となります。
その思考力を高めるべく、12月16日(土)に東京まで足を運んで、「マインドマップ入門講座」に参加してきました!

horano.jp

そもそも、講師のホラノさんは、10年以上前にmixi上で繋がらせていただいた方でした。

そのmixiもまったく触れることがなくなりました。ホラノさんとのつながりが途絶えていたこともあって、またいつの日か関係を持てたら嬉しいなと勝手に思っていました。

俺が一方的にホラノさんのブログは毎日チェックしたので、マインドマップのみならず「Points of You」など新しいチャレンジをされていることも知っていたので、「マインドマップかPoints Of Youのワークショップを受ける場合には、絶対にホラノさん主催のに参加する!」と3年くらい前から決めていたのです。

そうです。そう思っていながら、実は3年も経過してしまっていたことに気づいてしまいました。先月の事でした。
そんなことを考えていたら、引き寄せてしまいました! オッケー、オッケー!
12月中旬に初心者向けの講座があるとブログで紹介されているではないですか!!!!

「思い立ったら吉日」ということで、即申し込み! ついに当日を迎えました。

まずは、率直な感想をひとつ。

自分の手で、色々な色ペンを使って、絵を描くって、超楽し~いじゃあ~りませんか!!!!!

正直、絵は下手くそです。でも、そんなことはどうでもいいと思えるくらい、最初のネームプレート作りでアドレナリンが出てくている自分がおりました。繰り返しになりますが、心から、楽しいって感じました。
その楽しいって気持ち、最近忘れていた感情のひとつかもしれません。

一通り講義を聞いて、2018年にこうなりたい自分というテーマでマインドマップを描いて、講座は終了。 2018年の目標は、何となくぼんやりとはイメージできていたのですが、こうやって1つのシートにまとめることができて、より来年のイメージが、しっかりとした色付きで思い描けることができたので、ありがたかったですね。

f:id:no14141:20171217145625j:plain

マインドマップについては、実は「iMindMap」というソフトウェアを去年末に購入して、今年はマインドマップは20くらいは書いたと思います。字や絵が下手という理由と、手直しがしやすいという2つの理由から、ソフトを頼ったわけですね。
しかし、今回の体験を通して、ソフトもいいですが、手書きのMMこそ、脳の活性化につながるものなんじゃないかと思ってしまいました。

今回、せっかくマインドマップ用の用紙と色ペンセットを買ったことですし、読書まとめやアプリ開発のアイディア出しなんかの場面で活用していけたらと思っています。

良い習慣は継続あるのみ! 止まらずに進んでいきたい、そう思えた今回の東京の旅でした。
次回、「Points Of Youワークショップ体験記」へと続きます。

【AS400】 AS400のポート監視をZABBIXで行う

AS400+Zabbix連携ネタの続きです。

今度は、AS400が開いているポートを継続監視します。とりあえず、今回は、TELNETポート23を監視してみようと思います。

①アイテム追加

  • 設定→ホスト より、「AS400」ホストを選択し、アイテムのリンクより画面右上の「アイテムの作成」をクリック。

f:id:no14141:20170818125924j:plain

項目 設定値 備考
名前 Port監視(23_telnet) 当アイテムの名前
タイプ シンプルチェック
キー net.tcp.service[tcp,,23] TCP23ポートをチェック
ホストインターフェース 192.168.1.250:10050
ユーザー名  
パスワード  
データ型 数値(整数) 1:サービス起動 0:サービス停止
データの形式 10進数
単位
乗数
更新間隔(秒) 0 ここでは設定せず。次の更新間隔カスタマイズを優先
更新間隔カスタマイズ 定期設定 m/1 ※この設定で常に00秒時にデータを取得する

キー・ダイアログ

  • キー項目の右端の【選択】ボタンで、下記のようなダイアログが表示します。

f:id:no14141:20170818125930j:plain

②グラフ追加

  • グラフは、①で設定したアイテムの名前を選択します。

f:id:no14141:20170818125938j:plain

③トリガー追加

トリガー

  • トリガーは、1分ごとにキーを取得し、連続3回すべて0(サービス停止)の場合に、「障害」とするようにしました(1回でもいいような気も・・・)。
  • 障害時の通知処理は、メールやslack等で受け取れるようにします。

f:id:no14141:20170818125934j:plain

【条件式】
{AS400:net.tcp.service[tcp,,23].last(#3)}=0

依存関係

  • 依存関係の設定は、必要に応じ、AS400自身のICMPのping監視や上位のスイッチなどのICMPのping監視を設定します。依存関係は、依存設定したアイテムが有効である場合にのみ、今回対象のトリガーを生かします。
  • 今回は、すでにICMPテンプレートを適用していたので、そのテンプレートの中の1アイテム「AS400: {HOST.NAME} is unavailable by ICMP」を依存先として追加しました。AS400pingが飛ばない場合には、TCP23ポートの障害としては発砲されません。

f:id:no14141:20170818133318j:plain

※以上で、設定は完了です。

次回は、as400のNTPクライアントの話を書きたいと思います。

「テレビ東京ビジネスオンデマンド」が実にいい

去年の11月から契約している「テレビ東京ビジネスオンデマンド」。

これが実にいいのであります!
毎月、500円(税抜)でアーカイブも見放題ということで、かなりの安さ!

テレビ東京系が放送されていない地方の人間ではありますが、今の時代、様々な手段で動画に触れることができて、本当に便利です。

このオンデマンドを契約する動機は、とてもベタではありますが、「カンブリア宮殿」と「ガイアの夜明け」を毎週観るため。

これら番組を毎週観ていると、仕事に対する視野が広がってきたといいますか、頭が多少、柔らかくなってきたように思っています(自己評価)。

それにしても、震災以降、ほとんどTVを観なくなっています。こういうドキュメンタリーを観ているほうが、本当に面白い! 
目的もなくTVをダラダラ見て、自分の大切の時間を失うのはもったいない。なので、このオンデマンドは、PCで1.5倍速で視聴させてもらっています。

残念なのは、倍速の速度で2倍が無いこと、さらにスマホアプリでは倍速機能自体が無い点でしょうか。
こちらについては、いつか提供されることを期待して待ちたいと思っています。

ついうっかり視聴を忘れると、どんどん溜まっていってしまうので、ToDoリスト(私はTodoist有償版を使用)のリポート機能(毎週1回)を使って、無理なく継続視聴ができるようになってきました。

まだ10ヵ月程度のユーザーではありますが、引き続き、新しい情報収集、並びに新しい気づきを得るため、どんどん活用していこうと思っています。

【AS400】 SNMPを起動し、ZABBIXで監視を行う (2)

次にZABBIX側の設定になります。


(1) ホストの基本設定

  • 「設定」→「ホスト」より選択します。(AS400のホストが無い場合は、右上の「ホストの作成」ボタンで追加します)
  • AS400のホストへ「SNMPインターフェース」を記述します。
    • bulkリクエストを使用:一度のコネクションで複数のSNMPのデータをまとめて取得。とりあえず今回は、チェックをありにしました。

f:id:no14141:20170808124144j:plain

(2) CPU使用率の監視設定

①アイテム追加

f:id:no14141:20170808125449j:plain

項目 設定値 備考
名前 CPU使用率(100乗の値) 当アイテムの名前
タイプ SNMPv1エージェント
キー SNMPv2-SMIenterprises.2.6.4.5.1.0 トリガー式で参照する値
ホストインターフェース 192.168.1.250:161
SNMP OID SNMPv2-SMI::enterprises.2.6.4.5.1.0
SNMPコミュニティ ZABBIX
ポート
データ型 数値(整数)
データの形式 10進数
単位
乗数
更新間隔(秒) 0 ここでは設定せず。次の更新間隔カスタマイズを優先
更新間隔カスタマイズ 定期設定 m/1 ※この設定で常に00秒時にデータを取得する

②グラフ追加

  • グラフは、①で設定したアイテムの名前を選択すれば、完了!

f:id:no14141:20170808132704j:plain

③トリガー追加

  • トリガーは、1分ごとにCPU率を取得し、連続3回すべてが95%を超えたの場合に、「障害」とするようにしました。
  • ちなみに、SNMPで取得した値は、10000=100%なので、9500が95%となります。
  • 障害時の通知処理は、メールやslack等で受け取れるようにします。

f:id:no14141:20170808132713j:plain

④グラフ表示結果

  • これで、CPU使用率の状況を24時間365日監視できるようになりました!

f:id:no14141:20170809124303j:plain

(3) ディスク使用率の監視設定

  • 次にハードディスクの使用率を監視します。

①アイテム追加

  • アイテムは、「総容量」(常に一定)と「使用済容量」をSNMPで取得し、その2つの値を計算した「HDD使用率」の3つを準備しました。
ディスク総容量
  • 総容量は、増設をしない限り、一定ではあるのですが、不変であるかの確認を兼ねて、SNMPから取得するようにしました。
  • これは不要と思われる場合は、HDD使用率の計算で分母を固定値で計算しても良いかもしれません。

f:id:no14141:20170809123628j:plain

項目 設定値 備考
名前 ディスク総容量 当アイテムの名前
タイプ SNMPv1エージェント
キー HOST-RESOURCES-MIBhrStorageSize.1 トリガー式で参照する値
ホストインターフェース 192.168.1.250:161
SNMP OID HOST-RESOURCES-MIB::hrStorageSize.1
SNMPコミュニティ ZABBIX
ポート
データ型 数値(整数)
データの形式 10進数
単位
乗数
更新間隔(秒) 60
ディスク使用容量
  • こちらは、必ず取得する必要のある値です。現時点でのディスク使用容量になります。

f:id:no14141:20170809123638j:plain

項目 設定値 備考
名前 ディスク使用容量 当アイテムの名前
タイプ SNMPv1エージェント
キー HOST-RESOURCES-MIBhrStorageUsed.1 トリガー式で参照する値
ホストインターフェース 192.168.1.250:161
SNMP OID HOST-RESOURCES-MIB::hrStorageUsed.1
SNMPコミュニティ ZABBIX
ポート
データ型 数値(整数)
データの形式 10進数
単位
乗数
更新間隔(秒) 60
ディスク使用率(%)
  • 先に取得した2つの値を使って計算します。
  • 計算式
    • 使用容量÷総容量×100 (%)

f:id:no14141:20170809123645j:plain

項目 設定値 備考
名前 ディスク使用率(%) 当アイテムの名前
タイプ 計算
キー asdiskper トリガー式で参照する値
(last(HOST-RESOURCES-MIBhrStorageUsed.1)/last(HOST-RESOURCES-MIBhrStorageSize.1))*100
データ型 数値(浮動小数
単位 %
更新間隔(秒) 60

②グラフ追加

  • CPU使用率と同様に、作成済みアイテム(使用率)を選択します。

f:id:no14141:20170809123655j:plain

③トリガー追加

  • こちらは、現状の状況に合わせて、とりあえず70%を超えたら、アラート扱いにしました。

f:id:no14141:20170809123703j:plain

④グラフ表示結果

  • このような結果グラフになりました。早々変動するものでもないですね。

f:id:no14141:20170809124255j:plain


以上で、CPU使用率とHDD使用率の2つを監視できるようになりました。

また別の機会に、今度はZABBIXのポート監視についてまとめようと思っています。

【AS400】 SNMPを起動し、ZABBIXで監視を行う (1)

安定感抜群のAS400ではありますが、自動的に監視して、異常時にはアラートを発砲できるようにしたいと考えました。情報が少なく、かなり苦戦しましたが、とりあえず監視ができるようになりましたので、その手順を記しておこうと思います。


(1)AS400 SNMP設定

SNMP設定

> CHGSNMPA SYSD('IBM I 7.1 SNMP AGENT') AUTOSTART(*YES) 
    TRPMGR(('192.168.1.251' '255.255.255.0' 'ZABBIX' *YES))   
 
SNMP 属性が正常に変更されました。 

②コミュニティ名の追加

public(出荷時に登録済み)
  • publicは、出荷時設定であるので、このまま生かすことにしました。
コミュニティー名 public
ASCIICOM *YES
INTNETADR *ANY
OBJACC *READ
LOGSET *NO
LOGGET *NO
  • 削除する場合はRMVCOMSNMPコマンドでできるようです。(ただし、試していません)
    • RMVCOMSNMP COM(‘public’)
ZABBIX(追加)
  • COMパラメータは、カンマは不要でした。
> ADDCOMSNMP COM(ZABBIX) INTNETADR(('192.168.1.251' '255.255.255.0'))

 コミュニティーが追加された。

(2)AS400 SNMP起動/確認/停止

SNMPクライアント起動

> STRTCPSVR SERVER(*SNMP)        

SNMP サーバーは開始中である。

②起動後の確認

WRKACTJOB SBS(QSYSWRK)
  • QSNMPSA、QTMSNMP、QTMSNMPRCVの3つのJOBが起動しました。
                               活動ジョブの処理  
           
OPT  サブシステム/ジョブ  ユーザー       タイプ  CPU %   機能            状況
     QSYSWRK        QSYS        SBS      .0                   DEQW
       :
       QSNMPSA      QTCP        BCH      .0  PGM-QNMSARTR     DEQW  <<<(起動) 
       :
       QTMSNMP      QTCP        BCH      .0  PGM-QTOSMAIN     DEQW  <<<(起動) 
       QTMSNMPRCV   QTCP        BCH      .0  PGM-QTOSRCVR     TIMW  <<<(起動) 
DSPMSG QSYSOPR
  • 新しいメッセージが追記されました。
                    応答が必要でないメッセージ 
SNMP coldStart トラップが生成された。   <<<<<<<(追記)
WRKTCPSTS (NETSTAT) - 3.IPV4 接続状況の処理
  • F14キーで、ポート名の表示が可能です。
  • 新しく、SNMPの標準の 161/UDP がOPENされたのを確認できました!
                              IPV4 接続状況の処理
                                                                                   
                        リモート   ローカル      アイドル   
 OPT  リモート・アドレス       ・ポート  ・ポート      時間    状態    
      *                    *     21  009:03:35   接続待機
      *                    *     23  000:11:03   接続待機
      *                    *     25  450:18:30   接続待機
      *                    *     80  000:19:28   接続待機
      *                    *    123  018:18:30  *UDP      
      *                    *    137  450:18:35   接続待機 
      *                    *    137  000:00:50  *UDP    
      *                    *    138  000:00:20  *UDP  
      *                    *    139  450:18:30   接続待機
      *                    *    161  000:04:38  *UDP     <<<<<(OPEN)
      *                    *    427  450:18:33  *UDP 
                                                                続く ...

SNMPクライアント停止

  • 起動に成功できたので、いったん、コマンドで停止を実施します。こちらも問題なく、停止できました。
> ENDTCPSVR SERVER(*SNMP)  

SNMP サーバーが終了した。
DSPMSG QSYSOPR
                    応答が必要でないメッセージ     
 ジョブ xxxxxx/QTCP/QSNMPSA がユーザー QTCP によって終了された。
 ジョブ xxxxxx/QTCP/QTMSNMPRCV がユーザー QTCP によって終了された。
  • 161ポート待ちが無くなりました。
  • JOB QSNMPSA, QTMSNMP, QTMSNMPRCV が無くなりました。

SNMPクライアント起動(再)

  • 停止後は、正式に起動開始です!
> STRTCPSVR SERVER(*SNMP)  

SNMP サーバーは開始中である。 

(3)SNMPマネージャーからの動作検証

  • AS400上で、SNMPが起動できたので、今後はZABBIXサーバやWindowsPCから、SNMP情報をゲットするための snmpwalkコマンドを試します。
  • 事前に、LinuxWindowsに「net-snmp」をインストールしてあります(ここでの説明は省略)。

Zabbixから操作

  • ZABBIXサーバにSSH接続しての検証結果です。
成功
  • コミュニティ名は、public と ZABBIXでそれぞれ成功しました!
$ snmpwalk -v 1 -c public 192.168.1.250

$ snmpwalk -v 1 -c ZABBIX 192.168.1.250

$ snmpwalk -v 1 -c ZABBIX -t 10 192.168.1.250
失敗
  • ただし、version2 とコミュニティ名=zabbix(小文字)では、失敗しました。
$ snmpwalk -v 2c -c public 192.168.1.250
Timeout: No Response from 192.168.1.250     (ver2 では応答なし)

$ snmpwalk -v 1 -c zabbix 192.168.1.250
Timeout: No Response from 192.168.1.250     (zabbixでは応答なし)

WindowsPCから操作

  • 今度は、WindowsPCからの検証結果です。
  • コミュニティ名は、public のみ成功! 当然ながら IPアドレスが不一致なので、ZABBIX では失敗です。
成功
> snmpwalk -v 1 -c public 192.168.1.250
失敗
> snmpwalk -v 1 -c ZABBIX 192.168.1.250
Created directory: C:/apps/net-snmp/snmp/persist/mib_indexes
Timeout: No Response from 192.168.1.250

OID

  • SNMPでは、MIB(ミブ)と呼ばれるフォーマットで、ツリー構造になっています。
  • MIBにある情報の1つ1つをオブジェクトと呼ばれ、どのオブジェクトもOID (オブジェクトID)で表現されているようです。

1.3.6.1.2.1.1 (SNMP MIB-2 System)

  • まずは、基本的なsystemサブツリーを取得してみました。
  • OS名やシステムが起動中のトータル時間などを確認できました!
> snmpwalk -v 1 -c public 192.168.1.250 1.3.6.1.2.1.1
SNMPv2-MIB::sysDescr.0 = STRING: IBM OS/400 V7R1M0
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.2.6.11
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1736729) 4:49:27.29
SNMPv2-MIB::sysContact.0 = STRING:
SNMPv2-MIB::sysName.0 = STRING: xxxxxxxxxxxxxx
:

1.3.6.1.2.1.25.2.3.1 (hrStorageEntry)

> snmpwalk -v 1 -c public 192.168.1.250 1.3.6.1.2.1.25.2.3.1
:
HOST-RESOURCES-MIB::hrStorageSize.1 = INTEGER: 136323072  <<<<<<<<<<<<<<<<<<<
HOST-RESOURCES-MIB::hrStorageSize.2 = INTEGER: 397311
HOST-RESOURCES-MIB::hrStorageSize.3 = INTEGER: 6215637
HOST-RESOURCES-MIB::hrStorageSize.4 = INTEGER: 1367371
HOST-RESOURCES-MIB::hrStorageSize.5 = INTEGER: 80609
HOST-RESOURCES-MIB::hrStorageUsed.1 = INTEGER: 80001828   <<<<<<<<<<<<<<<<<<<
HOST-RESOURCES-MIB::hrStorageUsed.2 = INTEGER: 338366
HOST-RESOURCES-MIB::hrStorageUsed.3 = INTEGER: 4352806
HOST-RESOURCES-MIB::hrStorageUsed.4 = INTEGER: 865096
HOST-RESOURCES-MIB::hrStorageUsed.5 = INTEGER: 72730

1.3.6.1.4.1.2.6.4.5.1.0 (IBMCPU-MIB (v1))

  • 最後にCPU使用率の取得です。
  • IBM独自のOIDで確認可能なようです。

AS/400 CPU = “1.3.6.1.4.1.2.6.4.5.1.0” (10000=100%)

> snmpwalk -v 1 -c public 192.168.1.250 1.3.6.1.4.1.2.6.4.5.1.0
SNMPv2-SMI::enterprises.2.6.4.5.1.0 = Gauge32: 60   <<<<<<<<< 0.60% 

これで、準備は整いました。

次回は、ZABBIX側での設定をまとめようと思います。

【NetBeans】文字コードの設定

PC移行に伴い、NetBeansを新たにセットアップしたのですが、文字化けに苦しんだので、現時点で上手くいった設定を記録しておこうと思います。

私の環境(2017-06-29)

  • OS: Windows10 Pro x64 anniversary update
  • Java: 1.8.0_112
  • NetBeans: 8.2
  • Maven: 3.0.5(バンドル版)
  • JavaServer : Payara 4.1.1.163

設定手順

Serverのコンソールログ、並びにMavenの実行結果の両方を「UTF-8」で出力させる設定になります。

(1) PC環境変数設定

  • 結論から言いますと、結局、この設定だけで文字化け問題は解決しました。
  • ユーザー環境変数に「JAVA_TOOL_OPTIONS」を追加します。
変数名: JAVA_TOOL_OPTIONS
変数値: -Dfile.encoding=UTF-8

f:id:no14141:20170629180328j:plain

(2) NetBeans設定

  • NetBeansでは、起動オプションを設定ファイルでの編集が可能です(私の保存場所:C:\Program Files\NetBeans 8.2\etc\netbeans.conf)。
  • 以前は、「netbeans_default_options」に「-J-Dfile.encoding=UTF-8」を追記していたはずでしたが、改めて前のPCの設定を確認してみると、設定は存在しませんでした。ちなみに「-J-Dfile.encoding=UTF-8」を追記すると、Mavenの出力が文字化けしました。
  • 結局こちらには、jdkhomeの設定のみとしました。
netbeans_jdkhome="C:\Program Files\Java\jdk1.8.0_112"

以上でPayaraへのログ、並びにIDE上で実行するMavenの出力は、すべて文字化けしないようになりました。