ksaitoの日記

日々試したことの覚え書き

Native Win32 ports of some GNU utilities

移転しました。

自動的にリダイレクトします。

Cygwinは、Windowsで使えるGnu環境ですが、セットアップに時間がかかる割に特殊なパス指定で今ひとつ使わなくなってしまいます。
Windows上でgrep/awk/sed/tailといったツールを簡単に使いたいという場合にぴったりなのがNative Win32 ports of some GNU utilitiesです。

インストール

Native Win32 ports of some GNU utilitiesからUnxUpdates.zipをダウンロードして適当なディレクトリに展開します。
あとは、PATHを設定するだけです。

使えるコマンドと残念ながらないコマンド

ログの監視に便利なtail -fが問題なく使えます。
awk/sed/cut/join/sortといったおなじみのコマンド、makeも使えます。

非常に残念ながらwatch/tar/bashは、含まれていません。

Zabbixからリモートコマンドとして利用する

zabbix_agentdからリモートコマンドとして使うには、システムの環境変数にPATHを設定してWindowsを再起動する必要があります。
これは、Windowsサービスは、起動時に1回だけPATHを読み込むためです。
netstatの結果からESTABLISHのコネクション数を返すアイテムを追加する場合には、zabbix_agentd.confに次のように書くことができます。

C:\bin\zabbix>tail -1 zabbix_agentd.conf
UserParameter=netstat.establish,netstat | grep ESTABLISH | wc -l | tr -d " "

C:\bin\zabbix>

マシンを再起動しないと下記のようにコマンドが見つかりません。

$ zabbix_get -s winxp.sa.local -k netstat.establish | nkf -S -w8
'grep' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
$ 

パスが正しく設定されていれば、再起動すると動作するようになります。

$ zabbix_get -s winxp.sa.local -k netstat.establish
4
$