Blog¶
Markdown を Marp で PDF や PowerPoint へ変換する
Marp を使うと Markdown で書いたドキュメントを HTML や PDF、PowerPoint などの形式で出力することが出来ます。 今回は Marp CLI を使って Marp の出力例を確認してみました。
今回は利用していませんが、実際に Marp を利用するには VSCode に Marp for VS Code を追加し、リアルタイムプレビューを活用しながら編集するのが便利です。
尚、Marp で生成した PowerPoint は直接、そのまま編集は出来ない点に注意です。 どうしても編集したい場合は「Marp から PDF で出力し、それを Adobe Acrobat などで PowerPoint 形式でエクスポートする」ことで編集出来るそうです (実際の動作は未確認)。
IOS-XE (IOL) で IPv6 + EIGRP を設定する
IOS-XE で動作する IOL を使い、IPv6 + EIGRP を構成したコンフィグ例などをメモしておきます。
Python で CiscoConfParse2 を使って Cisco コンフィグから必要部分を抽出する
Python の ciscoconfparse を使うと Cisco 機器のコンフィグファイルから必要な箇所を抽出することが出来ます。 このライブラリに関して以前に以下のメモを書きました。
このライブラリは後継になるバージョン 2 が別パッケージとしてリリースされています。
バージョン 1 のページには「バージョン 2 へアップグレードすべき理由」として下記の記載があります。
- It supports all major network vendor text configuration files (Arista, Cisco, F5, Juniper, Palo Alto)
- It supports searching across any number of configuration levels (ciscoconfparse only supports two config levels : a parent and child)
- It adds a string methods so you don't need to use regex matching if you don't want to
- It adds a CLI command
- Revamped documentation
- It simplifies the user interface and fixes broken ciscoconfparse default parameters (this could require changing old scripts using the original API)
- It intentionally uses a new python import to minimize confusion between itself and the original
今回は ciscoconfparse2 のチュートリアルページに掲載されている簡単な使い方をメモしておきます。
Python の python-dotenv で設定ファイルから値を読み込む
python-dotenv を使うと ini ファイルのように Key/Value 形式のファイルから値を読み込むことが出来ます。 今回は python-dotenv の使い方をメモしておきます。
Apple デバイス間でのクリップボード共有を無効化する
ユニバーサルクリップボードを使って Apple デバイス間でコピー&ペーストする に記載されていますが、Apple 製品には同じ Apple ID でログインしているデバイス間でクリップボードを共有する「ユニバーサルクリップボード」という機能があります。 デフォルトで有効化されていますが、この機能を無効化する方法をメモしておきます。
ThousandEyes のアラートを Microsoft Teams へ通知する
以前に Microsoft Teams へ Workflow として Webhook を設定する で言及しましたが Retirement of Office 365 connectors within Microsoft Teams に記載されている通り、Microsoft Teams へ Connector 経由の Incoming Webhook でのメッセージ受信はサポートされなくなり、今後は Power Automate による Workflow でのメッセージ受信へ移行していくことになります。 ですが ThousandEyes の Custom Webhook で用意されているデフォルトテンプレート に記載した「ThousandEyes の Custom Webhook で Microsoft Teams へメッセージ送信するプリセット」は今後は廃止される Incoming Webhook を前提したものになっており、少なくても現時点で Workflow に対応したプリセットは用意されていません。 つまり、ThousandEyes 上で Microsoft Teams へのアラート通知を行うには現状、以下の整理になります。
| 新/旧 | 通知方法 | プリセット設定の有無 | 備考 |
|---|---|---|---|
| 古 | Connector による Incoming Webhook | 有り | 事前準備されているプリセットを利用可能 |
| 新 | Power Automate による Workflow | 無し | (プリセットが無い為) 手動設定が必要 |
そこで今回は手動で ThousandEyes に Custom Webhook を設定し、Power Automate による Workflow へアラートを通知する設定方法をメモしておきます。
Python で PlantUML の作図を行う
Plantweb は Python ベースで PlantUML ライクな作図を実行出来るツールです。 今回は Plantweb を使って作図する方法をメモしておきます。
Ubuntu 24.04LTS の rsyslog でリモート機器の Syslog メッセージを受信する
Ubuntu 24.04LTS はデフォルトで rsyslog サービスが動作していますが、514/UDP や 514/TCP を Listen しておらず、リモート機器から送信された Syslog メッセージは受信しません。 そこで今回は以下の方針で rsyslog を設定する方法をメモしておきます。
- 受信した Syslog メッセージはリモート機器毎に異なるファイルへ保存する
- ログファイルは
/var/log/rsyslog配下に作成する - リモート機器には Cisco IOS-XE 機器を使う
Ubuntu24.04LTS で /var/log/messages にログを記録する
Ubuntu24.04LTS はログを journald で取得しており、デフォルトでは /var/log/messages にメッセージを残しません。 rsyslog を使って /var/log/messages にログを残す手順をメモしておきます。