2016年6月8日水曜日

CentOSにMRTGをインストールする

お仕事で運用しているPalo AltoのCPU使用率を時系列で見たいため、MRTGをインストールして見ることにした。

前回の基本インストールで webサーバはインストール済み。snmp関連とMRTGのインストールを実行しました。(横着して –y オプションを指定しているが、確認しながらインストールするのだったら無しが吉。)

# yum -y install net-snmp net-snmp-utils mrtg

snmp関連の設定は共通の設定を使い回しているので割愛します。

サービスの起動とシステム起動時に自動起動するよう設定を行います。(とうか、ターゲットが今回は自機ではないのでsnmpdは動いていなくてもいいんだけど。そのうち自機もMRTGで値を表示する予定なので、事前準備ということで。)

# serive snmpd start
Starting snmpd: [ OK ]

# chkconfig snmpd on

動作確認 (testcomはsnmpd.confで設定したコミュニティ名)
だらだらとMIBの表示されているので問題はなさそうです。

# snmpwalk -v2c -c testcom 192.168.17.1 system
SNMPv2-MIB::sysDescr.0 = STRING: Palo Alto Networks PA-3000 series firewall
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.25461.2.3.17
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (2632929089) 304 days, 17:41:30.89
SNMPv2-MIB::sysContact.0 = STRING: Not Set
SNMPv2-MIB::sysName.0 = STRING: fw01
SNMPv2-MIB::sysLocation.0 = STRING: Unknown
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (1) 0:00:00.01

mrtg.cfg の作成ですが cfgmaker ではなく直接作成してみました。

表示・集計用のファイルですが、デフォルトですとそれぞれ
/var/www/mrtg
/var/lib/mrtg
に作成されます。

今は1ファイルだけなのでデフォルト設定でもよいのですが、将来(あるのか?)色々とMRTGで表示をすることを鑑み、なんたらmrtg の下にディレクトリを作成し保存することにしました。Targetの下に記述してあるDirectoryなんちゃらで保存先を指定します。

HtmlDir: /var/www/mrtg
ImageDir: /var/www/mrtg
LogDir: /var/lib/mrtg
ThreshDir: /var/lib/mrtg

Options[_]: growright, bits


Target[fw01_cpu]: .1.3.6.1.2.1.25.3.3.1.2.1&.1.3.6.1.2.1.25.3.3.1.2.2:testcom@192.168.17.1:
Directory[fw01_cpu]: fw01_cpu
MaxBytes[fw01_cpu]: 100
Unscaled[fw01_cpu]: dwmy
Options[fw01_cpu]: gauge, absolute, growright, noinfo, nopercent
YLegend[fw01_cpu]: CPU Load(%)
ShortLegend[fw01_cpu]: (%)
LegendI[fw01_cpu]: 1分間平均
LegendO[fw01_cpu]: 5分間平均
Legend1[fw01_cpu]: 1分間平均(%)
Legend2[fw01_cpu]: 5分間平均(%)
Title[fw01_cpu]: fw01_CPU使用率
PageTop[fw01_cpu]: <h1>Palo Alto_CPU使用率</h1>

さて、これでmrtgを 3回起動すれば(過去ファイルを処理するため初回は 2回目実行分まで警告が出るため) ok!  と思ったのですがエラーで撃沈。

SNMP Error:
no response received
SNMPv1_Session (remote host: "192.168.17.1" [192.168.17.1].161)
                  community: "testcom"
                 request ID: 266603886
                PDU bufsize: 8000 bytes
                    timeout: 2s
                    retries: 5
                    backoff: 1)
