openmanageでセマフォの上限値に達して値が取れない対処


dellサーバーのopenmanageの値をzabbixで取得して物理機器の監視をしているのですが
セマフォの枯渇によって取得出来ない状況が度々でます。
zabbixで値が取得出来ない為、警告が出ているのでmessegesを見てみるとこんな感じ

Aug 4 13:26:52 hogege Server Administrator (Shared Library): 1235448 0 - Data Engine A semaphore set has to be created but the system limit for the maximum number of semaphore sets has been exceeded
Aug 4 13:26:53 hogege Server Administrator (Shared Library): 1566660 - Data Engine A semaphore set has to be created but the system limit for the maximum number of semaphore sets has been exceeded
Aug 4 13:26:53 hogege Server Administrator (Shared Library): 135430 - Data Engine A semaphore set has to be created but the system limit for the maximum number of semaphore sets has been exceeded

このままではいかんので対処しました。

セマフォを使ってるのはzabbixでした。

# ipcs -s | grep zabbix | wc -l
93

ipcs -sの値はログを取り忘れました・・。

サーバーの設定を確認した所このような感じ

# ipcs -ls
------ セマフォの制限 --------
最大配列数 = 128
配列毎の最大セマフォ数 = 250
システム全体の最大セマフォ数 = 32000
semop 呼び出し毎の最大命令数 = 32
セマフォ最大値 = 32767

なのでzabbixの使用してるセマフォを解放します。
まずは、サービス停止

# systemctl stop zabbix-sever

次にzabbixのセマフォを解放

for i in `ipcs -s |grep zabbix | awk '{print $2}'`; do ipcrm -s $i; done

確認

# ipcs -s
------ セマフォ配列 --------
キー semid 所有者 権限 nsems
0x00000000 0 root 600 1
0x00000000 65537 root 600 1
0x00000000 1384480771 root 600 1
0x00000000 1384644612 root 600 1
0x00000000 1384906757 root 600 1
0x00000000 1384873990 root 600 1
0x00000000 1384742919 root 600 1
0x00000000 1384775688 root 600 1
0x00000000 1384808457 root 600 1
0x00000000 1384841226 root 600 1
0x00000000 1384939531 root 600 1
0x00000000 1384972300 root 600 1
0x00000000 1385005069 root 600 1
0x00000000 1385037838 root 600 1
0x00000000 1385070607 root 600 1
0x00000000 1385168912 root 600 1
0x00000000 1385201681 root 600 1
0x00000000 1385234450 root 600 1
0x00000000 1385299987 root 600 1
0x00000000 1385332756 root 600 1
0x00000000 1385365525 root 600 1
0x00000000 1385398294 root 600 1
0x00000000 1385431063 root 600 1
0x00000000 1385463832 root 600 1
0x00000000 1385496601 root 600 1
0x00000000 1385529370 root 600 1
0x00000000 1385562139 root 600 1
0x00000000 1385594908 root 600 1
0x00000000 1385627677 root 666 1
0x00000000 1385660446 root 600 1
0x00000000 1385693215 root 600 1
0xd95b59b9 14254112 root 666 2
0x11016565 17465377 root 644 2
0x000003d4 14319650 root 644 1

zabbixのセマフォ使用が消えました。

zabbix再起動

# systemctl start zabbix-sever

openmanageのGUIやzabbix_getでみて値が返ってくれば成功です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です