hmx-17の日記

技術ネタとかプライベート

TrendMicroのコマンドラインスキャナーがまだ使えた

ウイルスバスター20**くらいについてた、TVScan32.exeというブツがあります。
こいつはTrendMicroのパターンファイルと検索エンジンを使ってコマンドラインスキャナーになってくれるのですが、
久しぶりに発見したので、検索エンジンなどを最新にして使えるか試してみることにしました。
以下の手順はTVScan32.exeが手元にある前提です。
まずJPのTrendMicroのサイトはパターンファイルを配布しないなど、アテにならないので早々に見切りを付けて
TrendMicro USのサイトに行きます。
Download Center | Trend Micro
こちらで VSAPI-NTDLL から始まるファイルをGETして、中身をTVScan32.exeと同じフォルダにコピーします。
Download Center | Trend Micro
次にこちらのサイトから

  • Conventional Consumer Pattern
  • Conventional Enterprise CPR
  • Conventional Enterprise OPR

のどれかを選びます。上記3ファイルの区別は大分古いですが
ユーザエンドパターンファイルx.xxx.80のログを残すようにした - ripjyr's blog
ここを見てみてください。(一部手前味噌があります……恥ずかしい……)
ダウンロードしたファイルをTVScan32.exeと同じフォルダにコピーします

あとは使えるはずです。念のためEICARなどを食わせてみてください!

IoT的な物をしてみたいのでボードを探した話

LTE-MとかSigfoxとか流行っぽいので、触ってみたいということでいくつかボードを探してみた。
お値段は秋月準拠(2020/03/09時点)

SONY Spresense
GNSSレシーバーついてる。超低消費電力らしい。
Spresense 本体 6050円 だけど、Arduinoっぽく使いたければ
Spresense Extend Board 3850円 が必要なので、
1セット9900円

ESP32 1480円
ESP-WROOM-02 650円
ESPの安さよ……Spresense何個買えるんだというレベル

ボードに通信モジュールを付けないといけないので、これも調べないと。

ルンバ980+

我が家ではルンバ980を使っています。
ルンバ i7+は自動でゴミを吸ってくれるらしいのですが、
980は自分でゴミ箱に捨てなければいけません。
そこで、軽く大きなゴミを捨てた後に掃除機で吸えばi7+っぽくなるのでは!?
なんて思って試したら案外良かったので、ルンバ980+と名付けることにしました

オチはありません

ルンバが牧草をよく回収するという話

お久しぶりです。
昨年(2018)から飼っているうさぎに牧草を与えるのですが
ぽろぽろとケージから床に牧草がこぼれてしまうときがあります、
この牧草を人間が回収しようとして、普通の掃除機を持って行って吸っていると
ホースやヘッドに長くて硬い牧草が引っかかって全く吸わなくなることがあります。

まあ、横着して太い牧草を手で拾わないのが悪いっちゃ悪いんですが……
そこでルンバ(980)を派遣したところ、割と綺麗に掃除してくれることが明らかになりました。
ルンバ(AeroForceタイプ)のゴミ吸引の仕組み(下図)を考えると、割と納得かもしれません。
f:id:hmx-17:20191222173048p:plain
まあ、絡まりそうなブラシも、長いホースもなくそのままダストボックスに直結しますからね……
ということで、我が家では草をルンバに吸わせることにしたのでした。

一度Windows Hello for Businessに登録したPCを再インストールするときの注意

ハマりました(挨拶)

Windows Hello for Businessに一度登録したPCをクリーンインストールする際、いくつか注意点があるようです。

  1. TPMを初期化しておく(とても大切)
  2. Azure ADからPCを削除しておく(おまじない?)

1, はtpm.mscTPMを初期化しないと、PCをレジストできないようです。
2, はおまじないなのでやらなくても大丈夫かもしれません。

もしかするとWindows Helloでも同じことが起きるのかも?よくわからんです。
あと、AzureADの同期マネージャはドメインのAdministratorじゃないと基本動かないようです。
(ここもドハマリした)

とりあえずメモ。

ZabbixのヒストリデータをリアルタイムにSplunkへMetricsとしてインポートする方法

はじめに