at /usr/bin/../lib64/mrtg2/SNMP_util.pm line 492
SNMPGET Problem for .1.3.6.1.2.1.25.3.3.1.2.1 .1.3.6.1.2.1.25.3.3.1.2.2 sysUptime sysName on testcom@192.168.17.1::::::v4only
at /usr/bin/mrtg line 2203
2016-06-08 13:25:11: WARNING: skipping because at least the query for .1.3.6.1.2.1.25.3.3.1.2.1 on  192.168.17.1 did not succeed
2016-06-08 13:25:11: WARNING: no data for .1.3.6.1.2.1.25.3.3.1.2&.1.3.6.1.2.1.25.3.3.1.2:testcom@192.168.17.1. Skipping further queries for Host 192.168.17.1 in this round.
2016-06-08 13:25:21: ERROR: Target[fw01_cpu][_IN_] ' $target->[0]{$mode} ' did not eval into defined data
2016-06-08 13:25:21: ERROR: Target[fw01_cpu][_OUT_] ' $target->[0]{$mode} ' did not eval into defined data

どうもsnmpgetでの情報取得に失敗しているようです。snmpwalkは値が返ってくるのに、なんでsnmpgetで失敗するのか見当が付きません。試しに別の機器にsnmpwalkとsnmpgetを実行してみると問題なく値が返ってくる。

色々調べましたが、数時間で解決はしませんでした...


2016/06/08 16:52 追記

Tergetの記述で ipアドレス:::::2 とすれば問題が解決することが判明。
もう少々 MRTG の記述を勉強しないと駄目だな。→ ちょっとしました(2016/06/09)。
以下、やっつけスクリプトの手順を書いておく。snmpで値が取得できず、スクリプトを書く必要に迫られるケースもあるはずなので。


とはいうものの、

  1. 第1パラメータ値
  2. 第2パラメータ値
  3. 稼働時間
  4. ホスト名

を返してあげればいいらしいことが分かりました。snmpwalkで値が返ってくるので、スクリプトを作成することにしました。ファイル名はfw01-cpu.shとし、/etc/mrtg 配下に置くことにします。

#!/bin/sh

LANG=C
export LANG

CPU1=`snmpwalk -v2c -c testcom 192.168.17.1 .1.3.6.1.2.1.25.3.3.1.2.1 | cut -d " " -f 4`
CPU5=`snmpwalk -v2c -c testcom 192.168.17.1 .1.3.6.1.2.1.25.3.3.1.2.2 | cut -d " " -f 4`
UPTIME=`snmpwalk -v2c -c testcom 192.168.17.1 .1.3.6.1.2.1.1.3 | cut -d " " -f 5-8`

echo "$CPU1"
echo "$CPU5"
echo "$UPTIME"
echo "CPU Load Average(fw01)"

mrtg.cfg の Targetなんちゃら行を次のように書き換えました。

Target [fw01_cpu]: .1.3.6.1.2.1.25.3.3.1.2.1&.1.3.6.1.2.1.25.3.3.1.2.2:testcom@192.168.17.1:

Target [fw01_cpu]: `/etc/mrtg/fw01-cpu.sh`

あとは mrtg.cfgを 3回実行し、crontabに5分ごとに実行するよう設定をすれば完成です。(実際にはインストール時に /etc/cron.d/mrtg が作成されているので、何もしなくてokだったりますが。)

indexmaker を使って監視対象機器ごとのHTMLファイルにリンクを張ったindex.htmlを作ってもよいのですが、自分は htmlエディタを使ってindex.htmlファイルを作成しました。

随分前に使ったときは、漢字は eucでないと上手く動かない気がしたんですが、いつも間にかそんな制約もなくなったようです。yum でサクッと入れられるし、随分便利になってきましたね。configure; make~ していた頃が懐かしい。

2016年5月2日月曜日

CentOS 6.4(64bit)のインストール

職場で使用している RHEL が 6.4(64bit)なので、CentOS 6.4(64bit)を ESXi 上でインストールを行う。GUIかつ対話形式なので、特に詰まるところも無し。導入コンポーネントを職場と同じにしておきたいので備忘録として残しておく。

ネットワークの設定は、インストール後にコンソールから実行してもいいが、ホスト名を入力する画面の左下に "ネットワークの設定" ボタンから実行しています。

High Availability
  □ High Availability
  □ High Availability の管理

