今回は、リモートのrsyslogへログを送りつける設定について。 (図の左側のrsyslogの設定です) 対向のrsyslog(図の右側)は前回の記事の、リモートからログの受信を受け付けるrsyslogの設定が入ってる前提 zaki-hmkc.hatenablog.com 基本 実は/etc/rsyslog.confにリモート送信のサンプル設定がコメントアウトされてる。 # remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional #*.* @@remote-host:514 (手元のrpm版v8.24では)「forwarding rule」のうしろーーの方に記述されてぱっと見わかりづらいけど、書式はこの通り <ファシリティ>.<ログレベル> @@remote-host.example.org:514 既存設定におけ
auditdのログをrsyslogでリモートホストに転送しようとしたら、ちょっとログが流れるだけでSSHが出来なくなったりとrsyslogが詰まるせいで、auditdも詰まり、プロセスが起動できない状態になりました。 出力プラグインがメッセージを提供できない場合、メッセージはI先行のメッセージキューに保存されます。キューがいっぱいになると、いっぱいでなくなるまで入力がブロックされます。これにより、ブロックされたキューを使用して新しいメッセーがログに記録されることが回避されます。個別のアクションキューが存在しないため、SSH ロギングが阻止され、SSH アクセスが阻止されるなどの重大な問題が発生することがあります。したがって、ネットワークを介して転送される、またはデータベースに転送される出力専用アクションキューを使用することが推奨されます。 auditd自体の設定は何を記録したいかによるので
2008/7/25更新 対応バージョン: 3.18.1 rsyslog.confには多くの設定項目があるが、ここでは主なものを説明する。 その他については公式サイトを参照のこと。 http://www.rsyslog.com/ タイムスタンプフォーマット ログファイルに記録されるタイムスタンプのフォーマットを指定する。 フォーマット指定 $ActionFileDefaultTemplate <フォーマット> <フォーマット> RSYSLOG_TraditionalFileFormat (デフォルト) Mon DD hh:mm:ss 例) Jul 22 20:29:41 host1 kernel: imklog 3.16.1, log source = /proc/kmsg started. Jul 22 20:29:41 host1 rsyslogd: [origin software="
CentOSのログ出力について今まで雰囲気で乗り切っていましたが、いい加減に仕組みを覚えようと思い立ち、手を動かしながら調べてみました。 CentOSのログ出力の概要 CentOSのログ出力は以下の概要図の通りです。journaldとrsyslogが連携して動作しています。 journaldとrsyslogは、システム内に常駐するデーモンプログラムです。サービス名は、systemd-journald.serviceとrsyslog.serviceです。 # systemctl list-unit-files | grep -E "(systemd-journald|rsyslog)\.service" rsyslog.service enabled systemd-journald.service static journaldの役割 journaldは、各ソースからログを受信し、メモリ上
rsyslogd - reliable and extended syslogd 信頼できる拡張された syslogd Remote syslogd ではない(syslogd 時代からリモートからの受信は可能) 設定ファイル 設定ファイルは /etc/rsyslog.conf ですが、このファイルで下記の通りに記述されているので、 $IncludeConfig /etc/rsyslog.d/*.conf /etc/rsyslog.d/ の拡張子 .conf のファイルもマージされます。 /dev/log /dev/log という Unix ドメインソケットに書き込めばログを送ることができます。 echo "<133>$(LANG=C date '+%b %d %H:%M:%S') oreore: XXX" | nc -Uu /dev/log CentOS 6 の nc だと -u と -U
■socatを使ってrsyslogに任意のログを記録する。 テストログを生成する目的は、ログの振り分けのテストか、 ログの加工を行うような正規化のテスト位しか思い浮かばない。 実際にログを出力する対象機器を起動しなくても、 対象機器が既に出力したログがあれば、socatによるTCP/UDP通信なら再現出来る。 $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 9.4 (stretch) Release: 9.4 Codename: stretch ■まずは簡単なloggerコマンドを使用する。 $ logger -V logger from util-linux 2.29.2 $ logger testmsg;sudo tail -1 /va
前回に引き続き、systemd-journald(以下、journald)について解説します。今回はrsyslogとの関わりを中心に、journaldを見ていきます。 journaldによるログの受信とrsyslogへの転送 systemd環境ではjournaldがシステムやサービスのログを一手に集めています。一方で、Ubuntuでは従来からのログ収集・格納サービスであるrsyslogが現在も稼働しています。おそらく、後方互換性のためと筆者は考えています。 詳しくは後述しますが、実際にはsystemd環境ではjournaldがまずシステム上のログを受け取り、必要に応じてrsyslogへログを転送しています。 たとえば、journaldは/dev/kmsgを通じてカーネルログを集めていますし、/dev/logより従来のsyslog宛てのログも集めています。もちろん、ネイティブのjournal
これまで何度かHAProxyを試してきたのですが、実はログ出力ができていませんでした。 今回は、HAProxyでログ出力を行ってみたいと思います。 試すにあたり、このあたりのエントリを参考に。 参考) HAProxyを使い始めてみる HAProxy のログのメモ - ngyukiの日記 CentOS で HA Proxy のログが取れなくてドハマりした記録とログフォーマットについて 割とsyslog(というかrsyslog)を使うのが、オーソドックスな感じなのでしょうか? これに習ってみましょう。 前提 環境は、Ubuntu Linuxにapt-getインストールしたHAProxy 1.6.3を対象とします。また、rsyslogもapt-getでインストール するものとします。 rsyslogのインストール。 とりあえず、簡単にapt-getで。インストールしたら、rsyslogを起動して
今回は RDB サーバや HTTP サーバを冗長化する際にロードバランサと共に用いられることが多い HAProxy のログを rsyslog と logrotate を使ってローテーションする際の設定について書く。 検証用の環境には CentOS7 を使った。 $ cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core) $ uname -r 3.10.0-229.11.1.el7.x86_64 HAProxy を設定する まずは HAProxy と rsyslog をインストールする。 $ sudo yum -y install haproxy rsyslog 今回は HAProxy を動かすこと自体が目的ではないので設定はデフォルトの状態をそのまま使う。 デフォルトではログは syslog を使って localhost に
どうも。systemd シンパです。 で、rsyslogd がいない Ubuntu でデフォルト設定よろしく /var/lib/haproxy に chroot などしていると、/var/log/haproxy.log が出ません。 # cat /etc/haproxy/haproxy.cfg global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners stats timeout 30s user haproxy group haproxy daemon ... # cat /var/log/haproxy.log cat: /var/log
postfixのログをsyslogに書き込まないでmail.logだけに書き込む設定 postfixは、メールがどこから来てどこに送ったのかを細かくログファイルに記録します。しかし同じ記録をmail.logだけではなくsyslogにも書き込むのが難点です。これは、無駄というだけではなく、syslogの大事な記録がメールログに埋まってしまい見落としてしまいます。 メールログが二ヶ所に記録される理由 syslogとmail.logに書きたすのは、rsyslogプログラムです。postfixからmailという属性のログが送られてくるので、そのログの属性と優先順位に応じてrsyslogが適切なファイルに書き込んだりします。 Ubuntuを例にするとrsyslogの設定ファイルは次のようになっています(不要な部分を省略しています)。 # cat /etc/rsyslog.d/50-default.c
多くのLinuxディストリビューションで採用されているsyslogサービス「rsyslog」は現在でも活発に開発が進められており、ネットワーク経由でのログ転送だけでなくログの整形や柔軟な条件分岐、さまざまなデータベースへのログ出力サポートといったさまざまな機能が追加されている。本記事ではまず入門編として、このrsyslogの基本的な機能や設定方法について紹介する。 クラウド環境ではログ収集手法の検討が必須 昨今ではサービスのインフラとしてクラウドサービスやコンテナを利用するケースが増えている。こういったクラウドサービスでは、インスタンスを削除すると、そのインスタンスに割り当てられていたストレージは消滅してしまうことが多い。一部のクラウドサービスではストレージを削除せずに残すことも可能だが、その場合別途コストがかかるのが一般的だ。Dockerなどのコンテナでも同様にコンテナの削除後はそのコン
今使っているCentOS 7のサーバでは、journalからのログをrsyslogを使って振り分けているのだが、どうもログが出力されていない状態になった。で、調べたところ「/var/log/messages」に以下のようなエラーが出ていた。 Apr XX 17:XX:21 localhost journal: Suppressed 529 messages from /user.slice/user-1000.slice これは、rsyslogのデフォルトの転送上限(600秒あたり20,000メッセージまで)に引っかかったため、それ以後のログが転送されなくなった事が原因のようだ。 というわけで、以下の設定を「/etc/rsyslog.conf」に追記してサービスを再起動する。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く