Asterisk ログファイルのソースを表示
←
Asterisk ログファイル
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます: メール確認された利用者、
管理者
。
このページのソースの閲覧やコピーができます。
[[カテゴリ:Asterisk]] Asteriskのログファイルについて ==ログファイル== デフォルトの設定では/var/log/asterisk/messagesに、ログレベルnotice, warning, errorが出力されます。<br> ログファイルの設定は/etc/asterisk/logger.confで行います。 <nowiki># /etc/asterisk/logger.conf [logfiles] messages => notice,warning,error</nowiki> noticeレベルログとして認証失敗も記録されるため、Asteriskをインターネットに公開していると、膨大なログが出力されます。<br> [[SIP-Fail2ban|Fail2ban]]を使用していても、しつこい攻撃者がいると、ログが増えていきます。<br> ログファイルを置くvarパーティションが溢れないようにログファイルの管理を行う必要があります。 ==ログの記録レベルを変更する== 必要がなければ、ログの記録レベルを落として出力を減らすのも、1つの手段です。<br> /etc/asterisk/logger.confのlogfilesセクションにて、上記の例にならいログレベルをカンマ区切りで記載します。<br> レベルとしてはdebug, trace, notice, warning, error, verbose, dtmf, fax, securityが記載できます。ログレベルとして「*」を使用すると、全ログレベルを意味します。<br> また、ログレベルの前に[json]を付与するとJSON出力が可能です。 <nowiki>full-json => [json]debug,verbose,notice,warning,error,dtmf,fax</nowiki> '''警告:debugログレベル及びこれを含む*ログレベルを使用すると、極めて多量のログが出力されます。運用モードではdebugログを出力しないことを強く勧めます!'''<br> '''Fail2banを使用している場合は、ログ出力のレベルを変更すると動作に影響を及ぼす恐れがあります。注意して変更してください。''' 設定ファイルを変更したら、[[Asterisk CLI]]でlogger reloadを行うと変更が反映されます。 ==自動でログをローテートする== Asteriskには、内蔵のログローテート機構があります。<br> ===ローテートの仕方の設定=== ログのローテートのファイル名の付け方をlogger.confの[general]セクションで設定できます。<br> <nowiki>[general] rotatestrategy=sequential</nowiki> ; none : 全くローテートを行いません。 ; sequential(デフォルト) : ローテートするたびに、最も新しいログファイルのファイル名の通し番号が最も大きくなるように変名します。 ; rotate : ローテートするたびに、過去のログファイルのファイル名の通し番号を1ずつ増やし、最も新しいログファイルの末尾の数字を0とします。 ; timestamp : 通し番号の代わりにタイムスタンプを使用します。 sequentialとrotateの違いが分かりにくいですが、例えば「messages」ログファイルを今、ローテートするとして、既にmessages.0 messages.1 messages.2がある場合、 ; sequential : ローテートすると、messagesはmessages.3に変名されます。0~2はそのままです。 ; rotate : ローテートすると、messages.2はmessages.3に、messages.1がmessages.2に、messages.0がmessages.1に変名され、messagesはmessage.0に変名されます。 その後、新しいmessagesが作られ、ローテート後はこの新しいmessagesに書き込まれます。 ===古いファイルを自動で消す=== varパーティションが溢れないようにするためには、古いファイルを自動で消す必要があります。<BR> 古いログファイルを4世代保持しておき、古いファイルから消していくためには、[general]セクションで次のように設定します。<BR> ''記載途中'' 設定ファイルを変更したら、[[Asterisk CLI]]でlogger reloadを行うと変更が反映されます。 ===ローテートの実行=== ログのローテートそのものは、[[Asterisk CLI]]でlogger rotateを行うと実行されます。<br> そこで、systemdの下で定期的にログローテートを行うためのユニットファイルの一例を示します。 <nowiki># /etc/systemd/system/asterisk-logrotate.service [Unit] Description=Asterisk log rotate Requires=asterisk.service [Service] Type=simple #User=asterisk #Group=asterisk ExecStart=/usr/sbin/asterisk -rx 'logger rotate'</nowiki> <nowiki># /etc/systemd/system/asterisk-logrotate.timer [Unit] Description=Asterisk log rotate timer [Timer] OnCalendar=Mon *-*-* 04:00:00 RandomizedDelaySec=300 Persistent=true [Install] WantedBy=timers.target</nowiki> 設定したら、systemdにユニットファイルをリロードさせ、タイマーを始動します。 <nowiki># systemctl daemon-reload # systemctl start asterisk-logrotate.timer # systemctl enable asterisk-logrotate.timer</nowiki> 手動で1回ローテートしてみようと思う場合、次を実行します。 <nowiki># systemctl start asterisk-logrotate.service</nowiki> ==外部の機構によりログをローテートする== 上記はAsterisk内蔵のログローテート機構によるローテートを説明しました。logrotate等、外部のログローテートツールを使用してログローテートを行う方法もあります。<BR> その場合の詳細は割愛しますが、[https://www.voip-info.org/logrotate/ voip-info.org]等には参考となる情報があるようです。<BR> 外部のログローテートツールによる場合でも、ローテート後にはCLIからlogger reloadを実行すればAsteriskはログを開き直すようです。
Asterisk ログファイル
に戻る。
ナビゲーション メニュー
個人用ツール
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
ヘルプ
広告
サイトコンテンツ
コミュニティ
Asterisk
Asterisk 18
Asterisk 20
Asterisk 22
IP電話機
購入情報
導入事例
回線接続
ベンダー
ひかり電話
セキュリティ
イベント情報
スペシャル
Asterisk pjsip
ABS
黒電話 ハック
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報