Load Balancer
  □ Load Balancer

Resilient Storage
  □ Resilient Storage

Scalable Filesystem
  □ Scalable Filesystem

Webサービス
  ■ PHP サポート
  □ TurboGearsアプリケーションフレームワーク
  ■ Web サーバー
  □ Webサーブレットエンジン

アプリケーション
  □ Emacs
  □ TeXのサポート
  □ インターネットアプリケーション
  ■ インターネットブラウザ
  □ オフィススイートと生産性
  □ グラフィックスツール
  □ 技術文書

サーバー
  □ CIFS ファイルサーバー
  ■ FTPサーバー
  □ NFSファイルサーバー
  ■ サーバープラットフォーム
  □ システム管理ツール
  □ ディレクトリサーバー
  □ ネットワークインフラストラクチャサーバー
  □ ネットワークストレージサーバー
  □ バックアップサーバー
  □ プリントサーバー
  □ 識別管理サーバ
  □ 電子メールサーバー

システム管理
  ■ SNMPサポート
  □ WBEMサポート
  ■ システム管理
  □ メッセージング接続クライアントのサポート

デスクトップ
  □ KDEデスクトップ
  ■ X Window System
  ■ グラフィカル管理ツール
  ■ デスクトップ
  ■ デスクトップのデバッグとパフォーマンスツール
  ■ デスクトッププラットフォーム
  ■ フォント
  □ リモートデスクトップ接続クライアント
  □ レガシー X Windows システムの互換性
  ■ 入力メソッド
  ■ 汎用デスクトップ(GNOMEデスクトップ)

データベース
  □ MySQL データベースサーバー
  □ MySQL データベース接続クライアント
  □ PostgreSQL データベースサーバー
  □ PostgreSQL データベース接続クライアント

ベースシステム
  □ FCoE ストレージ接続クライアント
  □ Infiniband のサポート
  ■ Java プラットフォーム
  ■ Perl のサポート
  □ Ruby サポート
  □ iSCSI ストレージ接続クライアント
  ■ コンソールインターネットツール
  □ ストレージ可用性ツール
  □ スマートカードのサポート
  □ セキュリティツール
  □ ダイヤルアップネットワークサポート
  ■ ディレクトリ接続クライアント
  ■ デバッグツール
  □ ネットワーキングツール
  ■ ネットワークファイルシステムクライアント
  ■ ハードウェア監視ユーティリティ
  □ バックアップクライアント
  ■ パフォーマンスツール
  ■ ベース
  □ メインフレームアクセス
  □ レガシー UNIX の互換性
  □ 互換性ライブラリ
  □ 印刷クライアント
  ■ 大規模システムのパフォーマンス
  □ 数学/科学系および並列計算

仮想化
  □ 仮想化
  □ 仮想化クライアント
  □ 仮想化ツール
  □ 仮想化プラットフォーム

言語
  ■日本語のサポート

開発
  □ Eclipse
  □ その他の開発
  □ サーバープラットフォーム開発
  □ デスクトッププラットフォーム開発
  □ 開発ツール


再起動後の設定画面で kdumpを無効に


ここまでで ssh接続ができるようになっているはずなので、TeraTerm等で ssh接続をし残りの設定をする。

rootユーザの ssh接続を拒否
/etc/ssh/sshd_config を編集
PermitRootLogin no を追記 or Yes になっている行のコメントを外し no にする
/etc/rc.d/init.d/sshd restart ただし、selinux の無効化で再起動するため、今回は何もせず

selinux の無効化
/etc/sysconfig/selinux を編集し、再起動
SELINUX=disabled   : 無効にする
SELINUX=Enforcing  : SELinuxパーミッションのチェックを行い、アクセスを拒否する
SELINUX=Permissive : SELinuxパーミッションのチェックはするが実際にアクセスの拒否はしない
※disabled を disable と誤記することが多いので注意、よくはまる


過去に当てているパッチの適用。yum update で全更新をすると CentOS 6.7まで上がってしまうので注意。

