見出し画像

TWSNMP開発日誌:モバイル版のsyslogサーバーテスト機能開発中にsyslogのフォーマットで悩む

今朝は4時半から開発開始です。
昨日途中だったモバイル版TWSNMPのsyslogサーバーテスト機能の続きです。いろいろ悩んだ結果、syslogのパラメータを設定してsyslogサーバーへ送信する機能をつくりました。

のような感じです。一通りできたのでTWSNMP FCへ送信してみて
試してみるとTWSNMP FC側で受信できません。
tcpdumpやWireSharkでパケットキャプチャーして調べてみました。
どうやらsyslogのフォーマットが微妙に違っているようです。
フォーマットは、

を参考にしました。
BSD形式ですがTWSNMP FCで受信できるのですが、うまく認識されないようです。パケットは、

うまく認識される他のsyslogパケットは、

でした。一見、同じように見えます。助手の猫が天から
「違いは必ずある!」
と言ったような気がして、2時間ねばって違いを見つけました。
syslogのタイムスタンプの部分のAugと6の間のスペースの数が違っていました。うまく認識するほうは2つ、作っているモバイル版は1つでした。
2つに変更すると認識するようになりました。

赤の矢印が修正前です。緑の矢印が修正後です。スペースの数以外は同じメッセージを送信しています。

IETF形式も正しく認識されません。
こちらは、もう少し厄介な問題でした。
どうやらTWSNMP FCで使っているsyslogのためのGO言語のパッケージに問題があるかもしれません。IETF形式を正しく認識できなないようです。
この問題は、午後から詳しくしらべようと思います。

明日に続く

開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。