SlackのIncoming Webhookを使う
json形式でWebhook用のURLにPOSTするだけ。
1 | import os |
Slackの設定
SlackのAppからIncoming WebHooksを選択。
Appディレクトリで確認する。
Slackに追加。
投稿先のチャンネルを選択。
Webhook URLを取得する。
json形式でWebhook用のURLにPOSTするだけ。
1 | import os |
SlackのAppからIncoming WebHooksを選択。
Appディレクトリで確認する。
Slackに追加。
投稿先のチャンネルを選択。
Webhook URLを取得する。
gmailの場合、SMTPサーバはsmtp.gmail.com:587
で設定する。
1 | import os |
SMTPでメール送信を行う設定をせずに送信するとエラーになる。
1 | smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepted. Learn more at\n5.7.8 https://support.google.com/mail/?p=BadCredentials xxxxxxxxxxxxxxxx.xx - gsmtp') |
標準で無効になっている、安全性の低いアプリのアクセスを有効にして送信可能にする。
パスワードはGmailアカウントのパスワードを使用する。
2段階認証を有効にして、アプリパスワードを発行する。
パスワードはアプリ用パスワードとして発行した16桁のパスワードを使用する。
SMSか音声通話で2段階認証プロセスを有効化する(ここでは音声通話)。
認証アプリケーションを設定する。
アプリ用パスワードを発行する。
SMTPHandlerを使ってERRORレベルのログをメール送信する。
1 | import os |
実行するとrootで設定したINFOレベル以上のログをlogging.StreamHandler
で表示。
1 | $python log_to_mail.py |
ERRORレベルのログはSMTPHandler
でメール通知。
error log
2020-04-19 00:18:11,840 - __main__ - ERROR - Error log message
バックエンドとして各種OSのパスワード機構を使える
- macOS Keychain
- Freedesktop Secret Service supports many DE including GNOME (requires secretstorage)
- KDE4 & KDE5 KWallet (requires dbus)
- Windows Credential Locker
Linuxの場合、GnomeかKDEが稼働しているホストでなければならない。
python:3-slimベースのContainer上ではNoKeyringError
になる
1 | $keyring |
Windows資格情報に対する追加・削除・参照ができる。
1 | import keyring |
実行結果
1 | PS > python .\keyring-test.py |
プロセスがクラッシュしたときのダンプはユーザモードダンプで取得できる。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps
というキーに設定する。
値 | タイプ | デフォルト | 内容 |
---|---|---|---|
DumpFolder | REG_EXPAND_SZ | %LOCALAPPDATA%\CrashDumps | ダンプ保存先 |
DumpCount | REG_DWORD | 10 | ダンプファイルの最大数 |
DumpType | REG_DWORD | 1 | 0:Custom dump, 1:Mini dump, 2:Full dump |
CustomDumpFlags | REG_DWORD | … | カスタムダンプのオプション |
CustomDumpFlagsはデフォルトでMiniDumpWithDataSegs | MiniDumpWithUnloadedModules | MiniDumpWithProcessThreadData
。
これらを設定することによって、ユーザモードダンプファイルを取得できる。
BadAppというソフトでプロセスのクラッシュを再現できる。
実行するとDumpFolderにはBadApp.exe.2112.dmp
というファイル名で生成されていた。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\実行ファイル名.exe
というキーに設定する。
再起動しなくてもレジストリ設定を行えばすぐ反映される。
クラッシュしないが意図しない挙動のプロセスのダンプをとりたいこともある。
タスクマネージャーのプロセス一覧から対象プロセスを右クリックするとダンプファイルの作成というメニューがあり、作成できる。
これはC:\Users\<ユーザ名>\AppData\Local\Temp\
に生成される。
めも
募集中