yum update bash
yum update openssl
yum update glibc

以上で設定完了、再起動を実施

2016年4月27日水曜日

VMware ESXi 6.0 U2のインストール

2012年にインストールし、放って置いた VMware ESXi 5.0 を 6.0 に変えてみた。

5.5以降 Realtekの NICがサポート外になっていることもあり、別途ドライバを組み込むのが面倒だと思っておりました。

グーグル先生に聞いてみると Realtekの NICドライバをサポートしたカスタムISOを作ることができるんですね。であれば、ISOを作るのに一手間ありますがインストール自体は簡単かと。雑木林さんのブログを参考にカスタムISOを作成しました。

機器構成は2012年当時と一緒。さすがに E350IA-E45 は力不足の感は否めず。最近発売(2016/04/22)になった BIOSTAR の A68N-5200 あたりが欲しいなぁと思いつつ、お小遣いの少ないお父さんは旧機を使い続けるのでした...

カスタムISO の作成ですが、特に問題もなく(というよりはあっけなくがピッタリか)完成。インストールも問題となるところはありませんでした。5.0 へアップデートも考えましたが、4年前の環境を残すよりは作り直しを選び新規インストールで。

vSphere Client から構成を見ると問題なく Realtek のNIC を認識しております。

ESXi_6.0_U2

自分的備忘録
BIOS日付が9時間ずれているのってなんだっけ?
→ESXi はUTC で時間管理しているので、BIOSで時刻をずらしておく必要あり

さて、前回同様 Vyatta で NAT環境構築をと思ったら、Brocade社に買収され Vyattaは Brocade vRouter になってしまったようですね。今は VyOS Project で開発・メンテが行われている模様です。

実際のインストール・設定ですが、過去に行った Vyatta のインストール・設定と同じでした。vyatta を vyos に置き換えて作業すれば ok!

自分は NAT変換用に使うだけなので一度設定すればconfigの変更はないのですが、ルータお勉強用に色々いじりたい人はすらすらプログラマーさんのVyOS入門を参考にするといいかもしれません。

2016年2月3日水曜日

自分的理想のアンドロイド動画プレイヤーを求めて

ヘッドフォンのケーブルが煩わしく、普段は SONY DRC-BTN40 を使っています。正確にはDRC-BTN40 からのケーブルがあるので、完全にワイヤレスというわけではないんですが。過去ブログを見たら、2年以上も使っているんですね。電池の劣化も感じられず、いい買い物だったとしみじみ思います。

タブレットもレシーバも apt-X非対応のため、どうしても訪れが生じるため、音のオフセット調整ができる動画プレイヤーを使っています。自分が調べた限りでは

の 3種類が見つかりました。各アプリも微妙に得手不得手があり、これだ!! という決定版を決め切れていません。

現在使用のタブレット YOGA TABLET 8 のメニューがソフトキーということもあり、メニュー表示時の微妙なずれが気になったりもします。ハードキーであれば、問題にならないんですけどねぇ...

YouTube からテストパターンの動画を入手し、各プレイヤーで再生時とメニュー表示時の画面遷移をアニメーションgif にしてみました。

 

BSプレイヤー
 動画再生時はメニューバーを隠すことができるので、再生時はメニューバーの存在が気にならない。しかしながら、メニューを表示させるとメニューバーの高さ分だけ上方に移動する点が不満。

bs

 

Dice Player
 再生時もメニュー表示時も画面のずれは無。決めきれない理由は後ほど

dice

 

Kodi
 メニューバーを隠す設定は見つかりませんでした。常時表示のため、画面のずれは発生しません。とはいうものの、メニューバーが気になり出すと意外に目障り。

kodi

 

2016/02/03 現在

  BS Player DicePlayer Kodi
メニューバー
安定度
mkv (字幕・音声) ×

 

