Skip to content

Blog

CentOS7 で SNMP Trap を受信出来るように設定する

CentOS7 で SNMP トラップを受信出来るよう、デーモンをインストールする手順をメモしておきます。 以前に SNMPTrap テスト用の Docker イメージというメモを書きましたが、常時、トラップを受信出来るようにしておくのであれば(都度、コンテナを利用するよりも)こちらの方が便利ですので、ケースに応じて使い分けると良いと思います。

Cisco ACI でデプロイされている VLAN 数を確認する

Cisco ACI でデプロイされている VLAN の総数は vsh_lc から show system internal epmc vlan summary を実行すると確認出来るようです。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
aci-leaf# vsh_lc -c 'show system internal epmc vlan summary'
vsh_lc -c "show system internal epmc vlan summary"
VLAN Summary
    Infra BD Count                                : 1
    Tenant BD Count                               : 6
    External BD Count                             : 0
    FCOE BD Count                                 : 0
    FD VLAN Count                                 : 6
    FD VXLAN Count                                : 0

    Total VLAN Count                              : 13

Cisco ACI で EndPoint の学習状況をリアルタイムで監視する

Cisco ACI の Leaf で Endpoint の学習状況を確認する場合、WebUI であれば EPG の Operational を見ます。 しかし、この方法では該当の EndPoint しか確認することが出来ません。 CLI であれば /var/log/dme/log/epm-trace.txt から確認出来ます。 例えば 192.0.2.1 というアドレスの学習状況を監視するのであれば該当 Leaf に SSH アクセスし、以下のように実行します。

1
tail -f /var/log/dme/log/epm-trace.txt | grep '192.0.2.1'

Cisco ACI で MTU の値を設定する

Cisco ACI で L2 MTU の値はデフォルトで 9,000bytes です。 変更するには以下を辿り、MTU Size for Tenant L2 Trunk Ports (bytes) の値を変更します。 この値は 576 〜 9,000 の間から指定します。 インターフェイス個別に設定することは出来ず、ファブリック全体で一意な値になります。

  • Fabric
    • Fabric Policies
      • Global Policies
        • Fabric L2 MTU Policy

実際の WebUI は以下の通りです。 今回は 3.0(1k) で試しています。

Poderosa から WSL を利用する

macOS だと iTerm が非常に使いやすいのですが、Windows ではターミナルエミュレータ毎に一長一短に感じます… 自分でソースコードを書き換え、オレオレ仕様にカスタマイズ出来ると便利なので、Windows ではソースコードが (私にとっては) 読みやすい Poderosa を使うことにしました。 Poderosa には「商用」と「OSS」のふたつがありますが、私が利用しているのは OSS 版です。

今回は Poderosa から WSL (Windows Subsystem for Linux) を利用する方法をメモしておきます。

C# で UI コントロールにスレッドセーフなアクセスをする

Windows Form アプリケーションを作成する際に UI コントロールへスレッドセーフにアクセスするには一工夫、必要です。 例えば TextBox に文字列を設定する場合、C# だと以下のように書けます。 InvokeRequiredInvoke が必要な場合は MethodInvoker を使います。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
private void SetText(TextBox txtBox, string text)
{
    if (txtBox.IsDisposed) return;
    if (txtBox.InvokeRequired)
    {
        this.Invoke((MethodInvoker)delegate { SetText(txtBox, text); });
    }
    else
    {
        txtBox.Text = text;
    }
}