rsyslogでいらないログ出力を抑制する

rsyslogでいらないログ出力を抑制する

具体的にはmicrosoft defender for linux
時々パターンを自動的に更新してくれるのはいいんですが、これが結構な頻度で失敗する。
その度にerrorってmessagesに出してくるもんだから、監視システムが反応しまくる。

なので特定の文字列を含むログ出力を抑制することにする。

/etc/rsyslog.d/以下に適当なファイルを作成する

/etc/rsyslog.conf が設定ファイルですが、独自の設定は /etc/rsyslog.d/以下にファイルを作成してincludeしてもらうのがご作法みたい。mdatp.confってファイルを作成して以下。

#to suppress logs from microsoft-mdatp-installer.
if $msg contains 'microsoft-mdatp-installer' then /dev/null

$msgがメッセージの内容。他にもいろいろと設定項目があるのでmanpageを参照。

rsyslogdを再起動

# systemctl restart rsyslogd

redhatのサーバでなにやらエラー

redhatのサーバでなにやらエラー

zabbixで監視しているサーバで/var/log/messegesにこんな出力。

Oct 30 00:36:42 dcpsvdbx01 dbus-daemon[866]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.Avahi.service': Unit dbus-org.freedesktop.Avahi.service not found.

dbus-org.freedesktop.Avahi.serviceを上げようとしたんだけど、そんなのないってことみたい。
avahi-daemonサービスのことなんですが、それもう無効になっているみたいです。
ってことで以下処置。

  # systemctl enable avahi-daemon

yumのupdateでエラー

yumのupdateでエラー

以前にredhatで動作していて、いまはamazon ec2上のAmazon Linuxで動作しているサーバ。
yum でupdateするとこんなエラーが。

--> トランザクションの確認を実行しています。
---> パッケージ pgdg-redhat-repo.noarch 0:42.0-28 を アップデート
--> 依存性の処理をしています: /etc/redhat-release のパッケージ: pgdg-redhat-repo-42.0-28.noarch
---> パッケージ stunnel5.x86_64 0:5.58-1.amzn2.0.1 を インストール
--> 依存性解決を終了しました。
エラー: パッケージ: pgdg-redhat-repo-42.0-28.noarch (pgdg-common)
             要求: /etc/redhat-release
 問題を回避するために --skip-broken を用いることができます。
** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows:
pgdg-redhat-repo-42.0-24.noarch は次の要求が不足ています:  /etc/redhat-release

/etc/redhat-releaseがない、というとります。
そりゃredhatじゃないからないですよね。

yumでチェックしてみると、これredhat linux前提になっているパッケージみたいで、どうやって移行したかわからないのですが不要なもの。
ということで消しました。noarchリポジトリがかかれたファイルかなにかでしょう。redhat用のリポジトリなんかもともと用はない。

# yum remove pgdg-redhat-repo-42.0-28.noarch

これで正常にupdateできました。

systemdでincludeディテクティブが廃止

systemdでincludeディテクティブが廃止

messagesにこんなメッセージがでていました。

Oct 19 01:12:08 dcpsvdbx01 systemd[1]: /etc/systemd/system/postgresql-9.6.service:1: .include directives are deprecated, and support for them will be removed in a future version of systemd. Please use drop-in files instead.

RHELのどこからかincludeが廃止になったようです。
/etc/systemd/system/以下のsystemd設定ファイルに設定を付け加えたり、上書きする場合はdrop-inファイルを使えってことみたいです。

drop-inファイルをおくディレクトリを作成する。

上記の例でいうと/etc/systemd/system/postgresql-9.6.service.dを作る。

# mkdir /etc/systemd/system/postgresql-9.6.service.d

includeしていたファイルをコピーする

# cp /lib/systemd/system/postgresql-9.6.service /etc/systemd/system/postgresql-9.6.service.d

auditdがログローテでエラー

auditdがログローテでエラー

/var/log/messagesに以下エラー。

Oct 17 16:19:53 dcpsvdbx01 auditd[801]: Audit daemon rotating log files
Oct 17 16:25:56 dcpsvdbx01 auditd[801]: Error receiving audit netlink packet (No buffer space available)
Oct 17 16:25:56 dcpsvdbx01 auditd[801]: Error sending signal_info request (No buffer space available)
Oct 17 16:41:27 dcpsvdbx01 auditd[801]: Audit daemon rotating log files

おそらくバッファが足りないっぽいので増やしてあげる。

/etc/audit/rules.d/audit.rules を編集。

# Increase the buffers to survive stress events.
# Make this bigger for busy systems
#-b 10240
-b 20480

systemctlじゃ再起動できないのでserviceコマンドで停止、起動。

# service auditd stop
# service auditd start

AWS上のRHEL8立ち上げ時になにやらエラー

AWS上のRHEL8立ち上げ時になにやらエラー

課金節約のために夜間休日は停止するようにしたインスタンス。立ち上げ時にこんなエラーが/var/log/messagesにでているのをzabbixさんが見つけてくれました。

Aug  1 08:30:30 dcvsvbss02 rc.local[1159]: netlink error: no device matches name (offset 24)
Aug  1 08:30:30 dcvsvbss02 rc.local[1159]: netlink error: No such device
Aug  1 08:30:30 dcvsvbss02 rc.local[1159]: netlink error: no device matches name (offset 24)
Aug  1 08:30:30 dcvsvbss02 rc.local[1159]: netlink error: No such device

このRHELは既存環境からAWS migrationで移行したインスタンスです。
どうも /etc/rc.d/rc.local に書かれていた旧環境のネットワークインタフェイスを有効化する記述が残っていた模様。
存在しないネットワークインタフェイスに対してコマンドを叩いているのでこんなのがでているんですね。

ほっといてもいいんですが、毎度立ち上げ時にzabbixがエラーをひろってくるので/etc/rc.d/rc.localで該当部分をコメントアウト

RHEL8にpython3.8をインストールする

RHEL8にpython3.8をインストールする

RHELyumでpython3を入れるとデフォルトでは3.6.8がはいってきます。
awsをいじるのにboto3を入れたんですが、動かすとこんなワーニングがでてきます。

/usr/local/lib/python3.6/site-packages/boto3/compat.py:88: PythonDeprecationWarning: Boto3 will no longer support Python 3.6 starting May 30, 2022. To continue receiving service updates, bug fixes, and security updates please upgrade to Python 3.7 or later. More information can be found here: https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/
  warnings.warn(warning, PythonDeprecationWarning)

ほっといてもいいんですが、気持ち悪いので3.8にあげます。

python3.8をインストール

# yum install python38

alternativesでpython3を切り替え

# alternatives --set python3 /usr/bin/python3.8
# python3 -V
Python 3.8.12