自分の好み的には Dice Player なんですが、自環境においての安定度が今ひとつです。再生中、急にアプリが落ちてしまうことが多い。視聴後、30分を過ぎると落ちるケースが散見。1年以上更新もありませんし、もしかすると開発終了なんですかねぇ。

だったら BS Player でいいじゃん、ということで使っていたのですが先日更新された 1.26.186 で Audio offset の調整が変になりました。設定は変えていないのみ音ずれが... 設定し直すも上手くいかず。

そんなこんなで最終的に Kodiを使うことになりました。
とはいうものの、UI が使いずらかったり一体どうやって設定するのか分からないところが多々。少しずつ自分好みに変えていこうと思います。ジェスチャーも無いみたいなので、アドオンでどこまでいじれるかも試そうと思います。

後、使うことは滅多に無いのですが、mkv変換し二カ国語・字幕選択が可能なファイルを HanBrakeで作り、各プレイヤーで再生をさせてみました。まともに言語選択と表示切り替えができるのは Kodiだけでした。

mkvファイルはPC や他のアンドロイドアプリ(VLC、MX Player)だと正常に再生できるので、ファイルが変ということは無いと思います。

アイコンが嫌いなんですが、VLC が音声オフセット対応してくれたらと 1年以上待っているんです。リクエストには上がっているし、対応リスト(Mediumの17番)にも載っているんですけどねぇ...

2016年1月29日金曜日

Appsyncを入れてみる

IMG_0010


ガラケーレベルで使おうとは思っていますが、せっかくなのでいくつかアプリは入れておきたいところ。

しかし、App Centerからアプリを入れよう思ったのですが iOS7 以上を要求するアプリが多い。

旧バージョンの ipaファイルだったらいけるらしいので、iPhoneteqさんのブログを参考にAppsyncを入れてみることにした。

ついでに Passwordpilot も入れておきました。とはいえ、App Store から落とせる IOS6用のアプリはとても少ないんですけどね(笑)


 

リポジトリの追加なんですが、 http://sinfuliphonerepo.com/ に現在は無いようでしたので http://repo.hackyouriphone.org/ にあった AppSync (5.X -> 9.X) っての入れてみました。

ちなみに URLをクリックすると Cydiaが起動して、リポジトリの追加が行えるハイパーリンクにしてみました。ちょっと楽ちんかな。

後は iOS6用の ipaファイルをどこから拾ってくるかですね。受け入れ準備は完了していますが、弾がないと何もできない。何を入れるかも吟味しないと。

2016年1月26日火曜日

今更ですが iPhone 3GS の脱獄とSIMフリー化

MRワゴンにはパイオニアのDEH-P640というメインユニットを付けてあります。mp3化した曲をmicroSDに入れ、グリーンハウスの microSD → USB変換アダプタを使い接続しています。出っ張りも少なく、前面接続のDEH-P640にはベストマッチです。

とはいうものの、USB接続だとフォルダーリピートに設定しておいても、フォルダーを移動するとオールリピートになるといった困った仕様があります。

iPod or  iPhoneを接続して再生させると、困った仕様もカバーできるらしいと聞いたので iPod Touchの中古でもと思って探してみました。会社貸与の業務用スマホが iPhone 5 なので、操作が同じ iPod Touch をターゲットにしました。

ところが意外にiPod Touchって高いのですね。そこで白ロムのiPhone 3GS(Touch的には第3世代ですね。)を買って使うことにしました。背面の丸っこさがかわいい (^^;)

使っている内に、自分の携帯はこいつでもいいんじゃない? って気になってきました。データ通信は会社貸与スマホ使えばいいし、ガラケー感覚でiPhone 3GSを使うのもいいかなと。

自分の契約はドコモなんで、当然そのままでは使えないです。というわけで脱獄→SIMフリー化をすることにしました。

古い機器ということもあり、情報はふんだんにあります。自分が参考にしたサイトは寮さんの無駄遣いの帝王にあった【覚書】超今更のiPhone3GS のSIMフリー化です。記事に沿って作業をしただけですので、本ブログではハマリ点・自分的備忘録を書いておきます。

 

