最初に
職場の皆様にはご迷惑をおかけして大変申し訳ございませんでした。
部ミーティングで懺悔させて頂きます。
事の始まり
ある日、Zabbix自身のトラフィックの流量を確認したいと思いました。
Zabbixなので当然自分自身のメトリクスは収集しているけど、5分間隔です。
もう少し短い1分間隔で見たいと思いました。
なぜかというと、新しく構築された他システムがZabbixの監視データを取得するのですが、負荷試験を行っていないため今後Zabbixに問題が起きないか確認するため負荷試験を提案しようとしているからです。
方法はどうしよう
1. Zabbixのトラフィック取得間隔を1分間隔に変更する。
2. コマンドで取得する。
実はZabbixは本番環境のZabbixなのであまり手を加えたくないです。
なので、コマンドで取得しようと思いました。
コマンド実行
コマンドはifconfigのRx, Txのパケットカウントから確認すればいいかと思いました。
Zabbixにrootでログインしました。 ※反省ポイント1
下のコマンドを実行しました。
# ifconfig ens192 1
あれ?数字の1がなぜか入力されているぞ? ※反省ポイント2
ガクブルの時間
あれあれ??
TeratermのCLIが反応しなくなったぞ?
あれあれ???
Zabbixの画面も見れなくなったぞ??
ZabbixはESX上で動作しているのでvCenterのWebConsoleからアクセスしてみました。
ログインできた!!
コンソールも反応しているぞ!!
デフォルトゲートウェイにPingを打ってみよう、、、届かない。。。
なぜだ???
こんな時のおまじない
# ifdown ens192
# ifup ens192
おお!復旧した!!
ネットワーク疎通が取れていなかったため大量の「Unavailable by ICMP ping」が発火して大量のメールが送付されましたとさ。
反省ポイント1
rootじゃなければ。。。実行されなかったのに。。。
※検証環境で実施しています。
$ ifconfig ens224
ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 0.0.0.1 netmask 255.0.0.0 broadcast 0.255.255.255
inet6 fe80::6ba8:5e2f:1df8:17d2 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:db:d0:68 txqueuelen 1000 (Ethernet)
RX packets 1639131 bytes 103069830 (98.2 MiB)
RX errors 0 dropped 23 overruns 0 frame 0
TX packets 17723 bytes 1440895 (1.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
$ ifconfig ens224 1
SIOCSIFADDR: Operation not permitted
SIOCSIFFLAGS: Operation not permitted
反省ポイント2
知識不足。
⇓のコマンドを実行した時の動作が分かっていないってこと。
# ifconfig ens224 1
$ ifconfig ens224
ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 0.0.0.1 netmask 255.0.0.0 broadcast 0.255.255.255
あれあれ?IP Addressが0.0.0.1になってるぞ??
ifconfigでインターフェースのアドレスを一時的に変更する、ってことを人生でやってこなかったなぁ。大半は/etc/sysconfig/network-scripts/ifcfg-ens224を直接編集してインターフェース再起動。
せめてx.x.x.xの形式以外はエラーにしてほしい。サンタさんどうぞよろしくお願いします。