【Linux】Cisco機器のログをCentOS8に同期させる方法を解説します

CiscoIOS

はじめに

Cisco機器のログをCentOS8に同期させる方法を紹介します。rsyslogの設定ファイルの編集、firewallの許可設定、Cisco機器の設定がありますが、1つ1つは大変な作業ではありません。Cisco機器のログが実際にサーバーに書き込まれるまで見ていきたいと思います。

環境設定

今回は以下のような環境を構築したいと思います。

構成図

ネットワーク構成図

※Zabbixでログを取得する検証を行ったので、今回はその検証環境を例に、ログの同期の方法をご紹介しします。今回の記事ではZabbixの機能は全く関係ありません。Zabbixに興味がある方は、是非他の記事をどうぞ。 Zabbixの記事一覧→ https://www.ricecake24book.com/category/zabbix/

機器情報

【Zabbix01】OSはCentOS8。繰り返しになりますが、Zabbixはログ同期に必須ではありません。

【PC01】Zabbix01をVMware上で構築しているホストOS。OSはWindows10。

【rt01】監視対象のルーター。機器はCiscoのCisco1921/K9 。

【sw01】監視対象のスイッチ。機器はCiscoのCatalyst2960。

【sw02】監視対象のスイッチ。機器はCiscoのCatalyst2960。

設定手順

以下の手順は、上記の環境でICMP(ping)で疎通ができていることを想定しています。上記環境を作る手順については、別で紹介しています。

rsyslogの設定

まず、rsyslogの設定方法から紹介していきます。

rsyslogの設定はrsyslog.confを編集します。

編集する箇所は2点です。

まず、以下が初期設定ではコメントアウトされているので、コメントアウトを消去します。

次に以下の内容を追記します。ログサーバーがログを同期した際にログを格納する場所を、以下のように設定します。

今回はZabbix用のログ監視なので、上記のようなファイル作成しています。

今回の指定するログの格納先はデフォルトでは存在しないディレクトリなので、必要に応じて作成します。なお、ログファイル自体は自動で作成されます。

firewallの設定

次にCentOSのfirewallの設定をします。デフォルトではudp(514)は許可されていないので、許可します。

「firewall-cmd –list-all」コマンドを実行した時に、「services: cockpit dhcpv6-client ssh syslog syslog-tls」という表示が出てきています。syslogが許可されています。

SELinuxの設定確認

たまにSELinuxが原因でうまくいかないこともあるので、確認しておきます。

udp(514)は許可されているようなので、問題なさそうです。

rsyslog.serviceを起動する

ログを同期するために必要な設定が最低限できたので、rsyslogを起動させます。

Active: active (running)となっているので、rsyslog.serviceが起動しました。

Cisco機器の設定

Cisco側の設定はあまり多くないです。ログ同期について調べると「logging on」というコマンドを実行していないこともありますが、私が検証した時にはlogging onを実行したらうまくいったので、掲載しておきます。

rt01の設定

sw01の設定

sw02の設定

これで必要な設定は終わりです。

ログを発生させてみる

実際にログを発生させて、ログが発生しているか見てみたいと思います。

今回はsw01とsw02の23番ポートをshutdownさせます。

ログが発生しているかを見ます。

Cisco側のログを見る場合、以下のコマンドを実行します。

CentOS側で見る場合、以下のコマンドを実行します。

両方で同じログが見ることが出来ていれば、同期成功です!

その他(補足)

上記の手順でできない場合は、再起動や設定を消して再度実行するなどやってみると、解決することがあります。個々の環境で様々ですが、参考程度に試してみてください。

ログ転送設定の後の話

ログ転送設定が完了すると、当然指定したログファイルにログが追加され続けます。このまま放っておくと、ファイルの容量がじわじわと増え続けます。ディスクの容量を圧迫するほど膨大になることはなくても、ファイル容量が大きくなりすぎると開くだけでも時間がかかるようになります。

ログローテーションさせよう!

過去のログをすぐに消してしまうのは困るけど、ある程度の期間が経過したら削除したい。そんな時はログローテーション設定をして、過去のログを適切に管理しましょう。以下の記事で実際に設定した際の記録を紹介しているので、参考にしてみてください!

タイトルとURLをコピーしました