【DFUモードへの遷移】
最初は上手くDFUモードに遷移できませんでした。分かれば簡単なのですが、次の手順でやればバッチグ~(死語)

  1. PCにiPhoneを接続し、本体の電源を切っておく。
  2. スリープボタンを押す。
  3. 2秒後ぐらいにアップルマークが出るので、スリープボタンを押したままホームボタンを押す。
  4. 10秒後ぐらいにアップルマークが消えるので、2秒後ぐらいにスリープボタンを放す。
  5. 15秒後ぐらいにホームボタンを放す。

 

【新旧ブートロムの確認】

  1. DFUモードに入る。
  2. デバイスマネージャーで「ユニバーサル シリアル バス コントローラー」→「Apple Mobile Device USB Drive」→右クリックでプロパティ
  3. 「デバイス インスタンス パス」の右端を確認。バージョンが書かれています。
    BootROM
    自分の場合は 359.3.2なので新ブートロム。

製造番号から確認する方法もありますが、上記方法が確実かと。DFUに遷移する練習にもなりますし。

ただし、SIMフリー化の条件が2011年33週以前に製造されたことが必須になります。SIMフリー化をしたい場合はシリアル番号の確認が必要になります。左から3桁目が製造年、4・5桁目が週を表します。xx134以降のシリアル番号の場合はSIMフリー化にすることはできません。

 

【仮脱獄用iOS入手先】

リンクが切れていたので、自分はTools 4 Hackからダウンロードしました。ファイル名で検索すればたくさん見つかると思いますので、お好きなところから入手してください。

 

【iTunes】

自分は 11.0.5.5を使いました。

 

【Cydiaのアップデート】

IMG_0004


Close Cydiaをタップすれば元に戻るはずですが、ここで固まってしまいました。もしかすると、長い時間待っていればよかったのかもしれませんが。(10分ぐらいは待ったんですけどね。)

仕方がないのでリセット(スリープボタンとホームボタンを同時押しで画面に白いアップルロゴが出るまで押す)しちゃいました。

再度、Cydiaを起動するとつれないメッセージが...

 

 

 

IMG_0005


どうもデータベースが壊れている(?)ようです。グーグル先生に尋ねると

/var/lib/cydia/metadata.plist
/etc/apt/sources.list.d/cydia.list

を削除するといいらしい。i-Funboxで削除するも回復せず。

ちなみに /var/lib/cydia/metadata.plist は存在しておりませんでした。

Cydiaを終了し、メッセージ内の /etc/apt/sources.list.d/saurik.list を削除してみました。

 

ありがたいことに正常起動するようになりました。 正常起動後saurik.listの内容を確認しようと思ったのですが、なぜかありません。作業時のテンポラリで、終了すると消えちゃうファイルなんでしょうか? まぁ、正常起動するようになったので悩まないことにします。

 

【脱獄&simuフリー化完了】

IMG_0008


一連の作業が終わったので、自スマホのSIMを入れて動作確認。問題なくソフトバンクの iPhone 3GS でドコモのSIMが動いております。

自宅はFOMA+でないと電波が入らないのですが、3本ほど掴んでいるので iPhone 3GSはプラスエリア対応だったんですね。

Windows Live Witer 2012 で Bloggerの修正・更新ができない!

2016012600137
久しぶりにブログを更新しようと思い、記事の作成→投稿をするもエラーが発生。何が起こっているのかさっぱり分からなかった。

 

 

色々調べてみると、Blogger側で認証方式が変わり、Windows Live Writer 2012 は対応していないことが判明。後継の Open Live Writer でないと駄目なのね。

さっそくOpen Live Writerをインストール。作成した記事はどうなっちゃうの? と、思っていたがローカルに保存した記事はそのまま使える→ちょっとラッキー。事なきを得ました。

ローカライズはバージョン0.5.1.4ではされていない。まぁWindows Live Writer 2012 と同じ操作感なので、特に困るところはないのが救いか。