監視ツールとして大変便利なZabbixですが、forecast関数しかなかったり
他のログとの突き合わせに困るときはないでしょうか。
そんなときには、SplunkにZabbixのヒストリデータを入れてしまいましょう。
ただ、単に入れてもおもしろくないので今回はSplunk 7.0から導入されている Metrics を使います。
(Metrics は通常のSplunkの イベントより高速に統計が取れるそうです)

前提

以下の三つが前提となっています

  • Zabbix Serverが入っていること

v4.0以上でないとリアルタイムエクスポートが動きません。
https://www.zabbix.com/documentation/current/manual/installation/install_from_packages

  • td-agentが入ってること

v3でないと、Splunk HECプラグインのインストールに失敗します。
https://docs.fluentd.org/v1.0/articles/install-by-rpm

  • Splunkが入ってること

v7.0 以上でないと Metrics が作れません。
https://docs.splunk.com/Documentation/Splunk/7.2.6/Installation/InstallonLinux

なお、テスト環境は以下の通りです

  • CentOS 7
  • Splunk 7.2
  • Zabbix 4.2
  • td-agent v3

実作業

そんなわけで、作業をしていきます。

Zabbix Serverの設定

Zabbixの設定
/etc/zabbix/zabbix_server.conf をに以下を追記します。

ExportDir=/var/log/zabbix/
ExportFileSize=500M

追記した後restartするとExportDirの下にrealtime exportされます。
この時の注意としてはExportFileSizeは小さめにしておくのが良いと思います。
(※: ポーラー単位で1ファイル作成される仕様なので
ExportFileSize * ポーラー数 * 2 が最大容量になります
(*2 は指定ファイルサイズを超えるとリネームされるため)
参考:
4 Real-time export of events, values, trends [Zabbix Documentation 4.0]

Splunkの設定

Zabbixのヒストリ用インデックスを作ります
Splunkにログインしてメニューバーより「設定」→「インデックス」を開き、「新規インデックス」をクリックします。
f:id:hmx-17:20190505013319p:plain
インデックス名を入力し、「メトリック」を選択してインデックスを作成します。
f:id:hmx-17:20190505013322p:plain
これでインデックスができました。つぎにHEC(HTTP Event Collector)を作成します。
メニューバーより「設定」→「データ入力」を開き、HTTP イベントコレクタの「新規作成」をクリックします。
f:id:hmx-17:20190505013606p:plain
ざっくりと名前だけ入力します。
f:id:hmx-17:20190505013710p:plain
許可されたインデックスの所で、先ほど作成したインデックスを選択します。
f:id:hmx-17:20190505013744p:plain
これでSplunk側の設定は完了です。

Fluentdの設定

あらかじめ fluent-plugin-splunk-hec を入れます

# td-agent-gem install fluent-plugin-splunk-hec

設定は以下のようにします。

<source>
  @type tail
  format json
  time_key clock
  path {PATH_TO_ZABBIX}/history-*.ndjson

  pos_file /var/log/td-agent/tmp/zabbix-history.pos
  tag splunk.zabbix
 </source>

 <filter splunk.zabbix>
  @type record_transformer
  <record>
    metric_name ${record["host"]}.${record["name"]}
  </record>
 </filter>

 <match splunk.zabbix>
  @type splunk_hec
  hec_host SPLUNK_HOST
  hec_port 8088
  hec_token SPLUNK_HEC_TOKEN
  insecure_ssl true

  index zabbix
  data_type metric
  host_key host
  metric_name_key metric_name
  metric_value_key value
  <fields>
    itemid
    groups
  </fields>
 </match>

in_tailは余りひねりがありませんが、record_transformer を挟んでいます。
これを挟まずに直接流し込むと、メトリクスを見るときにアイテム名が表示されず非常にしんどい思いをします
メトリクス名についてはベストプラクティスを見るとイマイチな感じがしますが、とりあえず動いているのでよしとします。(記号も大丈夫でした)
Best practices for metrics - Splunk Documentation

insecure_ssl についてはテスト用ということで、プロダクション環境で使用することはきちんと検討してください。
(このプラグインHTTPS専用のようです)

Splunkで見る

Fluentd設定を反映したあと、サーチアプリの「メトリクス」から見れます。
あとはSPLを書いて楽しみましょう。

おわりに

とりあえず動く感じにまでは持っていけました。
SplunkはSNMP周りの実装がつらい所があるので、Zabbixと共存出来るようになったのは良いことです。